Squid缓存代理的ACL控制与Sarg日志分析
ACL访问控制
1.acl访问控制方式
根据源地址、目标URL、文件类型等定义列表
acl 列表名称 列表类型 列表内容 ...
针对已定义的acl列表进行定义
http_access allow|deny 列表名称
2.ACL规则优先级
Squid会顺序匹配Squid中定义的所有规则列表,一旦匹配成功,立即停止匹配
所有规则均不匹配时,会与最后一条规则相反,对象为所有
比如:最后一条是拒绝某网段,则默认为允许所有网段
〇路由器中的ACL默认为拒绝所有
〇iptables默认规则可以自定义
3.常用的ACL列表类型
src 源地址
dst 目标地址
port 端口
dstdomain 目标域
time 访问时间
maxconn 最大并发连接
url_regex 目标URL地址
Urlpath_regex 整个目标URL路径
4.简单的ACL控制
禁止客户机12.0.0.111/32使用本代理服务
vim /etc/squid.conf
acl hostlocal src 12.0.0.111/32
http_access deny hostlocal
Sarg日志分析
1.安装配置Sarg
[root@squid ~]# yum -y install gd gd-devel
[root@squid ~]# mkdir /usr/local/sarg
[root@squid ~]# tar zxvf sarg-2.3.7.tar.gz -C /opt/
[root@squid ~]# cd /opt/sarg-2.3.7
[root@squid sarg-2.3.7]# ./configure --prefix=/usr/local/sarg \
--sysconfdir=/etc/sarg \
--enable-extraprotection
[root@squid sarg-2.3.7]# make && make install
[root@squid sarg-2.3.7]# cd /etc/sarg/
[root@squid sarg]# vim sarg.conf
7 access_log /usr/local/squid/var/logs/access.log #指定访问日志文件
25 title "Squid User Access Reports" #网页标题
120 output_dir /var/www/html/squid-reports #报告输出目录
178 user_ip no #使用用户名显示
184 topuser_sort_field connect reverse #安连接次数、访问字节降序排序 |normal升序
190 #user_sort_field reverse
206 exclude_hosts /usr/local/sarg/noreport #不计入排序的站点列表文件
257 overwrite_report no #同名日志是否覆盖
289 mail_utility mailq.postfix #发送邮件报告命令
434 charset UTF-8 #字符集
518 weekdays 0-6 #top排行的星期周期
525 hours 0-23 #top排行的时间周期
633 www_document_root /var/www/html #网页更目录
[root@squid sarg]# touch /usr/local/sarg/noreport #若有不想显示的站点,可将域名添加在此文件中
[root@squid sarg]# ln -s /usr/local/sarg/bin/sarg /usr/local/bin/
[root@squid sarg]# sarg
SARG: 纪录在文件: 1086, reading: 100.00%
SARG: 成功的生成报告在 /var/www/html/squid-reports/2020Oct30-2020Oct31
[root@squid squid-reports]# yum install httpd -y
[root@squid squid-reports]# systemctl start httpd
[root@squid squid-reports]# systemctl status httpd
[root@squid sarg]# cd /var/www/html/squid-reports/
[root@squid squid-reports]# sarg -l /usr/local/squid/var/logs/access.log -o /var/www/html/squid-reports/ -z -d $(date -d "1 day ago" +%d/%m/%Y)-$(date +%d/%m/%Y)
...
SARG: 成功的生成报告在 /var/www/html/squid-reports//2020Oct30-2020Oct31
浏览器访问192.168.100.11/squid-reports/ 即可查看访问日志信息