SSHのポート番号を変える

はじめに

何かしらのサーバを外部に公開したことがある方であれば分かると思うのですが、一度公開したサーバは一斉に攻撃の対象にされるという事をご存じでしょうか。その証拠に次のログを見てください。

# less /var/log/secure
Feb 18 21:50:48 ip-172-31-40-104 sshd[28139]: Invalid user user from 103.66.96.230 port 2460
Feb 18 21:50:48 ip-172-31-40-104 sshd[28139]: input_userauth_request: invalid user user [preauth]
Feb 18 21:50:49 ip-172-31-40-104 sshd[28139]: Received disconnect from 103.66.96.230 port 2460:11: Bye Bye [preauth]
Feb 18 21:50:49 ip-172-31-40-104 sshd[28139]: Disconnected from 103.66.96.230 port 2460 [preauth]
Feb 18 21:51:01 ip-172-31-40-104 sshd[28271]: Invalid user pyqt from 210.16.121.22 port 40670
Feb 18 21:51:01 ip-172-31-40-104 sshd[28271]: input_userauth_request: invalid user pyqt [preauth]
Feb 18 21:51:01 ip-172-31-40-104 sshd[28271]: Received disconnect from 210.16.121.22 port 40670:11: Bye Bye [preauth]
Feb 18 21:51:01 ip-172-31-40-104 sshd[28271]: Disconnected from 210.16.121.22 port 40670 [preauth]

これはほんの一部のログですが、知らないIPからてきとうなユーザ名でログインを試みているのが分かります。公開鍵接続のため事実上突破されない事は分かっているのですが、毎分ブルートフォースアタックされているのはあまりいい気分がしません。

対策

そこでどうするのかというと、先述の通り公開鍵でのみ接続許可をするか、sshのポート番号を変更するというのが一般的な対策となっております。次の様にポート番号を変えてみます。

# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bk
# vi /etc/ssh/sshd_config
# diff /etc/ssh/sshd_config.bk /etc/ssh/sshd_config
# diff /etc/ssh/sshd_config.bk /etc/ssh/sshd_config
17c17
< #Port 22
---
> Port 50022
# systemctl restart sshd

firewalldやセキュリティグループの設定から既存のsshを削除し、50022ポートを追加して下さい。変更したポート番号にして接続が出来れば成功です。

# netstat -anp | grep ssh
tcp        0      0 0.0.0.0:50022           0.0.0.0:*               LISTEN      24377/sshd
tcp        0     36 172.31.40.104:50022     xxx.xxx.xxx.xxx:63932   ESTABLISHED 27897/sshd: centos
tcp        0      0 172.31.40.104:22        xxx.xxx.xxx.xxx:50501   ESTABLISHED 4792/sshd: centos [
tcp6       0      0 :::50022                :::*                    LISTEN      24377/sshd

netstatコマンドのオプション覚書き↓

  • -a
    • 全接続表示
  • -n
    • 名前解決せず数字表示
  • -p
    • 各ソケットが使用しているプロセスIDとプログラム名を表示

接続が確立されました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA