Squid的ACL文法講解淺談Squid的ACL文法
ACL,Access Control List,存取控制清單.它的文法是: (在/usr/local/squid/etc/squid.conf裡添加)
acl 表名 表類型 [-i] 表的值
http_access [allow/deny] 表名下面分條解釋:
表名:可以自訂
表類型:表類型有
src 源地址:客戶機的IP地址
dst 目的地址:伺服器的IP地址
srcdomain 源域:客戶機所屬的域
dstdomain 目的域:伺服器所屬的域
url_regex URLRegex(字串部分)
urlpath_regex URLRegex中的路徑
time [星期] [時間段]
maxconn 用戶端的最大串連數
-i 這個參數使Squid不區分大小寫
表的值:隨表的類型不同而不同
注意:time中的星期要用如下字元:
S (Sunday,星期日) M(Monday,星期一) T(Tuesday,星期二) W(Wednesday,星期三)
H(Thursday,星期四) F(Friday,星期五) A(Saturday,星期六)
時間段的表示方式是: XX:00-YY:00 如: 20:00-22:00
http_access 選項允許你設定一個表是允許(allow)還是拒絕(deny)
下面舉幾個例子: 防3721的ACL.在squid.conf中加入:
acl badurls dstdomain -i www.3721.com www.3721.net download.3721.com cnsmin.3721.com
http_access deny badurls
acl badkeywords url_regex -i 3721.com 3721.net
http_access deny badkeywords
解釋:
badurls 和 badkeywords 是你自訂的表名.
dstdomain 是伺服器的網域名稱(目的域) 而 url_regex 則是URLRegex(字串部分)包含的內容.
http_access 選項的 deny 則是把表badurls和表badkeywords的訪問拒絕.
禁止下載Flash:
acl badfiles urlpath_regex -i .swf$
http_access deny badfiles