110.2標準
TCP Wrappers対応daemonへの接続が来た。
/etc/hosts.allowと/etc/hosts.denyの両方に一致するruleがある。
標準的な評価結果はどれか。
× 不正解
TCP Wrappersはhosts.allowを先に調べ、一致すれば許可する。一致しなければhosts.denyを調べ、どちらにも一致しなければ通常許可する。
詳細解説
誤りhosts.denyが常に先に評価される
標準の評価順と逆である。
誤り。標準ではhosts.allowを先に評価し、allow matchがあればdenyへ進まない。
誤り両方一致すると必ず拒否される
hosts.allowの最初の一致が優先される。
誤り。両方に一致しても先に評価されるhosts.allowのmatchで許可が決まる。
正しいhosts.allowの一致で許可され、hosts.denyは評価されない
allowを先に評価し一致すると決定する。
正しい。hosts.allowの最初の適合ruleで許可され、そのaccessについてhosts.denyは参照しない。
誤り最後に書かれたruleがfileをまたいで優先される
2 fileを単一listとして最終一致評価しない。
誤り。2 fileを結合して最後のruleを選ぶのではなく、file順に最初の決定を行う。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s
' '1 hosts.allow: match -> allow' '2 hosts.deny: match -> deny' '3 no match -> allow'期待される結果
1 hosts.allow: match -> allow
2 hosts.deny: match -> deny
3 no match -> allow理解のポイント
- allowを先に評価
- first matching fileで決定
- 両方不一致は通常許可
確認時の注意
- 確認環境: TCP Wrappers評価順の表示のみ
基礎のおさらい
default deny
allowへ必要な例外を置き、denyへALL : ALLを置くとallowlist型policyになる。
rule検証
daemon/client token、DNS依存、EXCEPT等で誤りやすいためtest toolやlogで意図を確認する。
問題IDKP-110-871
確認環境TCP Wrappers評価順の表示のみ
最終技術確認2026-08-13
誤り・権利侵害を報告