squid代理介绍——ACL访问控制+sarg日志分析

一、squid的ACL访问控制

  • Squid提供了强大的代理控制机制,通过合理设置ACL(Access Control List,访问控制列表)并进行限制,可以针对源地址、目标地址、访问的URL路径、访问的时间等各种条件进行过滤。

  • ACL访问控制的步骤:

1、使用 acl 配置项定义需要控制的条件
定义格式:acl 列表名称 列表类型 列表内容 …
2、通过http_access配置项对已定义的列表做“允许”或“拒绝”访问的控制

二、ACL设置的两种方式

2.1、直接在squid的配置文件里修改

vim /etc/squid.conf
acl localhost src 192.168.10.10/32        #针对固定的源ip地址
acl MYLAN src 192.168.220.0/24              #针对某一网段
acl destionhost dst 192.168.220.130/32   #针对具体的目标ip地址
acl MC20 maxconn 20                             #访问的最大并发连接数量
acl BURL url_regex -i ^rtsp:// ^emule://    #正则表达式的访问协议
acl PURL urlpath_regex -i \.mp3$ \.mp4$ \.rmvb$   #访问的文件资源末尾
acl work time MTWHF 08:30-17:30          #访问时间
MTWHF:周一到周五
MTWHFAS:周一到周日

http_access deny localhost     #拒绝列表 (注意置顶)

2.2、创建新文件,在配置文件里声明文件位置

mkdir /etc/squid      #启用对象列表管理
vim dest.list
       192.168.220.128
       192.168.220.140
       192.168.220.130     #目标web
vim /etc/squid.conf
    acl destionhost dst "/etc/squid/dest.list"
  
    http_access deny destionhost    #拒绝列表 (注意置顶)

三、sarg日志分析

sarg软件用来分析squid服务的日志
在上篇博客的基础上做squid反向代理实验,安装squid的具体步骤见上篇博客链接:
squid传统代理squid反向代理

3.1、sarg安装

//图像处理
yum -y install gd gd-devel httpd 

//解压安装包
tar zxvf sarg-2.3.7.tar.gz -C /opt/

cd /opt/sarg-2.3.7/
./configure --prefix=/usr/local/sarg \
--sysconfdir=/etc/sarg \
--enable-extraprotection         #额外安全防护
 
make && make install

3.2、修改配置文件

vi /etc/sarg/sarg.conf
对应行号去掉注释即开启
7 access_log /usr/local/squid/var/logs/access.log              ###squid的访问日志位置
25 title "Squid User Access Reports"                                     ###网页标题
120 output_dir /var/www/html/squid-reports                     ###分析报告的存放位置
178 user_ip no                                                                         ###不使用IP代替用户ID
184 topuser_sort_field BYTES reverse                                   ###升序排列
190 user_sort_field BYTES reverse 
206 exclude_hosts /usr/local/sarg/noreport                        ###设置不生成报告的主机
257 overwrite_report no
289 mail_utility mailx                                                              ###指定发邮件命令
434 charset UTF-8
518 weekdays 0-6                                                                   ###指定top排序星期周期
523 hours 7-12,14,16,18-20                                                   ###指定top排序时间周期
633 www_document_root /var/www/html                           ###网页根目录

touch /usr/local/sarg/noreport            ###建立不生成报告的主机列表文件

ln -s /usr/local/sarg/bin/sarg /usr/local/bin/

//启动sarg日志分析和squid网页服务
sarg
systemctl start httpd

在这里插入图片描述

3.3、验证

1、在客户端机浏览器输入:http://192.168.10.1/squid-reports/index.html

2、squid服务器设置周期性任务

crontab -e 
*/1 * * * * /usr/local/bin/sarg    #这里为了效果快速呈现出,设置了每隔1分钟

在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值