Debian etch on 玄箱: squidGuard
- 公開日: 2008/11/02(日) 15:04[JST]
- 更新日: 2021/02/13(土) 18:53[JST]
玄箱の設定は終わった、かと思ったが、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/`` の下に項目名のディレクトリがずらずらっとならんでいて、そのディレクトリの下に domains と urls という、ブラックリストのドメインとURLが記録されたテキストファイルが保存されている。このファイルをBerkley DB形式に変換したものを、squidGuardは読み取って使用する。
そのために、まず domains と urls を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
}
}
を付与しています。