過去、ssh専用ハニーポットKippo を使って、SSH経由でサーバに侵入しようと試みるクラッカーの動向を追った。
今回は、実際サーバを管理する際に、セキュリティ対策の一つとして有効であるsshの接続ポートを変更する方法をご紹介。
ちなみにSELINUXを使うともっとセキュリティを高める事が出来るが、敷居が高い方も多く無効にしてる方も多いようなので、SELINUXを無効にしている場合の説明をさせていただく。
sshd_configの設定変更
/etc/ssh/sshd_config
の Portの設定がデフォルトだとコメントになっているので、このコメントを解除し、好きなポート番号を設定する。今回は22222
とした。
設定変更前
1
2# cat /etc/ssh/sshd_config | grep ^#Port
#Port 22設定変更後
1
2# cat /etc/ssh/sshd_config | grep ^Port
Port 22222
変更した設定を反映
sshdを再起動
設定変更が完了したら、ファイルを保存し、sshdを再起動する。
1 | # systemctl restart sshd.service |
反映確認
ss
コマンドで変更したポートでListen出来ているか確認する。正常にできている事を確認。1
2
3# ss -lntp | grep 22222
LISTEN 0 128 *:22222 *:* users:(("sshd",2457,3))
LISTEN 0 128 :::22222 :::* users:(("sshd",2457,4))外部から接続を確認する。
以下のメッセージで接続出来ない事がある。
1 | port 22222: Connection refused |
おそらくそれはfirewalld
が 22222
のアクセスを許可してないからだ。22222ポートのアクセスを許可してあげよう。
firewalld で 22222
の接続を許可してあげる。
設定方法は以下の通り。
1 | # firewall-cmd --permanent --add-port 22222/tcp |
これで接続できる事を確認できればOK!