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両方設定した方が良いのでしょうね。