過去問ドリル

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サーバーとプロキシサーバー」に対応。実際の試験問題ではありません)

正解:D

解説

Squidのhttp_accessは上から順に評価され、最初に条件が一致した行の許可・拒否が適用されます。どの行にも一致しなかった場合は、最後のhttp_accessの行と逆の動作になります。この例では最後の行がallowなので、一致しない10.0.0.5からの要求は拒否されます。この挙動に頼ると行を追加したときに意図が変わりやすいため、末尾に http_access deny all を明示的に書くのが一般的です。

選択肢ごとの解説

  • A誤り。どの行にも一致しない場合の動作は許可ではなく、最後の行(ここではallow)と逆の拒否になります。
  • B誤り。http_accessは中継を許可するか拒否するかを決めるもので、ここでは要求自体が拒否されます。
  • C誤り。この2行は正しい構文で、Squidは起動します。拒否されるのはアクセス制御の評価の結果です。
  • D正しい。どの行にも一致しない要求には最後の行と逆の動作が適用され、ここでは拒否されます。
LinuCレベル2の問題を演習モードで解く