squidGuard
妻より「家庭内LANからインターネットへの接続制限をして欲しい。
子供たちがヘンなサイトを見始めている。
技術者なんだから出来るわよね???」
と言われ、
”安心ネット”もどきを、Squid で構築しようと思った。
はじめは、 SuSEfirewall, もしくはiptables で表現しようとして悩んでいた。
が、SquidGuard を使うとカンタンに出来るようだ。
/* 参照 */
Proxy サーバ構築ガイド
SquidGuardインストール
SuSE9 でフルインストールを選択した場合、デフォルトで以下がインストールされている。
squidGuard-1.2.0-373.1
squid-2.5.STABLE5-42.13
基本コマンド
でsquid がスタートする。(悩むことなくカンタン!)
プロキシは localhost に使用されデフォルトポートは 3128 である。
初期設定だと外部クライアントはアクセスを拒否されるので、
/etc/squid/squid.confのカスタマイズが必要である。
/usr/sbin/rcsquid reload オプションのリロード
/usr/sbin/rcsquid restart 再起動
/usr/sbin/rcsquid status スタータス確認
Squidの設定
/etc/squid/squid.conf
主要オプション
http_port 3128
Squid がクライアントリクエストをリスニングするポート番号
cache_peer
ISPのプロキシを使用する親プロキシなどを入力。
cache_mem 8MB
Squid でキャッシュされるメモリ。デフォルト8MB
cache_dir ufs /var/cache/squid/ 100 16 256
すべてのオブジェクトを格納するディレクトリ。
末尾の数字は
1) 使用される最大ディスク領域(単位MB)
2) 第一レベルディレクトリ数
3) 第2レベルディレクトリ数
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
メッセージログのパス
などなどあるが、重要なのはACL設定。
プロキシサーバへの接続は
http_access allow localhost
http_access allow family
acl family src 192.168.1.0/255.255.255.0
とする。「family」は家庭内LANのことだ。
エラーログ
/var/squid/logs/cache.log
クライアント側の設定
・IE
[ツール]-[インターネットオプション]
[接続]-[LANの設定]ボタン
[プロキシサーバ]の設定で、
アドレス 192.168.1.1
ポート 3128
を設定すると、 /var/log/squid/access.logにログが記されるようになる
squidが正常に起動し始めた!
SquidGuard でブラックリストを作成する。
さて、いよいよクライアント(妻)依頼の有害サイトブロック設定の実装だ。
redirect_program /usr/sbin/squidGuard
を記述する。
/var/lib/squidGuard/db/blacklist ディレクトリ以下に
ブラックリストを設定する
ユーザローカル定義は
/var/lib/squidGuard/db/blacklist/duka_local
などに記述すればよいらしい。非常にカンタンである。
また、
/etc/squidguard.conf を編集する必要がある!
ブラックリストも定期的に更新・配布されているようであった。
/* squidGuard ブラックリスト */
===========================
※フィルタリング参照ページ
===========================
http://ozu.cc.kochi-u.ac.jp/~fuchu/f-net/filter.html
▼squidGuard ローカル blacklist 編集
Apache2の設定。
DocumentRoot などは
/etc/apache2/default-server.conf
を編集する。
参照
http://www.aconus.com/~oyaji/suse/apache_suse.htm
▼ squid の purge
/usr/local/squid/bin/client -m purge http://www.ruby-lang.org/ja/index.html