FreeBSDでsquidGuard
- 公開日: 2008/02/21(木) 07:46[JST]
特定のサイトへのアクセスを制限するコンテンツフィルタの squidGuard 。オフィスや子供のいる家庭のみならず、私のように逆引きありの固定IPを使う層にも有用であると思う。
だが、現時点では、FreeBSDでsquidGuardを使う時にはちょっと注意が必要だ。以下、備忘録もかねてやりかたを記載する。
www/squidのインストール
www/squidguardのインストール
/usr/local/etc/squid/squid.confの設定
http_access deny allの前の行に"acl localnet src x.x.x.x/255.255.255.0"と"http_access allow localnet"を追加。(x.x.x.xはクライアントのネットワークアドレス)
"url_rewrite_program /usr/local/bin/squidGuard -c/usr/local/etc/squid/squidGuard.conf"の追加 (redirect_programでは無いことに注意)
"header_access X-FORWARDED-FOR deny all"、"header_access VIA deny all"、"header_access CACHE-CONTROL deny all"、"forwarded_for off"の追加
/usr/local/etc/squid/squidGuard.confの設定
workhoursの設定
source addressの設定
個人用ブラックリストのパスを設定
アクセスコントロールに↑のブラックリストを追加。
個人用ブラックリストの設定
/var/db/squidGuardに移動
個人用ブラックリストのディレクトリ作成
作成したディレクトリにdomainsとurlsファイルを作成。
domainsファイルの編集
"/usr/local/bin/squidGuard -C all"を実行してdbファイルを作成。
/var/db/squidGuard 以下のownerの変更。(squid:squidに)
/etc/rc.confにsquid_enable="YES"を追加
"squid -z"を作成してスワップディレクトリを作成
squidの起動(/usr/local/etc/rc.d/squid start)
気を付けなきゃいけないのが、現行(squid 2.6 STABLE18)のsquid.confでは"redirect_program"という設定項目が使えないようになっていて、変わりに"url_rewrite_program"を使わなきゃいけないこと。困ったことに、squidGuardのインストール時のメッセージではいまだにredirect_programのままだ。
それから、今のFreeBSDではsquidはuser=squid、group=squidで動作するようになっているんだけど、squidGuardのほうはuser=nobody、group=nogroupでインストールされるため、/var/db/squidGuardのユーザとグループを変えないと、squidがsquidGuardのブラックリストデータベースにアクセスできず、フィルタがかからない、という点にも注意。個人用ブラックリストを更新するときも、dbファイルの更新と/var/db/squidGuardのユーザとグループ修正をおこなう。
squidGuardのMakefile(インストール時メッセージとSETUID、SETGIDの指定)は直した方がよさげなので、 send-pr してみることにする。
http://www.freebsd.org/cgi/query-pr.cgi?pr=120923
send-prしました。