ロリポップ固定IPアクセス byGMOペパボ
SSHを安全に公開する方法:公開鍵・踏み台・ポート変更より大事なこと

SSHを安全に公開する方法:公開鍵・踏み台・ポート変更より大事なこと

基礎知識

リモートワークが浸透した今、SSHサーバーをインターネットに公開しなければならない場面は多くあります。 しかし「SSHを安全に公開するなら、ポート番号を変更する」「踏み台サーバーを使う」というのは、表面的な対策に過ぎません。 本当に重要なのは、認証の仕組み自体をセキュアにすることです。 この記事では、SSHを安全に公開するために本当に大切なセキュリティ対策をご紹介します。

⇒【ロリポップ!固定IPアクセス】 月額490円、すぐに使えて最大2ヶ月間無料!

SSHの脅威:パスワード認証の危険性

SSHサーバーがインターネットに公開されると、まず第一の脅威となるのがブルートフォース攻撃です。

ブルートフォース攻撃とは、複数のパスワード候補を試し続ける攻撃手法です。 インターネットに公開されたSSHサーバーは、攻撃者から常時アクセスされる可能性があります。 実際のサーバーログには、毎日数万回のログイン試行が記録されることも珍しくありません。

パスワード認証を使用している場合、攻撃者は以下のような手法でアクセスを試みます。

これらの攻撃が成功すれば、攻撃者はサーバーへの完全なアクセス権を得てしまいます。

ポート変更と踏み台:表面的な対策の限界

セキュリティ担当者から「ポート番号を22番から別番号に変更しましょう」というアドバイスを受けることがあります。 確かに、SSHのデフォルトポート(22番)を避けることで、スキャンツールに引っかかる確率は低下します。 しかし、これは本当の対策ではありません。

攻撃者は、以下の方法でポート番号を特定できるからです。

つまり、ポート番号の変更は「気付かれにくくする」だけで、「攻撃されない」わけではありません。

同様に、踏み台サーバーを経由してアクセスする方法も、追加のセキュリティレイヤーを提供しますが、根本的な解決策ではありません。 踏み台サーバー自体がセキュアでなければ、その奥のサーバーも危険にさらされます。

本当に重要なセキュリティ対策:公開鍵認証

SSHを安全に公開する上で、最も重要なのは公開鍵認証の導入です。

公開鍵認証とは、暗号学的に関連付けられた2つの鍵を使用する認証方式です。

公開鍵認証の仕組み

公開鍵認証でのログイン手順は以下の通りです。

最大のメリットは、秘密鍵そのものがネットワーク上を行き来しないという点です。 パスワード認証では、毎回パスワードをサーバーに送信する必要があります。 これに対し、公開鍵認証では署名の有効性を検証するだけで、秘密鍵の内容は一度も送信されません。

パスワード認証との比較

項目パスワード認証公開鍵認証
ネットワーク送信物パスワード本体デジタル署名のみ
盗聴への対策必要署名の再利用が不可能
ブルートフォース攻撃非常に脆弱事実上不可能
ユーザビリティパスワード覚える必要あり秘密鍵ファイルを管理

公開鍵認証の設定方法

では、実際に公開鍵認証を設定する手順を確認しましょう。

ステップ1:クライアント側でキーペアを生成

まず、ユーザーのPC上でキーペア(秘密鍵と公開鍵)を生成します。

ssh-keygen -t ed25519 -C “user@example.com” このコマンドで、.ssh/id_ed25519(秘密鍵)と.ssh/id_ed25519.pub(公開鍵)が生成されます。 ed25519は最新のセキュアなアルゴリズムです。

ステップ2:公開鍵をサーバーに登録

生成した公開鍵をサーバーの~/.ssh/authorized_keysに追加します。

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@example.com

ステップ3:SSHサーバーの設定を変更

サーバー側の/etc/ssh/sshd_configでパスワード認証を無効化し、公開鍵認証のみを許可するようにします。

PasswordAuthentication no PubkeyAuthentication yes 設定を反映させるため、SSHサーバーを再起動します。

sudo systemctl restart sshd

ステップ4:秘密鍵のアクセス権限を確認

秘密鍵ファイル(~/.ssh/id_ed25519)のアクセス権限は、ユーザーだけが読み取り可能な600になっている必要があります。

chmod 600 ~/.ssh/id_ed25519

秘密鍵の管理:もう一つ大切なこと

公開鍵認証を導入しても、秘密鍵の管理がずさんであれば、セキュリティは台無しです。 秘密鍵は、パスワード同様に「絶対に盗まれてはいけない」ものです。

秘密鍵を守るためのベストプラクティス

その他の補完的なセキュリティ対策

公開鍵認証を基本としつつ、さらに強化するための対策もあります。

IP制限の併用

サーバーへのアクセス元を特定のIPアドレスに限定することで、攻撃面をさらに狭めることができます。 ファイアウォールやセキュリティグループで、許可するIPアドレスのみを指定しましょう。

踏み台サーバーの活用

リモートワーカーの場合、プロバイダの乗り換えなしに固定IPアドレスを利用できるVPNサービスを使用して、社内ネットワークに接続してからSSHにアクセスする方法も有効です。 このアプローチにより、パブリックネットワークからの直接的なアクセスを避けられます。

ログ監視

SSHのログを継続的に監視し、不審なログイン試行を検出することも重要です。

固定IPで安全なアクセス環境を実現するなら「ロリポップ!固定IPアクセス」

ロリポップ!固定IPアクセスは、今お使いのインターネット回線をそのまま活かして固定IPアドレスを利用できるVPNサービスです。 月額539円(税込)から、初期費用0円・最大2ヵ月無料で始められます。 WireGuardによる高速接続で、VPN特有の速度低下も気になりません。 IP制限をかけたい社内システムやクラウドサービスへのアクセス管理にぴったりです。 プロバイダの乗り換えも不要で、申し込んだその日から利用できます。

ロリポップ!固定IPアクセスの詳細はこちら

おすすめの記事

どこからでも簡単に
固定IPアドレスでアクセス

導入相談