hosts.allowとhosts.deny書き方
VPSでサーバを運用しているとひたすらSSHへの不正アクセスが続きますので、VPSでのSSHはできる限りIPアドレスで限定しておいたほうがよいと思います。
ここではssh でのログインなどを特定のIPアドレスからのみ許可するようにしてみます。
適用順としてhosts.allowが適用されたあと、hosts.allowに記載のないアドレスがhosts.denyで処理されます。なのでhosts.allowで全許可、hosts.denyで全許可すると結局全許可されてしまいますので、気をつけて設定ください。
まずは/etc/hosts.allowに許可するIPアドレスたちを列挙します。
FQDN名、IPアドレス(サブネット区切り)、hostsファイル内、外部ファイルなどで設定できますね。
DNS逆引きしたときのFQDNの一番うしろがexample.comだったら許可とか
sshd : .example.com
IPが192.168.0.0/16 からだったら許可とか
sshd : 192.168.
192.168.1.1だったら許可とか
sshd : 192.168.1.1
hostsに手書きしたコンピュータ名でもいけますね。
sshd : PC1
(hosts内で
192.168.1.1 PC1
とか設定)
でその後で/etc/hosts.denyを設定します。設定の反映は即時ですので、まずはhosts.allowをしっかり設定してください。
/etc/hosts.denyの設定
sshd : all
で全拒否になります。
許可したいIPや禁止したいIPがあまりにもたくさんある場合は外だしファイルで対応するのが良いかと思います。
例えば日本国内からだけSSH許可する場合は日本のアドレスを集めた(これがちょっと簡単ではないですが。。)/etc/JAPAN.allow というファイルを作成し、/etc/hosts.allowに
sshd : /etc/JAPAN.allow
と書けばOKです。
現実的には個人では固定IPアドレスを持っていることは少ないですので、自分のりようしているインターネット接続サービスのIPレンジやDNS逆引きでのFQDNを指定するのが現実的な対応かなと思います。