- ベストアンサー
ファイアウォールは必要?hosts.allow と hosts.deny だけではダメ?
ネットで調べたところ、次のことが分かりました。 ●TCP Wrappers (/etc/hosts.{allow,deny} で設定)は inetd または xinetdで制御されていないプロセスへのアクセスをブロックできない。 ●とはいえ、sshd, sendmail は inetd/xinetdで制御されていないものの、/etc/hosts.{allow,deny}を自ら読みに行って、ここで許可されてないアクセスは拒否することができる。 sshd や sendmail も hosts.allow と hosts.deny で守ることができるとすると、Firewall(iptables)は、なぜ必要なのでしょうか?hosts.allow と hosts.deny で守ることができないデーモンがあるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 >勘違いしていたらすみません。 >そもそも、IPレベル(hosts.*が防御)を突破できないとアプリケーションレベル(iptablesが防御?)に到達できないと思うのですが、どうでしょうか? 勘違いです。 iptablesは、カーネルの持つIP通信機能の設定を変更して、IP通信のレベルでガードします。 /etc/hosts.{allow,deny} というのは、アプリケーションが、通信相手のIPアドレスを取得して、hosts.*ファイルを読んで、通信していいかどうかを判断するものです。判断はすべて、xinetdやsendmail,sshdといったアプリケーション(カーネルではないという意味)で行っています。 iptablesの設定で蹴った場合は、アプリケーションにパケットが届きません。
その他の回答 (2)
- notnot
- ベストアンサー率47% (4900/10359)
アプリケーションレベルのガードと、IPレベルのガードなので、階層が違います。 例えば、sendmailの/etc/hosts.*を見に行く前の部分に脆弱性があって、そのセキュリティホールをつく攻撃を受けると、/etc/hosts.* にどう書いてあろうが意味がありません。
補足
勘違いしていたらすみません。 そもそも、IPレベル(hosts.*が防御)を突破できないとアプリケーションレベル(iptablesが防御?)に到達できないと思うのですが、どうでしょうか?
- linuxsuki
- ベストアンサー率0% (0/1)
iptablesで守れるものは、TCP Wrapperで守れると思いますが、 1枚の壁より2枚の壁の方が侵入が難しい、 つまりセキュリティが高いのではないでしょうか。 とある本に、 絶対ガードできるという手段は存在しないので、同種類のガードを 幾重にも重ねるのがセキュリティの鉄則! みたいなことが書いてありました。 万が一TCPWrapperを無効にされても、まだiptablesが生き残っている、 という感じでしょうか。
お礼
ありがとうございます。
補足
> iptablesは、カーネルの持つIP通信機能の設定を変更して、IP通信のレベルでガードします。 ありがとうございます。ものすごくよくわかりました! #1さんが書いていることの意味もわかりました。