Squid代理服务器——ACL访问控制,日志分析Sarg,以及反向代理配置实操
一:ACL控制访问
1.1:ACL访问控制方式
- 根据源地址、目标URL、文件类型等定义列表
acl 列表名称 列表类型 列表内容...
- 针对已定义的acl列表进行限制
http_access allow或deny 列表名称 ...
1.2:ACL规则优先级
- 一个用户访问代理服务器时,Squid会顺序匹配Squid中定义的所有规则列表,一旦匹配成功,立即停止匹配
- 所有规则都不匹配时,Squid会使用与最后一条相反的规则
1.3:常用的ACL列表类型
src | 源地址 |
---|---|
dst | 目的地址 |
port | 端口 |
dstdomain | 目标域 |
time | 访问时间 |
maxconn | 最大并发连接 |
url_regex | 目标URL地址 |
Urlpath_regex | 整个目标URL路径 |
- 例如
acl localhost src 20.0.0.20/32
acl MYLAN src 20.0.0.0/24
acl destionhost dst 20.0.0.52/32
acl MC20 max-conn 20
acl BURL url_regex -i ^rtsp:// ^emule://
acl PURL urlpath_regex -i \.mp3$ \.mp4$ \.rmvb$
acl work time MTWHFAC 08:30-17:30
1.4:实验配置
1.4.1:环境
- VMware软件
- 一台centos7虚拟机作为squid服务器,IP地址为:20.0.0.51
- 一台centos7虚拟机作为web服务器,IP地址为:20.0.0.52
- 一台win7虚拟机作为client测试机,IP地址为:20.0.0.20
1.4.2:实验目的
- 通过ACL访问控制实现对主机允许和拒绝访问
1.4.3:实验步骤
-
搭建squid,基于传统模式,可以看我之前的博客
-
链接: https://blog.csdn.net/m0_47219942/article/details/108433500.
-
方式一:设置ACL访问规则(当IP地址不是很多时)
[root@squid ~]# vim /etc/squid.conf
# should be allowed
acl localhost src 20.0.0.20/32 '添加,监控client客户端的主机(20.0.0.20/32)取名为hostlocal'
# Deny requests to certain unsafe ports
http_access deny hostlocal '添加,调用hostlocal,设置拒绝访问'
[root@squid ~]# service squid restart
- 方式二:设置ACL访问规则(当多个IP地址时)
mkdir /etc/squid '启用对象列表管理'
vim dest.list
20.0.0.52 '目标WEB'
vim