squidguard
SquidGuardを使用してLANネットワークのコンテンツアクセスを制御してみる
SquidGuardを使用できるように設定
/etc/squid/squid.confの末尾に以下を追加
redirect_program /path/to/squidguard -c /etc/squid/squidguard.conf
squidguard.confを作成
dbhome /var/lib/squidguard
logdir /var/log/squidguard
# squidプロキシを利用できるIPを指定?
src success {
    ip 192.168.0.1
}
src failure {
}
dest test {
    domainlist local/domains
    urllist local/urls
}
acl {
    success {
        pass all
    }
    failure {
        pass none
    }
    default {
        pass !test any
        redirect http://localhost/proxy.php?url=%u
    }
}
ルールファイルを作成
/etc/squid/local/{url,domains}を作成。dbhome/localが/etc/squid/localにリンクしているので、そこに配置するのがベストかも知れません。domainsにはアクセスを拒否するドメインを指定
# yahoo.co.jpを拒否
www.yahoo.co.jp
urlsには拒否するURLを直指定
フィルターエラーページを作成
上で指定したproxy.phpを作成
<?php
    echo $_GET["url"] . " is access denied";
?>
squidを起動後、ブラウザにプロキシを指定してYahooに接続するとフィルターエラーが発生する