close
Squid是一種用來緩衝Internet數據的軟件。

Squid 接受來自Client端需要下載的目標(object)

的請求並適當地處理這些請求。

當部署企業內部角色為Cache Proxy時

當企業内部員工欲對外存取某一Web Site資訊,Squid將

代為他取得這個頁面,若企業内部尚由其他員工存取一樣頁面,

然後Squid會將Cache下來內容,直接回應其他Client端存取

無須再透過Internet再次抓取一次網頁資料,進而達到節省

企業聯外頻寬目的,此外Proxy Server 尚可部署條例,控管

企業員工連線至特定WEB頁面(Ex: facebook,yahoo)

實驗環境

Squid Proxy Server: 192.168.0.195:8888

                    實體MEM: 512 MB

                    Cache_dir 1G

Squid Client: 192.168.0.198(WinXP)

使用 Google Chrome 瀏覽器做測試

請於Lab前建置/var/squid1/ 目錄並利用chown將Owner與Group

變更為"Squid"可存取權限


(A):安裝Squid & 初始化組態設定

     
yum -y install squid

      安裝完成後編輯/etc/squid/squid.conf

修改http_port (預設為3128,我們將變更為:8888)


插入 cache_mem 32  MB         #建議可採實體MEM之1/2

     cache_swap_low  60

     cache_swap_high 90       #調整cache_swap高低標調整

     maximum_object_size 40MB #cache物件大小,超過此值則不cache

配置cache_dir 實際cache物件暫存於硬碟空間參數

 cache_dir ufs /var/squid1 1000  16 200

 
#規劃 /var/squid1 目錄為cache_dir ,配置為1G,L1=16
 
  L2=200 ,可配置多個Cache_Dir,官方建議:單一Cache_dir目錄不得

  超過3G,L2不得>256



 將上述組態設定告一段落後,我們手動重新啟動 SQUID 來看

 service squid restart

 
切回至 /var/squid1 目錄下,由下圖可知已自動初始化完成

 Cache_dir配置



(B):配置進階ACL規範,以規範企業內部員工存取外部特定之Web Site

 
建置ACL條例存取檔案 /etc/squid/url.acl  #稍後我們將正規化格式寫入此檔比對

  
 展示目前此LAB已寫好部份的ACL條例


#acl block_ya dstdomain .yahoo.com
#http_access deny block_ya
acl block_list url_regex -i "/etc/squid/url.acl"
http_access deny block_list
acl intranet src 192.168.0.0/24
acl ok_time time MTWHF 09:00-21:00
acl block_time time AS 18:00-24:00
http_access allow intranet ok_time
http_access deny intranet block_time


#定義企業內部"intranet"來源網段為: 192.168.0.0/24

 定義企業內部開放Squid存取時段為週一至週五 09:00-2100

 命名為"ok_time"

 定義企業內部禁用Squid存取時段為週六-週日 18:00-2400

 命名為"block_time"


 
PS>本Lab實作日期為週日,故週六-週日無開放存取Squid(現況)
 


  驗證SQUID 於禁用時段(block_time),封閉企業內部員工存取Proxy

  首先,我們配置Client端PC,存取Squid Server

  

   打開Chrome 瀏覽器進入首頁查看: 訊息描述此一時段,客戶端無法存取Squid

   #驗證ok


  
    現在,我們將變更原組態設定,使客戶端可以於週六-週日存取使用Proxy

    很Easy,我們可以微調以下參數,將MTWHF後方加入AS如下

    acl ok_time time MTWHFAS 09:00-21:00   

   
然後重新啟動SQUID即OK,但切記Allow設置必須先於deny 
  
    再次開啟Chrome瀏覽器: 我們已成功開放員工,於週六,週日存取SQUID

     #驗證ok


[限制企業內部員工存取限定網頁與特殊檔案格式下載]

 然而現在,我們將配置一個存放供正規化條例比對檔案

 /etc/squid/url.acl    #我們稍後將數筆ACL(正規化)規範寫入

                                     此檔案(方便Admin管理),依下設置

 
acl block_list url_regex -i "/etc/squid/url.acl"
 http_access deny block_list


 
#建立名為block_list(acl)讀入 "/etc/squid/url.acl(正規化)
 
 若符合block_list描述式者一律執行Deny動作

  編輯 /etc/squid/url.acl

  vi /etc/squid/url.acl    #填入以下內容 

 ^http:\/\/.*\.google\.com
 ^http:\/\/.*\.yahoo\.com
 ^http:\/\/.*\.facebook\.com
  .*\/.*\.rar$
   
  #此例為限制使用者存取goole,yahoo與facebook網站,並

   禁止使用者,透過瀏覽器下載副檔格式為"rar"的檔案

   當設定OK後,請再次重新啟動SQUID,生效設定
 
  [驗證]: 當使用者存取facebook網頁是否被禁用?    #下圖來看驗證已OK

  
   [驗證]: 當使用者透過瀏覽器下載*.rar 格式檔案是否禁用 #下圖來看驗證已OK

  
   
此外像 Refresh_Patterm 參數 : 關係到Cache檔案更新率

   若像動態網頁(Ex:PHP,JSP,ASP..etc),由於變動率較大,可將Cache Max時間縮短

   (Ex:小於60分)

   若像Windows UPDATE 網站更新(Ex:建議可將Max值設定為一週,100%)
 
  

最後關於Debug Squid 狀態始否有錯誤,可利用以下command篩選查閱

 grep 'squid'  /var/log/messages | tail -10

 



實作參考技術資料:

Linux 網路安全技術實現/悅知/陳勇勳

與網路上一堆雜亂技術內容

arrow
arrow
    全站熱搜

    終極.凱因斯 發表在 痞客邦 留言(0) 人氣()