SSHのポートを変更する - デフォルトの22番ポートはセキュリティ的に危険が高い
SSHポートを変更する方法を解説します。デフォルトの22番ポートはセキュリティ的に危険が高いので、異なる番号に変えておきましょう。
SSHサーバーの設定ファイルは以下にあるので、viで開きます。
cd /etc/ssh sudo vi sshd_config
次に以下の行を見つけてください。ポート番号がコメントアウトされています。この場合はデフォルトの22番ポートになります。
#Port 22
ポート番号を変更しましょう。今回は、一行下にポート番号の指定を55550にしました。
#Port 22 Port 55550
Escをおして「:wq」と入力後Enterで保存して終了します。
SSHサーバーの再起動
設定ファイルを反映させるために、systemctlコマンドで、SSHサーバーを再起動します。
sudo systemctl restart sshd
再起動されたのを確認します。
sudo systemctl status sshd
ここで、大事なことは、現在のSSHの接続を切らないことです。変更したポートで接続できることが確認できるまで、現在の接続を維持しておきましょう。そうすれば、SSHサーバーの設定間違いがあった場合に、修正することができます。
もし、SSHで接続することが、不可能になってしまった場合は、VPSやパブリッククラウドのWeb管理画面には、必ずコンソールという機能がありますので、その画面から、SSHの設定ファイルを修正しましょう。
22番ポートは、どれくらいセキュリティ的に危険なの?
よく知られたクラウドサービスの場合は、世界中からの攻撃者が大量に存在すると考えてください。侵入しようとしている悪い人がたくさんいます。
22番ポートは、デフォルトのSSHポートなので、インターネットから、ポートスキャニングされています。家の鍵はどんな感じだろうとチェックしています。
次に、IDとパスワードを試してきます。まぁいわゆる、ピッキングですね。
IDとパスワードを検出したら、侵入してきます。
侵入されると、そのユーザーで可能なことはなんでもできます。踏み台サーバーとして利用したり、勝手にコマンドを実行されたりします。
そのユーザーがsudoユーザーであったら、さぁ大変。すべてのファイルを書き換えることができますし、悪意のあるプログラムを配置できます。
調べる側は、どこに悪意のあるプログラムが設置されたかは、簡単にはわかりません。
そうなると、本当の意味でのセキュリティの完全な復旧は、サーバー再構築です。これは、大変な作業です。
SSHのデフォルトポートを変更しない場合は、上記のようなリスクがあります。
何番ポートにしたらいいの?
ウェルノウンポート(0–1023)以外で、自分のWebアプリケーションが使うポート番号(たとえば、3000と8080をWebアプリで使う)と被らない、65535より小さな値にしましょう。
MaridDBやRedisなどのサーバーアプリケーションのデフォルトのポート番号も避けておくのがよいでしょう。
以下は、SSHのポート番号の例です。
20000 20405 54938