Squid-ACL访问控制,Sarg日志分析以及反向代理
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,实验环境服务器角色IP地址squid服务器ens33:192.168.13.184 ens36:192.168.10.1 (仅主机模式)web服务器192.168.13.151client客户端192
千家信息网最后更新 2025年12月02日Squid-ACL访问控制,Sarg日志分析以及反向代理
实验环境
| 服务器角色 | IP地址 |
|---|---|
| squid服务器 | ens33:192.168.13.184 ens36:192.168.10.1 (仅主机模式) |
| web服务器 | 192.168.13.151 |
| client客户端 | 192.168.10.10 (仅主机模式) |
ACL访问控制
ACL访问控制方式
●根据源地址、目标URL、文件类型等定义列表acl 列表名称 列表类型 列表内容...●针对已定义的ac列表进行限制http_ access allow或deny 列表名称... ACL规则优先级
当一个用户访问代理服务器时,Squid会顺序匹配Squid中定义的所有规则列表,一旦匹配成功,立即停止匹配。当所有规则都不匹配时,Squid会使用与最后一条相反的规则常用的ACL列表类型
src→源地址dst→目标地址port→目标地址dstdomain→目标域time→访问时间maxconn→最大并发连接url_regex→目标URL地址Urlpath_regex→整个目标URL路径实例
基于IP地址限制:
acl hostlocal src IP地址 #hostlocal表示是名称 http_access deny hostlocal #拒绝访问1.squid服务器上修改配置文件
[root@squid ~]# vim /etc/squid.conf ##修改配置文件# should be allowedacl hostlocal src 192.168.10.10/32 ##控制hostlocal的主机# Deny requests to certain unsafe portshttp_access deny hostlocal ##拒绝访问[root@squid ~]# service squid reload ##重启squid服务2.在测试机上访问web网页
基于时间限制:
acl work time WTHMFAS 8:00-12:00 #时间设置在工作日 8:30-17:00 http_access deny work #拒绝访问基于目标地址(就是web服务器地址)
#先创建一个目录,将拒绝的目标地址添加到一个文件中mkdir /etc/squid vim dest.list#将拒绝的ip地址添加到文件中192.168.10.111192.168.10.123192.168.10.136#编辑配置文件vim /etc/squid.conf #指定先前的地址文件路径为目标acl destion dst "/etc/squid/dest.list"#拒绝目标访问http_access deny destionSarg日志分析配置
1,在squid服务器上安装sarg
[root@squid ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/ ##挂载Password for root@//192.168.100.3/LNMP-C7: [root@squid ~]# cd /mnt/[root@squid mnt]# tar zxvf sarg-2.3.7.tar.gz -C /opt/ ##解压[root@squid mnt]# cd /opt/sarg-2.3.7/[root@squid sarg-2.3.7]# yum install gd gd-devel -y ##安装gd库[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 ##编译安装2,修改sarg配置文件
[root@squid sarg-2.3.7]# vim /etc/sarg/sarg.conf ##修改sarg配置文件##将下面的模块修改开启access_log /usr/local/squid/var/logs/access.log ##指定访问日志文件title "Squid User Access Reports" ##网页标题output_dir /var/www/html/squid-reports ##报告输出目录user_ip no ##使用用户名显示exclude_hosts /usr/local/sarg/noreport ##不计入排序的站点列表文件topuser_sort_field connect reverse ##top排序中有连接次数,访问字节,降序排列,升序是normaloverwrite_report no ##同名日志是否覆盖mail_utility mailq.postfix ##发送邮件报告命令charset UTF-8 ##使用字符集weekdays 0-6 ##top排行的时间周期hours 0-23 ##top排行的时间周期www_document_root /var/www/html ##网页根目录[root@squid ~]# sarg ##生成报告SARG: 纪录在文件: 91, reading: 100.00%SARG: 成功的生成报告在 /var/www/html/squid-reports/2019Dec11-2019Dec12[root@squid sarg-2.3.7]# cd /var/www/html/squid-reports/ ##切换到html目录下[root@squid squid-reports]# ls2019Dec11-2019Dec12 images index.html[root@squid squid-reports]# yum install httpd -y ##安装httpd服务[root@squid squid-reports]# systemctl start httpd.service ##开启服务[root@squid squid-reports]# systemctl stop firewalld.service ##关闭防火墙[root@squid squid-reports]# setenforce 03,用测试机访问网页查看访问记录
##周期性计划任务执行每天生成报告crontabsarg -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)squid反向代理配置
| 服务器角色 | IP地址 |
|---|---|
| squid服务器 | ens33:192.168.13.184 ens36:192.168.10.1 (仅主机模式) |
| web1服务器 | 192.168.13.151 |
| web2服务器 | 192.168.13.185 |
| client客户端 | 192.168.10.10 (仅主机模式) |
1,在web1服务器上编辑一个网页内容
[root@web ~]# cd /var/www/html/[root@web html]# vim index.html ##编辑网页内容this is test web!
2,在测试机上访问网页

3,在web2服务器上编辑一个网页内容
[root@web2 ~]# systemctl stop firewalld.service ##关闭防火墙[root@web2 ~]# setenforce 0[root@web2 ~]# yum install httpd -y ##安装httpd服务[root@web2 ~]# cd /var/www/html/ ##创建网页内容[root@web2 html]# vim index.htmlthis is test2 web!
[root@web2 html]# systemctl start httpd.service 4,在squid服务上配置反向代理
[root@localhost squid]# vim /etc/squid.conf# Squid normally listens to port 3128http_port 192.168.13.184:80 accel vhost vport ##监控本机80端口cache_peer 192.168.13.151 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1##节点服务器1最大访问30,权重1,别名web1cache_peer 192.168.13.185 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1cache_peer_domain web1 web2 www.yun.com ##访问yun.com匹配web1,web2节点[root@localhost squid]# service squid restart ##重启squid服务5,在测试机的admin用户下配置解析域名地址,并设置代理
谢谢阅读!!!
服务
地址
服务器
文件
目标
配置
网页
主机
内容
报告
时间
代理
模式
规则
测试
日志
控制
名称
周期
用户
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
qq网络技术专业
有什么好的数据库防火墙
中国网络安全大赛人员
软件开发用哪款linux
管理云服务器端口
网络技术大会开幕式
柠檬云网络技术有限公司电话
报考国家网络安全条件
数据库查询怎么分组查询
负载均衡服务器 价格
学校人士管理数据库设计
服务器机柜底座
济南品众网络技术有限公司
计算机网络安全应达到目标
数据库张良
成都安卓软件开发收费报价表
主机 数据库是什么
松江区正规软件开发互惠互利
应聘网络技术员会有什么问题
mysql网络安全面试题
无法访问服务器倩女幽魂
海口市网络安全问题
数据库的简单查询实践报告
对日软件开发如何
as软件开发
认识软件开发名称
一台物理服务器访问访问
db120 打印服务器
杭州复裕网络技术有限公司
计算机网络技术专业教材