Ubuntu+PerlでWebシステム開発 環境構築

  • Ubuntu20
  • Ubuntu18
  • Ubuntu16

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