製品紹介

squidGuard
公式HP:http://www.squidguard.org/
インストール:http://www.squidguard.org/Doc/install.html
ブラックリスト:http://www.squidguard.org/blacklists.html

目次

1.概要

2.事前準備

3.squidインストール・設定

4.squidGuardインストール・設定

1.概要

OSSのプロキシソフトウェア、SquidのWebフィルタリング機能です。
ライセンスはGNU Public Licenseです。
SquidはWebプロキシやリバースプロキシサーバソフトウェアとして、非常に長い歴史をもっており、有償サポートも提供しています。

squidGuardは、Squidにコンテンツフィルタリング機能を持たせ、いわゆるペアレンタルコントロールなどの閲覧制限を行うことができます。
これにより、企業の従業員が勤務に無関係なWebサイトを閲覧できないようコントロールし、従業員のPCへのマルウェア感染やランサムウェア感染のリスクを軽減することができます。

従業員数が多い企業では、このような機能を持ったプロキシサーバを採用されている傾向があります。
Webフィルタリングイメージ図

今回の検証では、ローカルPC内にあるVMWare workstationの仮想サーバでプロキシサーバを構築し、ブリッジ接続でホストOSとゲストOSを同じセグメント上に配置します。
ホストOSのブラウザのインターネット接続をゲストOSのプロキシサーバを経由するよう設定し、Webフィルタリングできるよう構築します。

 

2.事前準備

  • VMWare設定
    仮想マシンのネットワークアダプタを「ブリッジ」に設定してください。
  •  

  • CentOS7のMinimam PKGを使用します。
    以下のパッケージをインストールし、環境を整えてください。

    OS最新化
    # yum -y update
    アップデート

    時刻同期のため、ntpdインストール・設定
    インストール方法はこちら

    Firewall設定のため、firewalldインストール・設定
    インストール方法はこちら

    epelリポジトリを追加
    # yum -y install epel-release

    ローカルに作成したブロックページへ転送・表示させるため、httpdインストールとblock.htmlの作成
    インストール方法はこちら

 

3.squidインストール・初期設定

squidをyumでインストールします。バージョンは3.5.20です。
# yum info squid

# yum -y install squid

設定はこちらを参照して行いました。
ALl version: http://www.squid-cache.org/Doc/config/
v3.5: http://www.squid-cache.org/Versions/v3/3.5/cfgman/

初期設定を行います。
設定ファイルは/etc/squid/squid.confです。
例1)外部からのアクセスは禁止し、ローカルネットワークと指定ドメインのみ許可する(利用できる)ように設定(LAN環境が192.168.11.0のセグメントの場合)
acl localnet src 192.168.11.0/24
axl localdomain srcdomain .example.com

例2)ポート8080に指定
http_port 8080

例3)HTTP/HTTPSのみ許可し、FTPなど他ポートは無効
acl Safe_ports port 80 # http
#acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
#acl Safe_ports port 70 # gopher
#acl Safe_ports port 210 # wais
#acl Safe_ports port 1025-65535 # unregistered ports
#acl Safe_ports port 280 # http-mgmt
#acl Safe_ports port 488 # gss-http
#acl Safe_ports port 591 # filemaker
#acl Safe_ports port 777 # multiling http
===省略====
#refresh_pattern ^ftp: 1440 20% 10080
#refresh_pattern ^gopher: 1440 0% 1440

例4)ログファイルの設定
access_log /var/log/squid/access.log auto

例6)プロキシサーバ経由でアクセスしていることを隠す
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
X-FORWARDED-FOR:クライアントPCのIPアドレスがheaderに混入する
Via:中継したソフトウェアやプロトコルが記録される
Cache-Control:キャッシュに関する内容が記述される

例7)プロキシサーバを利用しているクライアントPCのIPアドレスを隠す
forwarded_for off

設定が正しくされているか、下記コマンドで確認します。

# squid -k parse

正常終了すると、「Initializing https proxy context」というログが出力されます。

ポートを開放し、サービスを起動します。
# firewall-cmd –add-port=8080/tcp –permanent
# firewall-cmd –reload
※ポートを指定していない場合は、下記コマンドで対応してください。
# firewall-cmd –add-service=squid –permanent
# systemctl enable squid
# systemctl start squid
# systemctl status squid

接続テストを行います。
ブラウザはInternet Explorerを使用します。
以下の通り設定してください。

  • 「ツール」→「インターネットオプション」を選択します
  • 「接続」→「LANの設定」を選択します
  • 「プロキシサーバ」でLANにプロキシサーバを使用するにチェックを入れ、プロキシサーバのアドレスとポート番号を入力します

アクセスログから正常にログが検出されていることを確認します。
# tail -f access.log

上記はsquid形式ですが、他に下記形式があります。さらに表示形式をlogformatでカスタマイズすることも可能です。
common

conbined

referer

useragent

 

4.squidGuardインストール・初期設定

squidGuardはパッケージからでもインストール可能です。
EPELのリポジトリを有効にしてバージョンを確認します。
# yum –enablerepo=epel info squidGuard

インストールします。
# yum –enablerepo=epel -y install squidGuard

 
squidGuard検証ページへ