Linux で SSH / TCP のポート 22 を変更する
SSH が利用するポート番号は一般には 22 番です。 標準の番号 22 のままの場合、ブルートフォース(総当たり) などの攻撃の対象となりやすいです。
鍵認証などのシステムを導入すれば、ブルートフォースによる攻撃は防ぐことができます。 しかしながらポート番号が 22 番のままであれば、22 番ポートへの攻撃のアクセスは残り、サーバのパフォーマンスに影響を及ぼします。 そこでポート番号を任意のほかの番号に変更し、ファイアウォールで 22 番ポートへのアクセスを遮断してしまいます。
ターミナルソフトや外部に連携するソフトウェア/アプリケーション/サービスの類が 22 番ポートの設定を利用している場合、 ポート番号を変更した時点で不具合を起こします。十分に注意してください。
変更した SSH のポート番号は忘れないようにしてください。 ターミナルソフトなどに記憶させてしまえばよいですが。
sshd_config を編集して適用する
/etc/ssh/sshd_config ファイルを編集します。
vi /etc/ssh/sshd_config
ファイルの先頭の方に項目「#Port 22
」が見当たります。
その下に新たに任意の番号を指定した「Port」を書き加えて更新しましょう。
ただし設定する番号はウェルノウンポート(well-known)以外のポート番号にします。 一般には 1024 以降の番号であれば良いとされていますが、安全のため 32768 ~ 61000 の番号を指定するのが良いと思います。 この範囲の値は、Linex 系システムの標準的な推奨ポート番号です。 不安であれば指定する番号が Wikipedia のページ「TCPやUDPにおけるポート番号の一覧」に掲載されていないかチェックするのが良いでしょう。 (Ctrl + F で) ここではとりあえず「33333」にします。
…
#Port 22
Port 33333
…
編集を終了したら、次のコマンドで編集内容を反映します。
/etc/rc.d/init.d/sshd reload
Reloading sshd: [OK]
分かりやすいシンプルな番号の場合、22 番ポートと同様に攻撃の対象となることがあるようです。 例えば「12345」は過去に攻撃の例がありますね。