LinuCレベル2 Webサーバーとプロキシサーバー 問35
Webサーバーとプロキシサーバー/Squidの設定と管理squid.confのアクセス制御が次の2行だけで、ほかにhttp_accessの行は無い。192.168.1.0/24に属さない10.0.0.5のクライアントがこのプロキシを使ったときの動作として適切なものはどれか。 acl office src 192.168.1.0/24 http_access allow office
当サイトのオリジナル問題(LinuCレベル2の出題範囲「Webサーバーとプロキシサーバー」に対応。実際の試験問題ではありません)
- A許可される。拒否する行が無いので、どの行にも一致しない要求は通過する
- B許可されるが、srcに一致しないため応答はキャッシュされずに中継される
- C拒否される。ただし、それはsquid.confの構文エラーでSquidが起動しないためである
- D拒否される。どの行にも一致しない要求には、最後の行と逆の動作が適用される
正解:D
解説
Squidのhttp_accessは上から順に評価され、最初に条件が一致した行の許可・拒否が適用されます。どの行にも一致しなかった場合は、最後のhttp_accessの行と逆の動作になります。この例では最後の行がallowなので、一致しない10.0.0.5からの要求は拒否されます。この挙動に頼ると行を追加したときに意図が変わりやすいため、末尾に http_access deny all を明示的に書くのが一般的です。
選択肢ごとの解説
- A誤り。どの行にも一致しない場合の動作は許可ではなく、最後の行(ここではallow)と逆の拒否になります。
- B誤り。http_accessは中継を許可するか拒否するかを決めるもので、ここでは要求自体が拒否されます。
- C誤り。この2行は正しい構文で、Squidは起動します。拒否されるのはアクセス制御の評価の結果です。
- D正しい。どの行にも一致しない要求には最後の行と逆の動作が適用され、ここでは拒否されます。