2012年1月19日 星期四

SquidGuard-Web Proxy Server Filter

前言

Squid 能讓過濾 (Filter) 不當資訊網站,但若是您一筆一筆自行定義實在是很累的事,因此 [SquidGuard] 就這樣產生了,SquidGuard 是由國外一群厭惡網路不當資訊的人所組成,會定期增加黑名單網站 [SquidGuard Blacklist],您只要安裝 SquidGuard 並匯入黑名單在搭配 Squid 就可輕鬆達到過濾不當資訊網站的功能。
SquidGuard 作用的原理很簡單,就是當 Squid Clients 欲透過 Squid 對外連線至 Internet時會檢查一下 SquidGuard 內所定義的黑名單網站清單 (Blacklist) 若符合則重新導向 (Redirect) 到自訂的禁止連線說明網站,若未符合則放行對外連線。

實作環境

  • CentOS 5.1 (Linux 2.6.18-53.1.4.el5)
  • squidguard-1.2.0-2.2.el5.rf

安裝及設定

步驟1.安裝 SquidGuard 套件

 #yum -y install squidguard        //使用 yum 安裝 squidguard 套件

步驟2.修改 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
測試 SquidGuard 功能是否生效
此時你可以操作你的 Squid Client 隨便連一個 Blacklist 內的網站(例如 mp3.sites.cc),此時應該要 Redirect 到您指定的禁止存取網頁 (ex. [http://www.weithenn.org/block.htm]) 才對。

參考

[SquidGuard.org]
[Installation and Configuration of the SquidGuard web filter]
[資訊組長聯誼會 :: 觀看文章 - 在sarg下看squidGuard的阻擋紀錄]
[ SquidGuard 安裝]
[國立暨南國際大學色情防治機制]
[MyUnix論壇 :: 觀看文章 - squid和squidGuard配置代理伺服器]

沒有留言:

張貼留言