1、前言
Squid 能「過濾 (Filter)」 不當資訊網站,但若是您一筆一筆自行定義實在是很累的事,因此 SquidGuard 就這樣產生了,SquidGuard 是由國外一群厭惡網路不當資訊的人所組成,會定期增加黑名單網站 SquidGuard Blacklist,您只要安裝 SquidGuard 並匯入黑名單在搭配 Squid 就可輕鬆達到過濾不當資訊網站的功能。SquidGuard 作用的原理很簡單,就是當 Squid Clients 欲透過 Squid 對外連線至 Internet時會檢查一下 SquidGuard 內所定義的黑名單網站清單 (Blacklist) 若符合則重新導向 (Redirect) 到自訂的禁止連線說明網站,若未符合則放行對外連線。
文章目錄
1、前言2、實作環境
3、安裝及設定
步驟1.安裝 SquidGuard 套件
步驟2.修改 squidguard.conf 設定檔
步驟3.下載黑名單檔案 Blacklist.gz
步驟4.修改並重新載入 squid.conf 設定檔
步驟5.查看及測試
測試 SquidGuard 功能是否生效
4、參考
2、實作環境
- CentOS 5.1 (Linux 2.6.18-53.1.4.el5)
- squidguard-1.2.0-2.2.el5.rf
3、安裝及設定
步驟1.安裝 SquidGuard 套件
鍵入如下指令,安裝 SquidGuard 套件。# yum -y install squidguard //使用 yum 安裝 squidguard 套件
步驟2.修改 squidguard.conf 設定檔
修改 squidguard.conf 設定檔,內容如下:# vi /etc/squid/squidguard.conf
dbhome /var/lib/squidguard //存放 Blacklist 黑名單路徑
logdir /var/log/squidguard //存放 SquidGuard Log 路徑
source clients { //定義 squid clients 網段 (更進階可配合開放 /禁止時間)
ip 192.168.1.0/24
}
dest block { //定義 blacklist 名稱項目
domainlist blacklists //Domains 檔路徑
urllist blacklists //URL 檔路徑
}
acl {
default {
pass !block all //不在 blacklist 內則放行
redirect http://www.weithenn.org/block.htm //當連線為block內定義,則重新導向至連線禁止網頁
}
}
步驟3.下載黑名單檔案 Blacklist.gz
我們切換至 SquidGuard 存放黑名單資料夾,下載黑名單檔案開解後將該檔案權限設定為 squid (這樣 squid 才可讀取)。# cd /var/lib/squidguard //切換至存放黑名單路徑
# wget http://squidguard.mesd.k12.or.us/blacklists.tgz //下載黑名單檔案
# gunzip blacklists.gz //解開黑名單檔案
# chown squid:squid blacklists //更改權限為 squid
步驟4.修改並重新載入 squid.conf 設定檔
修改 squid.conf 設定檔以便在啟動 Squid 時,順便將 SquidGuard 黑名單設定檔載入。# vi /etc/squid/squid.conf
redirect_program /usr/bin/squidGuard -c /etc/squid/squidguard.conf //加入此行以帶起 SquidGuard 服務
# /usr/sbin/squid -k reconfigure //重新讀取設定檔
步驟5.查看及測試
查看 Squid 是否有載入 SquidGuard。# tail /home/log/squid/cache.log
2008/04/16 19:37:23| Adding nameserver 168.95.192.1 from /etc/resolv.conf
2008/04/16 19:37:23| Adding nameserver 168.95.1.1 from /etc/resolv.conf
2008/04/16 19:37:23| helperOpenServers: Starting 5 'squidGuard' processes //載入成功
2008/04/16 19:37:23| Accepting transparently proxied HTTP connections at 0.0.0.0, port 3128, FD 14.
2008/04/16 19:37:23| Accepting ICP messages at 0.0.0.0, port 3130, FD 16.
2008/04/16 19:37:23| WCCP Disabled.
2008/04/16 19:37:23| Loaded Icons.
2008/04/16 19:37:23| Ready to serve requests.
查看是否順利載入黑名單 SquidGuard。
# tail /var/log/squidguard/squidGuard.log
2008-04-16 18:23:27 4468 init domainlist /var/lib/squidguard/blacklists
2008-04-16 18:25:30 4464 init urllist /var/lib/squidguard/blacklists
2008-04-16 18:25:37 4464 squidGuard 1.2.0 started (1208341407.170)
2008-04-16 18:25:37 4464 squidGuard ready for requests (1208341537.491)
查看是否順利啟動 SquidGuard Process。
# ps ax |grep squid
root 2665 0.0 0.0 7716 1104 ? Ss 11:37 0:00 squid -D
squid 2667 0.0 0.3 12300 8192 ? S 11:37 0:01 (squid) -D
squid 2669 0.0 0.0 3336 1560 ? Ss 11:37 0:21 (squidGuard) -c /etc/squid/squidguard.conf
squid 2670 0.0 0.0 3336 1556 ? Ss 11:37 0:22 (squidGuard) -c /etc/squid/squidguard.conf
squid 2671 0.0 0.0 3336 1560 ? Ss 11:37 0:22 (squidGuard) -c /etc/squid/squidguard.conf
squid 2672 0.0 0.0 3336 1500 ? Ss 11:37 0:22 (squidGuard) -c /etc/squid/squidguard.conf
squid 2673 0.0 0.0 3332 1500 ? Ss 11:37 0:22 (squidGuard) -c /etc/squid/squidguard.conf