さて、子供向けのアクセス制限の Proxy の設定が完成。 最近、マリオ&ゲームの検索で、YouTube で他人のゲーム風景動画を見るのが 好きだったみつくんは、文句言うだろうなぁ...
目標は当初のとおり、既存の 8080 ポートの squid を動かしつつ、 子供向けのアクセス制限 Proxy を 8081 で動かすこと。 先日の失敗は、squid-2.6.18 より squidGuard を呼び出すための設定が redirect* でなく、url_rewrite* になっていたこと。
≪ インストール ≫ # aptitude install squidguard
≪ /etc/squid/squid.conf ≫ # 2つのポートで Squid を動かす http_port 8080 http_port 8081 # 接続してくるポートが 8081 なら squidGuard に redirect する。 acl proxy_normal myport 8080 acl proxy_guard myport 8081 acl SSL_ports port 443 563 acl localhost src 127.0.0.1/255.255.255.255 acl all src 0/0 # 無駄があるような... # https等は rewriter に送らない(甘いか?) url_rewrite_access deny SSL_ports # 自分自身は rewriter に送らない。 url_rewrite_access deny localhost # 8081 ポート以外は、rewriter に送らない → 8080 は rewriter に送らない。 url_rewrite_access deny !proxy_guard # その他は、rewriter に送る → 8081 は rewriter に送る url_rewrite_access allow all url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
≪ /etc/squid/squidGuard.conf ≫ dbhome /var/lib/squidguard/db logdir /var/log/squid time work-hours { weekly mtwhf 08:00-17:30 } time kids-hours { weekly smtwhfa 05:30-22:00 } src local-clients { ip 127.0.0.1 192.168.2.0/24 } dest good { domainlist good/domains urllist good/urls expressionlist good/expressions } dest porn { domainlist porn/domains } acl { local-clients within kids-hours { pass good !porn none # 許可ページ以外は、kids.goo.ne.jp で表示のOK/NGを判断させる。 redirect http://search-kids.goo.ne.jp/cgi-bin/kgbody.php?TP=%u } default { pass good !porn none redirect http://192.168.2.2/system/sg.php?url=%u } }
≪ /var/www/system/sg.php ≫このページは表示できません。 このページは表示できません
このページは、アクセス制限により表示できません。
≪ /var/lib/squidguard/db/good/domains ≫ kids.goo.ne.jp search-kids.goo.ne.jp その他許可するドメイン
≪ /var/lib/squidguard/db/good/urls ≫ kids.goo.ne.jp search-kids.goo.ne.jp その他許可する URL
≪ /var/lib/squidguard/db/good/expressions ≫ \.css$ ^([a-z]+)://[a-z0-9_.-]+\.ac\.jp ^([a-z]+)://[a-z0-9_.-]+\.ed\.jp その他許可する正規表現追記(2008/05/27):
/var/lib/squidguard/db/* を触ったら、*.db を更新するために、
'squidGuard -C all' を実行すること。
"redirect" の設定により、ホワイトリスト以外は、kids.goo.ne.jp に表示を判定させる。 この時の技として、good/expressions でスタイルシート(*.css)はアクセス制限させない点。 "kids.goo.ne.jp" にてスタイルシートファイルに変な変換がはいるのか、 ページのレイアウトが崩れるのを防ぐため。
仕上げ
最後の仕上げとして、 みつくんとあゆちゃんの login にて、IE,Firefox の Proxy のポート設定を 8081 に設定。
アクセス制限方針は、
通常は、自分の login でひとまず自由に使わせる。 見れないページがあったら、Proxy 8080 設定の共有アカウントで、 パパママのいる時にアクセスしてもらう....
今後は...
- kids-hours の設定も見直しして、アクセスできる時間帯指定を増やす。
- Wii 向けのアクセス許可を作り、Wii の Proxy 設定も制限付きの 8081 に変更。
- 大きくなって Proxy の意味や変更方法を解ってきたら、 ルータで proxy 以外の http を遮断し、8080 ポートを認証付きに変更。
- さらに大きくなって、Proxy サーバの設定ができるようになったら、 アクセス制限卒業だな...