●FilterProxyの導入

 WebWasherと同様にプライバシーフィルタとして利用できる「FilterProxy」についても紹介しておこう。ここではRedHat7.2でインストールを行っている。

○Perl及びlibxml2,libxsltのアップデート

 まずはじめにPerl関連およびlibxml2,libxsltのアップデートを行う必要がある。すでにアップデートしていれば問題ないが,アップデートはRedHatの
「update.redhat.com」
ftp://ftp.redhat.com/pub/redhat/linux/
updates/7.2/en/os/i386
などからアップデータがダウンロードできるので,事前にアップデートを行っておこう。

perl-5.6.1(*
perl-CPAN(*
perl-CGI(*
libxml2(*
libxslt(*
ImageMagick
Perlモジュール(下記参照)

※(*)はRedhatのUpdateサイトからダウンロードしてアップデートを行う

 また,RedHat7.2にFilterProxyをインストールするには,下記のものが必要になる。ここでは,FilterProxyのオプションも含めてすべてのモジュールをインストールする。

○ImageMagickのインストール

 ImageMagickはRPMパッケージも用意されているので,ここではRPMパッケージをダウンロードしてインストールを行っている。

・ダウンロードサイト

ftp://ftp.nluug.nl/pub/ImageMagick/linux/redhat-7.x/i386/ImageMagick-5.4.3-11.i386.rpm
ftp://ftp.nluug.nl/pub/ImageMagick/linux/redhat-7.x/i386/ImageMagick-devel-5.4.3-11.i386.rpm
ftp://ftp.nluug.nl/pub/ImageMagick/linux/redhat-7.x/i386/ImageMagick-perl-5.4.3-11.i386.rpm

# rpm -ivh ImageMagick-5.4.3-11.i386.rpm ImageMagick-devel-5.4.3-11.i386.rpm ImageMagick-perl-5.4.3-11.i386.rpm

○Perlモジュールのインストール

 Perlモジュールは,CPANを利用した自動インストールを利用して,必要なものをインストールしよう。インストールするモジュールは下記のものだ。

Bundle::LWP
HTML::Mason
Time::HiRes
Compress::Zlib
XML::LibXML
XML::LibXSLT
Image::Magick

 インストール時はroot(管理者権限)になり,コマンドプロンプトで「perl -MCPAN -e shell」と入力すればよい。

# perl -MCPAN -e shell
CPAN>install Bundle::LWP HTML::Mason Time::HiRes Compress::Zlib XML::LibXML XML::LibXSLT Image::Magick

○FilterProxyのインストール

 Perlモジュールのインストールが完了したら,FilterProxyのWebサイトよりFilterproxyをダウンロードし展開を行い,展開されたFilterProxy-0.30を/usr/localにfilterproxyとして移動させる。

$ wget http://prdownloads.sourceforge.net/filterproxy/FilterProxy-0.30.tar.gz
$ tar xvzf FilterProxy-0.30.tar.gz
$ su
password
# mv ./FilterProxy-0.30 /usr/local/filterproxy

 次にユーザーグループ「filterproxy」を作成し,FilterProxyのディレクトリの所有者も変更する。

# groupadd filterproxy
# useradd -g filterproxy -d /dev/null -s /bin/false filterproxy
# chown -R filterproxy.filterproxy /usr/local/filterproxy

 /usr/local/filterproxy以下にある起動スクリプトFilterProxy.initを編集し,/etc/rc.d/init.dへコピーする。

・起動スクリプトの編集
 インストールが終了したら,起動スクリプト「FilterProxy.init」を編集しよう。

# vi /usr/local/filterproxy/FilterProxy.init

#!/bin/sh
#
# Startup script for FilterProxy

# Source function library.
. /etc/rc.d/init.d/functions
FILTERPROXYHOME=/home/filterproxy ←ここの部分を/usr/local/filterproxyに変更
OLDDIR=$PWD

# See how we were called.
case "$1" in
 start)
    echo -n "Starting FilterProxy: "
    cd $FILTERPROXYHOME
    su -s /bin/sh filterproxy -c ./FilterProxy.pl ←ポート番号を変更した場合はここを./FilterProxy.pl -p ポート番号で変更する。(例:./FilterProxy.pl -p 2600)
    cd $OLDDIR
    echo
    ;;

以下略

・起動スクリプトのコピー
 編集が終了したら,FilterProxy.initをコピーする。

# cp /usr/local/filterproxy/FilterProxy.init /etc/rc.d/init.d/filterproxy

・FilterProxyの起動

# /etc/rc.d/init.d/filterproxy start
Starting FilterProxy: Loaded module: Compress
Loaded module: DeAnim
Loaded module: Header
Loaded module: ImageComp
Loaded module: Rewrite
Loaded module: Skeleton
Loaded module: Source
Loaded module: XSLT
Now go to http://localhost:8888/ to configure me!

○フィルタリングの設定

 インストールおよび起動が完了したら,フィルタリングの設定を行う。URL入力欄に「http://localhost:8888」として,ポート番号8888にアクセスすると設定画面へアクセスできる。

 メニューの一番上にある「FilterProxy Configuration」をクリックすると,設定画面が現れる。設定項目が現れたら,まずログファイルの編集を行う。初期設定では「/home/filterproxy/FilterProxy.log」になっているので,「/usr/local/filterproxy/FilterProxy.log」にパスを変更する。また,localhost以外のクライアントからのアクセスを許可するため,「Accetpt connections・・」のチェックを外していったん再起動しよう。

画面
写真8■インストールおよび起動が完了したら,フィルタリングの設定を行う。URL入力欄に「http://localhost:8888」として,ポート番号8888にアクセスすると設定画面へアクセスできる

・基本設定
 ほかのプロキシサーバを利用する場合は「Upstream HTTP proxy・・」の項目に入力する。また,パスワードの設定は「Enable user・・」にチェックを入れリンクをクリックしてユーザー登録を行う。

画面
写真9■ほかのプロキシサーバを利用する場合は「Upstream HTTP proxy…」の項目に入力する。また,パスワードの設定は「Enable user…」にチェックを入れ,リンクをクリックしてユーザー登録を行う

・フィルタリングの設定
 初期設定の状態で,すべてのサイトのWebバグ(シングルピクセル画像の拒否)やポップアップ表示の拒否,広告ブロックなどが設定されているのでそのまま使用してもよいが,細かな設定は,設定したいサイトのURLと項目を加えて行う。例がいくつか設定されているので参考にしながら設定していくとよいだろう。

 詳細な設定については割愛するが,たとえば,単純な例としてitmedia.co.jpのイメージ画像のみすべて拒否するのであれば,設定画面でURLに「http://(\w+\.)*itmedia\.co\.jp」と入力し,Rewirteを選択する。そして「Add」ボタンを押し,登録されたらRewirteをクリックしてrewrite「tag 」として「Add」ボタンを押せばよい。同様にリンクを消去したりといった書き換えによるフィルタリングが行える。

 また,HTTP_RefererやHTTP_USER_AGENT,クッキーなどをフィルタリングしたい場合は,「Header」で設定する。たとえば「Remove these headers」にrefererを加えておけば,referer情報をフィルタリングする。

画面
写真10■HTTP_RefererやHTTP_USER_AGENT,クッキーなどをフィルタリングしたい場合は,「Header」で設定する。たとえば「Remove these headers」にrefererを加えておけば,referer情報をフィルタリングする

 今回紹介したプライバシーフィルタは,家庭内LAN内にあるマシンにおけるクッキーやWebバグのフィルタリングだけでなく,アクセスさせたくないサイトを登録しておけば,不要なサイトへのアクセス排除用フィルタにも利用できる。このようなフィルタリングツールもユーザーの必要に応じて導入しておくとよいだろう。

PREV 3/4 NEXT