hosts.deny
はTCP Wrapperと言う古い仕組みでiptablesが無かった時代にTCP/IPをIPアドレスおよびサービス単位で制御する仕組みです。次の理由によりTCP Wrapperを使わずにiptablesのみで制御することをお勧めします。
- TCP Wrapperとiptablesの両方を設定するとアクセス制限の設定箇所が分散されるため、接続が許可/拒否のどちらかなのか判断がすぐにできなくなる。
- 設定ファイルが
hosts.deny
とhosts.allow
の二つに分かれるため、一覧で確認しづらい。
- xinetd(古いLinuxではinetd)経由か、TCP Wrapperに対応したサービスソフトウェアしか対応できない。対応ソフトウェアであってもコンパイル時に無効にした場合や設定で無効にした場合は単に無視される。設定が有効かどうかは実際にアクセスしないとわからない。sshdもコンパイル時に無効にした場合等は、設定しても制限がかからない!
- DROPではなくREJECTのため、サービスが存在することがわかる。
- allowを「アロー」、denyを「デニー」とか読む奴がいて、口頭だと何のことなのか混乱する。
hosts.deny
は設定することよりもiptablesを設定してください。役割は同じであり、正しく設定してあれば、二重に設定しても安全性が増すわけではありません。あえて二重に設定する利点があるとすれば、設定や操作ミスなどでiptablesを無効にしてしまったときも、TCP Wrapper側で防ぐことができる程度です。
sshdに関するその他のセキュリティ設定については下の記事が参考になります。一読の上、可能な限り設定することをお勧めします。
そこそこセキュアなlinuxサーバーを作る - Qiita#sshd関連
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/06 23:34
2016/10/20 15:33
2016/10/20 20:39
2016/10/24 02:58