巧用Squid的ACL和訪問列表實現高效訪問控制(2)

巧用Squid的ACL和訪問列表實現高效訪問控制(2)

  • 摘要:Squid代理服務器是一個緩存Internet數據的軟件,可以代理HTTP、 FTP、GOPHER、SSL和WAIS等協議,提高用戶下載頁面的速度,並設置過濾。使用Squid可以通過訪問控制特性來靈活的控制用戶訪問時間、站 點等限制。這些可以通過Squid ACL和訪問列表來輕鬆實現。
  • 標籤:Squid ACL  Squid訪問列表  Squid
  •  

2.http_access訪問控制列表

根據訪問控制列表允許或禁止某一類用戶訪問。如果某個訪問沒有相符合的項目,則默認爲應用最後一條項目的“非”。比如最後一條爲允許,則默認就是禁止。通常應該把最後的條目設爲“deny all”或“allow all”來避免安全性隱患。

使用該訪問控制列表要注意如下問題:

  1. 這些規則按照它們的排列順序進行匹配檢測,一旦檢測到匹配的規則,匹配檢測就立即結束。
  2. 訪問列表可以由多條規則組成。
  3. 如果沒有任何規則與訪問請求匹配,默認動作將與列表中最後一條規則對應。
  4. 一個訪問條目中的所有元素將用邏輯與運算連接(如下所示):
    http_access Action聲明1 AND 聲明2 AND
  5. 多個http_access聲明間用或運算連接,但每個訪問條目的元素間用與運算連接。
  6. 列表中的規則總是遵循由上而下的順序。

3.使用訪問控制

上面詳細講述了ACL元素以及http_access訪問控制列表的語法以及使用過程中需要注意的問題,下面給出使用這些訪問控制方法的實例:

(1)允許網段10.0.0.124/24以及192.168.10.15/24內的所有客戶機訪問代理服務器,並且允許在文件/etc/squid/guest列出的客戶機訪問代理服務器,除此之外的客戶機將拒絕訪問本地代理服務器:

acl clients src 10.0.0.124/24 192.168.10.15/24
acl guests src “/etc/squid/guest”
acl all src 0.0.0.0/0.0.0.0
http_access allow clients
http_access allow guests
http_access deny all

其中,文件“/etc/squid/guest”中的內容爲:

172.168.10.3/24
210.113.24.8/16
10.0.1.24/25

(2)允許域名爲job.net、gdfq.edu.cn的兩個域訪問本地代理服務器,其他的域都將拒絕訪問本地代理服務器:

acl permitted_domain src job.net gdfq.edu.cn
acl all src 0.0.0.0/0.0.0.0
http_access allow permitted_domain
http_access deny all

(3)使用正則表達式,拒絕客戶機通過代理服務器訪問包含有諸如“sexy”等關鍵字的網站:

acl deny_url url_regex -i sexy
http_access deny deny_url

(4)拒絕客戶機通過代理服務器訪問文件中指定IP或者域名的網站,其中文件/etc/squid/ deny_ip中存放有拒絕訪問的IP地址,文件/etc/squid/deny_dns中存放有拒絕訪問的域名:

acl deny_ip dst “etc/squid/deny_ip”
acl deny_dns dst “etc/squid/deny_dns”
http_access deny deny_ip
http_access deny deny_dns

(5)允許和拒絕指定的用戶訪問指定的網站,其中,允許客戶1訪問網站http://www.sina.com.cn,而拒絕客戶2訪問網站http://www.163.com:

acl client1 src 192.168.0.118
acl client1_url url_regex ^http://www.sina.com.cn
acl client2 src 192.168.0.119
acl client2_url url_regex ^http://www.163.com
http_access allow client1 client1_url
http_access deny client2 client2_url

(6)允許所有的用戶在規定的時間內(週一至週四的8:30到20:30)訪問代理服務器,只允許特定的用戶(系統管理員,其網段爲:192.168.10.0/24)在週五下午訪問代理服務器,其他的在週五下午一點至六點一律拒絕訪問代理服務器:

acl allclient src 0.0.0.0/0.0.0.0
acl administrator 192.168.10.0/24
acl common_time time MTWH 8:30-20:30
acl manage_time time F 13:00-18:00
http_access allow allclient common_time
http_access allow administrator manage_time
http_access deny manage_time
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章