プロが教える店舗&オフィスのセキュリティ対策術

ネットで調べたところ、次のことが分かりました。

●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 で守ることができないデーモンがあるのでしょうか?

A 回答 (3件)

#2です。


>勘違いしていたらすみません。
>そもそも、IPレベル(hosts.*が防御)を突破できないとアプリケーションレベル(iptablesが防御?)に到達できないと思うのですが、どうでしょうか?

勘違いです。
iptablesは、カーネルの持つIP通信機能の設定を変更して、IP通信のレベルでガードします。
/etc/hosts.{allow,deny} というのは、アプリケーションが、通信相手のIPアドレスを取得して、hosts.*ファイルを読んで、通信していいかどうかを判断するものです。判断はすべて、xinetdやsendmail,sshdといったアプリケーション(カーネルではないという意味)で行っています。

iptablesの設定で蹴った場合は、アプリケーションにパケットが届きません。

この回答への補足

> iptablesは、カーネルの持つIP通信機能の設定を変更して、IP通信のレベルでガードします。

ありがとうございます。ものすごくよくわかりました!
#1さんが書いていることの意味もわかりました。

補足日時:2009/08/14 02:40
    • good
    • 0

アプリケーションレベルのガードと、IPレベルのガードなので、階層が違います。



例えば、sendmailの/etc/hosts.*を見に行く前の部分に脆弱性があって、そのセキュリティホールをつく攻撃を受けると、/etc/hosts.* にどう書いてあろうが意味がありません。

この回答への補足

勘違いしていたらすみません。

そもそも、IPレベル(hosts.*が防御)を突破できないとアプリケーションレベル(iptablesが防御?)に到達できないと思うのですが、どうでしょうか?

補足日時:2009/08/11 11:57
    • good
    • 0

iptablesで守れるものは、TCP Wrapperで守れると思いますが、


1枚の壁より2枚の壁の方が侵入が難しい、
つまりセキュリティが高いのではないでしょうか。

とある本に、
絶対ガードできるという手段は存在しないので、同種類のガードを
幾重にも重ねるのがセキュリティの鉄則!
みたいなことが書いてありました。
万が一TCPWrapperを無効にされても、まだiptablesが生き残っている、
という感じでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2009/08/10 18:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!