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 してみることにする。
![[archive]](/static/archive.png) を付与しています。
を付与しています。
http://www.freebsd.org/cgi/query-pr.cgi?pr=120923
send-prしました。