TCP Wrapperを利用してSSHにログインできるIPを制限します。
設定ファイルは
/etc/hosts.deny (拒否するIP/ホストを設定)
/etc/hosts.allow (許可するIP/ホストを設定)
の二つです。
この設定ファイルで制御できるプロセスは次の二つです。
- xinetd で制御されているプロセス
- configure時に TCP Wrapper を使うと指定されたプロセス(←SSHはこっち)
SSHはxinetdで制御されてないけども、自分でhosts.{deny,allow}を読み込むみたいです。
設定は全ての接続を拒否して、指定したIPを許可するという流れが一般的です。
全てのアクセスを拒否
/etc/hosts.denyに下記を追記します。
sshd : all
指定したIPからのアクセスを許可
/etc/hosts.allowに下記を追記します。
sshd : 100.100.100.100 sshd : 192.168.1.1
TCP Wrapperで制御した場合はアプリケーションレベルでのアクセス制御になるので、IPレベルで制御したい場合はiptablesを設定する必要が有ります。
※本当はTCP Wrapperとiptables両方設定した方が良いのでしょうね。