squid で特定のサイトをアクセス拒否する
2005-7-5 13:43
squid により、特定サイトのアクセスを拒否する方法です。squid.conf を編集します。まずはアクセスコントロールリスト (acl) を定義します。
acl blacklist dstdomain "/etc/squid/blacklist" acl blacklist_regex url_regex "/etc/squid/blacklist_regex"
つぎに /etc/squid/blacklist で定義したブラックリストのファイルに、アクセスを拒否したいサイトを記述します。blacklist にはドメインを列記します。
# blakclist .1ch.tv .2ch.net chat.livedoor.com chat.yahoo.co.jp www.example.com ……
. (ドット)で始めることにより、サブドメインを含めた指定ができます。また blacklist_regex には、サイトを正規表現で記述します。
# blacklist_regex ^http://example.com/hoge/ ^http://example.net/.*\.mpg$ ……
次に、http_access で acl を拒否する設定とします
http_access allow localhost http_access deny blacklist http_access deny blacklist_regex http_access allow our_networks http_access deny all
http_access は先に指定した者から解釈されるので、順番をよく考える必要があります。all を指定するのは一番最後になります。squid の設定を再読込します。
# service squid reload
これで指定したサイトにアクセスすると、アクセス拒否画面が表示されます。
この拒否画面はカスタマイズすることができます。squid.conf の error_directory で指定されたディレクトリにある ERR_ACCESS_DENIED というHTML ファイルを変更すれば、カスタマイズされた画面を表示させることが可能です。
コメントはまだありません
No comments yet.
Sorry, the comment form is closed at this time.