SSHに関するセキュリティの設定の続きです。前回はパスワード認証から鍵認証への変更を書きましたが、今回はPort番号の変更、rootのアクセス拒否等、設定したほうが良い項目について書きたいと思います。
2.Port番号の変更
SSHは通常、22番ポートを使用しますが、それ以外のポートを使うように変更したほうが良さそうです。鍵認証にしていても、22番ポートを使っている場合は/var/log/secureログに下記のようなアクセスが出てきます。
Oct 31 08:58:54 server sshd[1111]: Illegal user sampleuser from ***.***.***.***
2-1.sshd_confのPortを変更します。例えば22番を55555番に変更する場合は下記のように記述します。デフォルトのPortの先頭に#を付けます。
# vi /etc/ssh/sshd_conf
# Port 22 Port 55555
2-2.servicesを変更します。デフォルトのsshの先頭に#をつけます。
# vi /etc/services
# ssh 22/tcp # SSH Remote Login Protocol # ssh 22/udp # SSH Remote Login Protocol ssh 55555/tcp # SSH Remote Login Protocol ssh 55555/udp # SSH Remote Login Protocol
2-3.iptablesを変更します。これを変更しないと接続できなくなりますので注意しましょう。
# iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 555555 -j ACCEPT
2-4.sshd、xinetdを再起動します。これでポートが変更されました。
# /etc/init.d/sshd restart # /etc/init.d/xinetd restart
3.その他設定項目
3-1.rootでのログインを拒否します。sshd_confを次のように書き換えます。
PermitRootLogin no
3-2.SSHのプロトコルを制限します。
# Protocol 2,1 Protocol 2
3-3.空のパスワードを拒否します。
PermitEmptyPasswords no
3-4.Bind to port対策をします。sshd restartでsshdが再起動できない場合にログに下記のように表示される場合があります。そのメッセージが出ないように対応するには強制的にIPv4にする必要があります。その設定がListenAddress 0.0.0.0のようです。
Oct 31 11:04:03 mail sshd[11111]: error: Bind to port 55555 on 0.0.0.0 failed: Address already in use. Oct 31 11:04:03 mail sshd[11111]: fatal: Cannot bind any address.
# ListenAddress 0.0.0.0 ListenAddress 0.0.0.0
3-5.LogWatchのメールを確認します。毎日LogWatchのメールがroot宛てに届きますのでチェックします。下記のような箇所がありますので、おかしなログインが無いかチェックしておくことをお勧めします。
--------------------- SSHD Begin ------------------------ Users logging in through sshd: sampleuser logged in from ***.***.ne.jp (***.***.***.***) using password: 1 Time(s) ---------------------- SSHD End -------------------------
次回はTera Term Menuでポート番号を指定してログインする方法を書きたいと思います。
ピンバック:SSHのセキュリティ設定(パスワード認証から鍵認証へ) | 菊地崇仁ブログ「ポイ探社長のブログ」
ピンバック:Tera Term MenuでPortを指定してログイン | 菊地崇仁ブログ「ポイ探社長のブログ」