squidGuard(アクセス制限アドイン)のインストール方法を忘れないように記述しておく。
○squidGuard
http://www.squidguard.org/
Berkeley DBが必要
- ○インストール方法
- 1) 上記公式サイトより、ソースファイルをダウンロード・ソース展開
- 2) コンパイルエラーが出るため、ソースファイルの一部を修正する
- 1) 上記公式サイトより、ソースファイルをダウンロード・ソース展開
--- src/sgDb.c.orig 2004-03-09 03:45:59.000000000 +0100
+++ src/sgDb.c 2004-03-09 03:48:43.000000000 +0100
@@ -98,13 +98,13 @@
if(createdb)
flag = flag | DB_TRUNCATE;
if ((ret =
- Db->dbp->open(Db->dbp, dbfile, NULL, DB_BTREE, flag, 0664)) != 0) {
+ Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, flag, 0664)) != 0) {
(void) Db->dbp->close(Db->dbp, 0);
sgLogFatalError("Error db_open: %s", strerror(ret));
}
} else {
if ((ret =
- Db->dbp->open(Db->dbp, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {
+ Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {
sgLogFatalError("Error db_open: %s", strerror(ret));
}
}- 3) コンパイルする
※/usr/local/binへインストールされます。#./configure --with-db=/usr
# make
# make install
- 4) SquidGuardが使用するディレクトリを作成する
#mkdir /usr/local/squidGuard
#mkdir /usr/local/squidGuard/log …ログを格納する場所
#mkdir /usr/local/squidGuard/db …サイトリストを格納する場所
- 5) ブラックリストの設置
- ブラックリストを公式サイトよりダウンロードして、展開します。
※定期的に更新するようなスクリプトを組むとなお良い。#cd /tmp
#wget http://ftp.tdcnorge.no/pub/www/proxy/squidGuard/contrib/blacklists.tar.gz
#tar zxvf blacklists.tar.gz
#cd blacklists
#cp -Rf * /usr/local/squidGuard/db/ - 6) ローカルルールを作成します。
- 上記ブラックリストとは別にローカルルールを設定します。
#cd /usr/local/squidGuard/db/
#mkdir local- ・ドメインリスト
#cd /usr/local/sqidGuard/db/local/
#vi domains- [/usr/local/sqidGuard/db/local/domains]
www.***.co.jp
www.***.com
www.aaa.***.jp
etc…
※ユーザーが個々に指定する接続拒否サイトを作成- ・URLリスト
#cd /usr/local/sqidGuard/db/local/
#vi urls- [/usr/local/sqidGuard/db/local/urls]
***.or.jp/test/index.html
***.co.jp/web/test.html
etc…
※url の先頭の www は記載しない- ・例外サイト
#cd /usr/local/sqidGuard/db/local/
#vi exceptions- [/usr/local/sqidGuard/db/local/exceptions]
www.aaaa.cp.jp/ccc/sss/index.html
sss.ccc.or.jp/~test/
eee.bbb.jp/oo/dsd.htm
etc..
※ブラックリストに定義されているサイトの内、閲覧を許可するサイトを指定 - 7) アクセス権の設定
- squidの実行ユーザに権限を変更する。
#cd /usr/local/
#chown -R squid:squid squidGuard - 8) squidGuard.confの設定
- SquidGuard.confの設定を行います。設定オプションは大量にあるので、とりあえず下記のように設定した。
#vi /usr/local/squidGuard/squidGuard.conf logdir /usr/local/squidGuard/log dbhome /usr/local/squidGuard/db
#クライアントグループの宣言
# 管理者端末
src kanri {
ip 192.168.0.1
ip 192.168.0.2
}
# 接続拒否
src ng {
ip 192.168.7.0/24
}# 例外サイトの定義(URLフィルタに登録しているが一部のみ閲覧を許可したい場合の設定)
dest ok {
expressionlist local/exceptions
}#各カテゴリ毎のリストの指定
# ローカル設定
dest local {
domainlist local/domains
urllist local/urls
}
# 人種的偏見に関する内容を含むサイト
dest aggressive {
domainlist aggressive/domains
urllist aggressive/urls
}
# ドラッグに関する内容を含むサイト
dest drugs {
domainlist drugs/domains
urllist drugs/urls
}
# ハッキングに関する内容を含むサイト
dest hacking {
domainlist hacking/domains
urllist hacking/urls
}
# 不適切と判断されたメールを配送するサイト
dest mail {
domainlist mail/domains
}
# 不正中継等を行うプロキシサーバ
dest proxy {
domainlist proxy/domains
urllist proxy/urls
}
# 著作権侵害の内容を含むサイト
dest warez {
domainlist warez/domains
urllist warez/urls
}
# 広告(バナー広告など)
dest ads {
domainlist ads/domains
urllist ads/urls
}
# 多くの帯域幅を使用するオーディオ・ビデオを扱うサイト
dest audio-video {
domainlist audio-video/domains
urllist audio-video/urls
}
# 賭博に関連する内容を含むサイト
dest gambling {
domainlist gambling/domains
urllist gambling/urls
}
# ポルノを扱うサイト
dest porn {
domainlist porn/domains
urllist porn/urls
expressionlist porn/expressions
}
# 暴力と嫌悪的な内容を含むサイト
dest violence {
domainlist violence/domains
urllist violence/urls
expressionlist violence/expressions
}#アクションの定義
acl {
kanri {
pass all
}
ng {
pass none
}
default {
pass ok !local !aggressive !drugs !hacking !mail !warez !ads !audio-video !gambling !porn !violence all
redirect http://www.***.jp/cgi-bin/squidGuard.cgi
}
}
- squidGuard.cgiは、ソースファイルの「samples」ディレクトリにサンプルファイルがあるので、適切に変更を行った後、設置すること。(他のURLを指定しても可)
- 9) squidの設定
- squidの起動と同時にSquidGuardを起動するため、squid.confへ下記のような設定を行います。
# TAG: redirect_program
# Specify the location of the executable for the URL redirector.
# Since they can perform almost any function there isn't one included.
# See the FAQ (section 15) for information on how to write one.
# By default, a redirector is not used.
#
#Default:
# none
redirect_program /usr/local/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf
- 10) squidを再起動する
コメントする