首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Squid服务的ACL访问控制

Squid服务的ACL访问控制

作者头像
星哥玩云
发布2022-06-30 18:49:19
发布2022-06-30 18:49:19
1.3K0
举报
文章被收录于专栏:开源部署开源部署

简介: squid服务提供了强大的访问控制功能,通过定义各种ACL(Access Control List,访问控制列表),这些列表中包含了一定的过滤和控制条件,然后只要对这些列表设置时allow(允许)或deny(拒绝)就可以实现访问控制了。

在squid.conf配置文件中,HTTP的访问控制主要由acl和http_access配置项共同实现,两个配置项分别用来定义控制的条件(列表)和实施控制。

1.定义ACL列表 acl配置项用于设置访问控制列表的内容,可以为每组特定的控制目标制定一个名称。 格式: acl 列表名称 列表类型 列表内容 ... 列表名称:用户自定义名称即可 列表类型:必须使用squid预定义的值 列表内容:即控制的对象 常见的squid预定义列表类型: 类型1:src 列表内容示范: 192.168.1.1/32 192.168.1.0/255.255.255.0 192.168.1.0-192.168.3.0/24 用途: 客户端IP地址或网络段、地址范围 类型2:dst 列表内容示范: www.linuxidc.com 216.163.137.3/32 用途: 用户访问的目标主机名或者IP地址 类型3:port 列表内容示范: 80 8080 21 用途: 用户访问的端口 类型4:srcdomain 列表内容示范: .linuxfan.cn .llfa.cn 用途: 客户端来源域名(根据ip地址作反向解析) 类型5:dstdomain 列表内容示范: .qq.com .msn.com .verycd.com 用途: 用户访问的目标域,匹配域内所有站点 类型6:time 列表内容示范: MTWHF 8:30-17:30 12:30-13:30 AS 用途: 用户上网的时间段 字母表示一星期各天的英文缩写 M-monday T-tuesday W-wednesday H-thursday F-friday A-saturday S-sunday 列表类型7:Maxcon 列表内容示范: 15 用途: 客户端的并发HTTP连接数 列表类型8:url_regex 列表内容示范: url_regex -i ^rtsp:// ^mms:// url_regex -i ^emule:// 用途: 用户访问的整个URL网址, 可以使用正则表达式, 加-i表示忽略大小写 列表类型9:urlpath_regex 列表内容示范: urlpath_regex -i sex adult nude urlpath_regex -i \.mp3$ \.rar$ 用途: 匹配用户访问的URL路径(部分), 可以使用正则表达式 2.设置acl访问权限 针对定义的各种acl列表,使用http_access配置项控制其访问权限,允许(allow)或者拒绝(deny)。 http_access配置行必须在对应的acl列表定义之后。 每一行http_access配置确定一条权限控制规则。 在每一条http_access规则中,可以同时包含多个acl列表名,各个列表之间使用“与”的关系,只有满足所有acl列表对应的条件才会进行限制, 可以使用“!”符号设置相反条件 格式: http_access allow或deny 列表名..... 生效的顺序: 在squid.conf中http_access各条规则按顺序进行匹配,匹配即停止; 没有任何规则是:squid访问将拒绝客户端的请求。 有规则但找不到匹配项是: 采用与最后一条相反的权限, 即如果最后一条是allow,则拒绝,否则允许。 通常情况下把最常用的控制规则放在最前面,以减小squid的负载。 在访问控制的总体策略上采用:先拒绝后允许或先允许后拒绝,在最后添加一条“http_access allow all”或者“http_access deny all”

3.实现步骤: 定义列表 acl all src 0.0.0.0/0.0.0.0 acl localhost src 127.0.0.1/255.255.255.255 acl LAN1 src 192.168.1.0/24 acl LAN2 src 192.168.2.0/24 acl PC1 src 192.168.1.66/32 acl lan_Domain .linuxfan.cn .benet.com acl to_localhost dst 127.0.0.0/8 acl Black_IP dst 61.143.79.86/32 217.23.45.77/32 acl Black_host dst www.xxxx.comwww.adult.com  ##squid启动时会尝试解析 acl Black_Domain dstdomain .qq.com .msn.com j.gamezone.net acl Max10_Conn maxconn 10 acl Max20_Conn maxconn 20 acl Black_URL url_regex -i ^rtsp:// ^mms:// ^emule:// acl Illegal_words urlpath_regex -i sex adult fake acl MediaFile urlpath_regex -i \.mp3$ \.mp4$ \.rmvb$ \.rm$ \.mov$ \.mpg$ acl Lunch_Hours time MTWHF 12:30-13:30 acl Work_Hours time MTWHF 08:30-17:30 实现权限控制 http_access deny LAN1 Black_IP http_access deny LAN1 Black_Host http_access deny LAN1 Black_Domain http_access deny LAN2 Black_URL http_access deny LAN2 Illegal_words http_access deny LAN2 MediaFile http_access deny PC1 Max10_conn http_access deny LAN1 Max20_conn http_access allow LAN_Domain Work_Hours http_access allow LAN1 Work_Hours http_access allow LNA2 Work_Hours http_access deny all

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档