千家信息网

Squid进阶——acl的使用+日志分析+反向代理

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,内容要点:一、Squid 中 ACL 的使用二、日志分析三、反向代理一、Squid 中 ACL 的使用(1)ACL 访问控制方式:1、根据源地址、目标URL、文件类型等定义列表acl 列表名称 列表类
千家信息网最后更新 2025年02月03日Squid进阶——acl的使用+日志分析+反向代理

内容要点:

一、Squid 中 ACL 的使用

二、日志分析

三、反向代理

一、Squid 中 ACL 的使用

(1)ACL 访问控制方式:

1、根据源地址、目标URL、文件类型等定义列表


  • acl 列表名称 列表类型 列表内容…

2、针对已定义的 acl列表进行限制


  • http_access allow 或 deny 列表名称…

(2)ACL 规则优先级:

当一个用户访问代理服务器时,Squid 会顺序匹配 Squid中定义的所有规则列表,一旦匹配成功,立即停止匹配。当所有规则都不匹配时,Squid 会使用与最后一条相反的规则。


(3)常用的 ACL 列表类型:

src ->源地址dst ->目标地址port ->目标地址dstdomain ->目标域time ->访问时间maxconn ->最大并发连接ur_ regex ->目标URL地址Urlpath_regex ->整个目标URL路径


(4)操作演示:

注:,要先做好代理功能,并且 Squid代理服务器要开放 3128端口,每次改好配置文件,都需要重启服务。

角色IP地址
Web服务器192.168.220.136
Squid代理服务器192.168.220.131
客户机192.168.220.128


修改 /etc/squid.conf 文件

添加以下代码:


1、基于IP地址限制:

acl hostlocal src 192.168.220.128/32   //hostlocal表示是名称 http_access deny hostlocal //拒绝访问


2、基于时间限制:


acl work time WTHMFAS 11:00-12:00    //时间设置在 11:00-12:00http_access deny work           //拒绝访问


3、基于目标地址(就是web服务器地址)


可以将拒绝的目标地址添加到一个文件中


1、 mkdir /etc/squid    //先创建一个目录vim dest.list将拒绝的ip地址添加到文件中192.168.220.111192.168.220.123192.168.220.1362、做规则vim /etc/squid.conf acl destion dst "/etc/squid/dest.list"http_access deny destion


二、日志分析

第一步:安装 sarg 工具

Sarg(Squid Analysis Report Generator),是一款Squid 日志分析工具,采用HTML 格式,详细列出每一位用户访问Internet 的站点信息、时间占用信息、排名、连接次数、访问量等。


(1)安装图像处理工具:

yum install -y gd gd-devel pcre


(2)创建一个文件:

mkdir /usr/local/sarg


tar zxvf sarg-2.3.7.tar.gz -C /opt/解压到/opt/目录下


(3)编译

./configure --prefix=/usr/local/sarg \--sysconfdir=/etc/sarg \--enable-extraprotection          //额外安全防护


(4)安装

make && make install


(5)修改主配置文件 /etc/sarg/sarg.conf


vim /etc/sarg/sarg.conf开启以下功能(稍作修改即可):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排序中有连接次数、访问字节、降序排列user_sort_field reverse                       //用户访问记录、连接次数、访问字节按降序排序overwrite_report no                           //同名日志是否覆盖mail_utility mail.postfix                     //发送邮件报告命令charset UTF-8                                //使用字符集weekdays 0-6                                 //top排行的星期周期www_document_root /varwww/html               //网页根目录


(6)添加不计入站点文件,添加的域名将不被显示在排序中

touch /usr/local/sarg/noreport


ln -s /usr/local/sarg/bin/sarg /usr/local/bin///方便管理,可以创建一个软连接


开启:


第二步:安装 Apache

 yum install httpd -y


第三步:客户机上测试

浏览器上访问: http://192.168.220.131/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)

三、反向代理

反向代理工作原理:


反向代理服务器位于本地WEB服务器和Internet之间。

当用户浏览器发出一个HTTP请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB服务器的反向代理,需要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求。反向代理一般只缓存可缓冲的数据(比如html网页和图片等),而一些CGI脚本程序或者ASP之类的程序不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面。


角色IP地址
Web服务器1192.168.220.136
Squid代理服务器192.168.220.131
客户机192.168.220.128
Web服务器2192.168.220.137


1、配置 Squid 代理服务器:


修改 /etc/squidconf 文件


vim /etc/squid.confhttp_port 192.168.220.131:80 accel vhost vportcache_peer 192.168.220.136 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1cache_peer 192.168.220.137 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2cache_peer_domain web1 web2 www.yun.com


service squid restart     //重启squidsystemctl stop httpd.service    //关闭Apache服务


2、在两台 Web服务器上做一个测试网页:


3、客户机做一下域名解析:

修改一下,代理服务器端口:


4、浏览器访问 http://www.yun.com/




服务 服务器 代理 地址 文件 目标 日志 用户 规则 域名 客户 工具 时间 网页 排序 分析 名称 客户机 报告 次数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 北京一对一网络技术咨询哪个好 http服务器 搭建 如何做微信小程序软件开发 服务器管理 远程访问 数据库技术对城轨作用 开封软件开发销售价格 软件开发可以申请高新企业吗 电脑如何做服务器 软视通云会议服务器配置怎么设置 在数据库中由商品不能知道单价吗 根证书 服务器证书 江苏银行网络安全团队王心玉 数据库上的代码错误怎么解决 上海青麓网络技术有限公司 亳州手机软件开发费用 网络技术工程师要求的能力 中国数据库检索方式 咸鱼之王终身卡各服务器通用吗 网络安全的发展现状 软件开发有职称考试吗 网络安全审计数据分析系统 MCU里的服务器 武昌区信息网络安全维护范围 霜与服务器各团长评分 电子网络技术最强的国家 江苏常规软件开发价格表 蜂窝网络安全海报 mssql备份数据库 茂名行业专业软件开发 云服务器性价比高购买费用
0