squid配置文件

 

 

访问控制(ACL)

1.ACL元素

语法定义如下:

acl aclname acltype string1

acl aclname acltype "file"

//acltype可以是(src、dst、srcdomain、dstdomain、url_regex、urlpath_regex、time、port、proto、method)

 

(1) src:源地址。定义如下:

acl aclname src ip-address/netmask ... 客户ip地址

acl:aclname src addr1-addr2/netmask ... 地址范围

 

(2)dst:目标地址

acl aclname dst ip-address/netmask ...

 

(3)srcdomain:客户所属的域

acl aclname srcdomain foo.com ...

 

(4)dstdomain:请求服务器所属的域

acl aclname dstdomain foo.com ...

 

(5)time:访问时间

acl aclname time [day-abbrevs] [h1:m1-h2:m2][hh:mm-hh:mm]

1 S:指代Sunday

2 M:指代Monday

3 T:指代Tuesday

4 W:指代Wednesday

5 H:指代Thursday

6 F:指代Friday

7 A:指代Saturday

 

(6)port:访问端口。可以指定多个端口

acl aclname port 80 70 21 ...

acl aclname port 0-1024 ... 指定一个端口范围

 

(7)proto:使用协议

acl aclname proto HTTP FTP ...

 

(8)method:请求方法

acl aclname method GET POST ...

 

(9)url_regex:URL规则表达式匹配

acl aclname url_regex[-i] pattern

 

(10)urlpath_regex:URL-path规则表达式匹配

acl aclname urlpath_regex[-i] pattern

 

2.http_access访问控制列表

根据访问控制列表允许或禁止某一类用户访问。最后的条目设为“deny all”或“allow all”来避免安全性隐患。http_access Action声明1 AND 声明2 AND多个,http_access声明间用或运算连接,但每个访问条目的元素间用与运算连接,列表中的规则总是遵循由上而下的顺序。

3.实例应用

(1)禁止IP地址为192.168.8.200的客户机上网

acl client src 172.16.1.2

http_access deny client

 

(2)禁止网段10-50上网

 

acl client src 172.16.1.10-172.16.1.50/32

http_access deny client

 

(3)拒绝访问web的ip

acl client dst 192.168.1.2

http_access deny client

 

(4)限制URL以 某些内容 开头

acl client url_regex index

http_access deny client

 

(5)限制URL 以 某些内容 结尾

 

acl client urlpath_regex \.html

http_access deny client

 

(6)限制时间段

acl client time MTWHFA 9:00-18:00

http_access deny client

 

(7)限制443端口上网

acl http port 443

http_access deny http

 

(8)限制用户并发连接数为:5

acl clientsrc 172.16.1.15

acl conn5 max 5

http_access deny client conn5

 

(9)禁止下载*.mp3$ *.exe$ *.zip$ *.rar$ *.doc$类型的文件

acl client  urlpath_regex -i \.mp3$ \.exe$ \.zip$ \.rar$ \.doc$

http_access deny client

posted @ 2020-05-20 12:07  HAHA小轩  阅读(385)  评论(0编辑  收藏  举报