【SSH】ポート番号を変更してセキュリティを強化する方法

【SSH】ポート番号を変更してセキュリティを強化する方法 SSH

SSH 接続はデフォルトでポート 22 を使用しますが、そのままでは不正アクセスの対象になりやすく、ブルートフォース攻撃を受けるリスクが高まります。ポート番号を変更することでセキュリティを向上させ、攻撃を受けにくくすることが可能です。ここでは SSH のポート変更手順と注意点を解説します。

SSH 設定ファイルの編集

SSH のポート番号は /etc/ssh/sshd_config で設定します。管理者権限でファイルを開き、Port の行を編集します。

sudo vi /etc/ssh/sshd_config

ファイル内の以下の行を探して編集します。

#Port 22
Port 2222

上記例では、SSH ポートを 2222 に変更しています。
既存の #Port 22 のコメントを外して数値を変更する方法でも構いません。

ファイアウォールの設定を更新

新しいポート番号を使用できるように、ファイアウォール設定を変更します。例として UFW を利用している場合は以下のように設定します。

# 新しいポートを許可
sudo ufw allow 2222/tcp

# 旧ポートを許可している場合は削除
sudo ufw delete allow 22/tcp

SSH サービスの再起動

設定を反映させるには SSH サービスを再起動します。

sudo systemctl restart sshd

新しいポートでの接続確認

設定後は新しいポートを指定して接続します。

ssh -p 2222 user@server.example.com

接続が確認できたら、旧ポートのアクセスを完全に閉じると安全です。接続できない場合に備えて、別のターミナルで既存の SSH セッションを残したまま作業するのがおすすめです。

注意点

  • ポート変更はセキュリティ強化の一環ですが、根本的な対策にはならず、公開鍵認証や Fail2ban の併用が推奨されます
  • サーバー監視ツールやデプロイツールを利用している場合、新しいポート番号を反映する必要があります
  • 1024 未満のポートは予約されている場合があるため、1024 以上の任意の番号を使うのが無難です

まとめ

SSH のデフォルトポートを変更することで、自動スキャンや総当たり攻撃の対象になりにくくなります。sshd_config でポート番号を変更し、ファイアウォールとサービスを適切に設定することで、比較的簡単にセキュリティを高めることが可能です。ただし、これだけで安心せず、鍵認証やログ監視といった多層的な対策と組み合わせることが重要です。