LinuCレベル2 202試験の例題と解説

2.09.4Squidの設定と管理

LinuCレベル2 202試験の出題範囲から「「2.09.4 Squidの設定と管理」についての例題を解いてみます。今回はSquidのアクセス制御の設定について取り上げます。

Linucレベル2 202試験 出題範囲


例題

次のSquidのアクセス制御設定について、誤っている説明を選択してください。

acl net1 src 10.10.1.0/24
acl net2 src 10.10.2.0/24
http_access allow net1
http_access deny net2
  1. 10.10.1.1からの接続は許可される
  2. 10.10.2.1からの接続は拒否される
  3. 10.10.3.1からの接続は許可される
  4. 10.10.3.1からの接続は拒否される

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「4. 10.10.3.1からの接続は拒否される」です。

Squidのアクセス制御設定は、acl と http_access ディレクティブを使用します。

aclディレクティブ

アクセス制御リストを定義します。
aclディレクティブの書式は以下です。

acl acl名 aclタイプ 引数

aclタイプには、src(クライアントIPアドレス)やdstdomain(接続先ドメイン)等を指定することができます。

acl network01 src 192.168.0.0/16

クライアントが 192.168.0.0/16 のアクセス制御リスト

all example dstdomain www.example.com

接続先ドメインが www.exaple.com のアクセス制御リスト

http_accessディレクティブ

aclディレクティブで定義したアクセス制御リストに対して、接続許可または接続拒否の定義を行います。
http_accessディレクティブの書式は以下です。

http_access allow|deny [!]acl名 …
http_access allow network01

acl名がnetwork01であるアクセス制御リストに対して、接続を許可します。

http_access deny example

acl名がexampleであるアクセス制御リストに対して、接続を拒否します。

http_accessディレクティブのデフォルトの動作は、最後に指定した定義の逆の動作となります。

例えば、最後に指定されているhttp_accessディレクティブが http_access allow source1 のように指定されている場合、アクセス制御リストに定義されていない接続のデフォルトの動作は、deny(拒否)となります。

http_access allow source1
http_access deny source2

source1とsource2にマッチしない接続はallow(許可)される。

http_access deny source1
http_access allow source2

source1とsource2にマッチしない接続はdeny(拒否)される。

例題の選択肢について解説します。

1.10.10.1.1からの接続は許可される
正しい説明です。

10.1.1.1 は、net1のアクセス制御リストに含まれます。
net1は明示的に許可されているため、10.1.1.1からの接続は許可されます。

2.10.10.2.1からの接続は拒否される
正しい説明です。

10.1.2.1 は、net2のアクセス制御リストに含まれます。
net1は明示的に拒否されているため、10.1.2.1からの接続は拒否されます。

3.10.10.3.1からの接続は許可される
正しい説明です。

10.1.3.1 は、どのアクセス制御リストにも含まれません。
http_accessの最後の設定は http_access deny net2 であるため、デフォルトの動作はallow(許可)となります。

4.10.10.3.1からの接続は拒否される
誤った説明です。

上記の説明のように、http_accessの最後の設定は http_access deny net2 であるため、デフォルトの動作はallow(許可)となります。
従って、この説明は誤りです。

acl net1 src 10.10.1.0/24
acl net2 src 10.10.2.0/24
http_access deny net2
http_access allow net1

このように設定した場合は、10.10.3.1からの接続は拒否されます。

設定の誤りを防止するために、設定の最後には

http_access deny all
または
http_access allow all

を指定しておくとよいでしょう。

Squidのアクセス制御の設定方法を把握して、セキュアなプロキシサーバを構築できるようになりましょう。


例題作成者

株式会社デージーネット OSS研究室 大野 公善

ページトップへ