Debian etch on 玄箱: squidGuard

玄箱の設定は終わった、かと思ったが、squidGuardの設定でちとつまづいたのでメモっておく。

FreeBSDだと標準でブラックリストがインストールされているのだけど、Debianだと自分でインストールしなきゃならない。そこで、sourceforge.jpのsquidGuardの記事を参考に、ブラックリストをインストールしてみた。

aptでsquigGuardをインストールしたら、次はShalla Secure Servicesからブラックリストを取得して適当なフォルダに解凍(ちなみに、wgetがまだインストールされていないことにこの時気づいた)。解凍すると、BLディレクトリができるので、その下の全てのディレクトリを /var/lib/squidguard/db/ にコピー(BLディレクトリ自身はコピーしない)。続いて、コピーしたディレクトリとその下のファイルの所有者を squid:squid に変更。

そして、 /etc/squid/squidGuard を編集。ブラックリストは、まず``/var/lib/squidguard/db/`` の下に項目名のディレクトリがずらずらっとならんでいて、そのディレクトリの下に domainsurls という、ブラックリストのドメインとURLが記録されたテキストファイルが保存されている。このファイルをBerkley DB形式に変換したものを、squidGuardは読み取って使用する。

そのために、まず domainsurls をBerkley DB形式に変換する必要がある。変換は、変換対象の項目名を /etc/squid/squidGuard.conf に登録して、 squidGuard -C all を実行すればよい。うちの場合、フィルタリングするのは、downloads, drugs, gamble, hacking porn, sex, spyware, tracker, violence, warezくらいなので、以下のように squidGuard.conf を設定した。xxx.xxx.xxx.xxx/yyは適当にLANのネットワークアドレスとサブネットマスクに置き換えてください。

#
# CONFIG FILE FOR SQUIDGUARD
#

dbhome /var/lib/squidguard/db
logdir /var/log/squid

#
# SOURCE ADDRESSES:
#
source sample-clients {
   ip xxx.xxx.xxx.xxx/yy
}

#
# DESTINATION CLASSES:
#

dest downloads {
      domainlist downloads/domains
      urllist downloads/urls
}

dest drugs {
      domainlist drugs/domains
      urllist drugs/urls
}

dest gamble {
      domainlist gamble/domains
      urllist gamble/urls
}

dest hacking {
      domainlist hacking/domains
      urllist hacking/urls
}

dest porn {
      domainlist porn/domains
      urllist porn/urls
}

dest sex {
      domainlist sex/lingerie/domains
      urllist sex/lingerie/urls
}

dest spyware {
      domainlist spyware/domains
      urllist spyware/urls
}

dest tracker {
      domainlist tracker/domains
      urllist tracker/urls
}

dest violence {
      domainlist violence/domains
      urllist violence/urls
}

dest warez {
      domainlist warez/domains
      urllist warez/urls
}

acl {
     sample-clients {
         pass     !downloads !drugs !gamble !hacking !porn !sex !spyware !tracker !violence !warez any
     } else {
         pass     any
     }

     default {
         pass     none
         redirect http://admin.foo.bar.no/cgi/blocked?clientaddr=%a+clientname=%n+clientident=%i+srcclass=%s+t argetclass=%t+url=%u
     }
}

コメント(0)



Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。