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

これで指定したサイトにアクセスすると、アクセス拒否画面が表示されます。

20050705_access_deny.png

この拒否画面はカスタマイズすることができます。squid.conf の error_directory で指定されたディレクトリにある ERR_ACCESS_DENIED というHTML ファイルを変更すれば、カスタマイズされた画面を表示させることが可能です。

コメントはまだありません

No comments yet.

Sorry, the comment form is closed at this time.

68 queries. HTML convert time: 1.230 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン