CentOS 7
Sponsored Link

Squid + SquidGuard
2014/09/30
 
Squid + SquidGuard によるコンテンツフィルタリングの設定です。
家庭内や企業内でWeb閲覧者にアクセスさせたくない有害サイトを定義して、そこへアクセスがあった場合、他サイトへリダイレクトさせるようにします。
[1] SquidGuard のインストールと設定です。
# EPEL からインストール

[root@prox ~]#
yum --enablerepo=epel -y install squidGuard
[root@prox ~]#
mv /etc/squid/squidGuard.conf /etc/squid/squidGuard.conf.org

[root@prox ~]#
vi /etc/squid/squidGuard.conf
# 新規作成

dbhome /var/lib/squidGuard/db
logdir /var/log/squidGuard
# 'deny'というカテゴリを定義

dest deny {
   
# 'deny' カテゴリの禁止ドメインファイルを定義

    domainlist deny/domains
   
# 'deny' カテゴリの禁止URLファイルを定義

    urllist deny/urls
    }
acl {
    default {
       
# 'deny'以外は許可

        pass !deny all
       
# 'deny'にマッチしたときのリダイレクト先

        redirect http://www.srv.world/error.html
    }
}
[root@prox ~]#
mkdir -p /var/lib/squidGuard/db/deny

[root@prox ~]#
vi /var/lib/squidGuard/db/deny/domains
# アクセス禁止したいドメイン名を1行ずつ列挙

yahoo.co.jp
example.com
[root@prox ~]#
vi /var/lib/squidGuard/db/deny/urls
# アクセス禁止したいURLを1行ずつ列挙

www.yahoo.co.jp/deny/
www.example.com/
[root@prox ~]#
squidGuard -C all

[root@prox ~]#
chown -R squid. /var/lib/squidGuard/db/deny

[root@prox ~]#
vi /etc/squid/squid.conf
# 最終行に追記

url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
[root@prox ~]#
systemctl restart squid

[2] SELinux を有効にしている場合は、ポリシーの変更が必要です。
[root@prox ~]#
chcon -R -t squid_cache_t /var/lib/squidGuard

[root@prox ~]#
semanage fcontext -a -t squid_cache_t /var/lib/squidGuard
[3] 動作確認として、設定した禁止ドメインにアクセスし、以下のように設定通りエラーページにリダイレクトされることを確認してください。
 
Tweet