kernelsky 发表于 2018-12-27 13:05:05

Squid日志分析与访问控制详解

  squid日志分析与访问控制

  

      squid的日志系统能够帮助我们查看访问者的记录,包括来访者Internet的站点信息,时间占用信息,
  排名、连接次数和访问量。是一个很完善的日志系统。
      squid常用日志分为如下两个:分别是access.log 和cache.log。
  access.log:客户端使用代理服务器的记录文件,访问日志位置在squid.conf中自行定义;
  cache.log : 缓存在运行时的状态信息和调试信息,一般情况下容量不大。缓存日志位置在squid.conf中自行定义。
  本文主要针对访问日志使用sarg进行图形化界面的显示管理,相对于文字显示更加直观。
  搭建squid请参考:http://blog.运维网.com/13760226/2177929
  使用sarg软件包地址:链接:https://pan.baidu.com/s/1IT6a2WvcpNpdXvr-EWMPvg密码:cfl8
实验环境:
              操作系统               IP地址          服务类型       Centos7       192.168.60.134/24    squid缓存服务、sarg、httpd       Centos7       192.168.60.136/24    httpd服务       win7       192.168.60.133/24    client客户机
一、使用Sarg日志分析
  ● 安装编译环境
  yum install gd gd-devel gcc gcc-c++httpd -y
  ● 创建sarg的安装目录
  mkdir /usr/local/sarg
  ● 解压进行安装
  tar zxf sarg-2.3.7.tar.gz -C /opt/
  cd /opt/sarg-2.3.7/
  ./configure --prefix=/usr/local/sarg \   #安装目录
  --sysconfdir=/etc/sarg \      #配置文件目录
  --enable-extraportection      #额外的安全防护
  make && make install
  ● 安装完成后修改配置文件
  由于整个配置文件都是被注释的,需要我们去掉注释并加以修改
  vim /opt/sarg/sarg.conf
  access_log /usr/local/squid/var/logs/access.log    #squid的日志文件
  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将BYTES改成connect
  user_sort_field connect reverse    将BYTES改成connect
  overwrite_report no 同名日志的覆盖
  mail_utility mailq.postfix发送邮件命令报告
  charset UTF-8字符集
  weekdays 0-6top排行的星期周期
  hours 0-23   top排行的时间周期
  www_document_root /var/www/html网页根目录
  ● 优化,启动sarg和httpd服务
  touch /usr/local/sarg/noreport   #创建不计入排序的站点列表文件
  ln -s /usr/local/sarg/bin/sarg /usr/local/bin    #创建个软链接系统识别方便使用
  systemctl start httpd    #启动httpd服务
  sarg    #启动sarg服务
  ● 访问squid网站后再次使用sarg刷新
http://s1.运维网.com/images/20180921/1537463178159013.png
  ● 使用 http://192.168.60.134/squid-reports/ 进行访问,查看日志
http://s1.运维网.com/images/20180921/1537463321556296.png
http://s1.运维网.com/images/20180921/1537463353628055.png
  ● 使用周期性任务对日志进行分割
  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)
http://s1.运维网.com/images/20180921/1537463643448682.png
  二、squid访问控制

  squid访问控制功能就类似于一个acl访问控制列表,可以对源、对目标网段进行控制,

  对于写入的控制条目,最后进行逐条匹配,控制着用户访问。
  ● 查看squid配置文件
  vim /etc/squid
http://s1.运维网.com/images/20180921/1537463766369536.png
  从配置文件我们可以看出全是acl的控制内容列表,我们可以自行添加条目,进行控制
  以下是以下用法,大家可以根据实际需要添加相关条目。
  acl hostlocal src 12.0.0.11/24acl+名字+源地址+网址网段
  acl work time MTWHFAS 8:00-17:50基于时间进行的访问控制
  acl MYLAN src 12.0.0.0/24 对于一个网段
  acl destionhost dst 192.168.60.136/24 对目标网段进行控制
  acl MC20 maxconn 20 最大链接数量
  acl BURL url_regex -i ^rtsp:// ^emule://    -i忽略大小写 以什么为开头的内容
  acl PURL urlpath_regex -i \.mp3$\.mp4$\.rmvb$匹配路径 正则表达式 -i 忽略大小写 以什么为结尾的内容
  例:针对某一ip进行固定限制
  # should be allowed
  acl hostlocal src 192.168.60.133/32
  # Only allow cachemgr access from localhost
  http_access deny hostlocal
  http_access allow localhost manager
http://s1.运维网.com/images/20180921/1537495207188705.png

http://s1.运维网.com/images/20180921/1537495217633084.png
  未做限制前访问测试网站
http://s1.运维网.com/images/20180921/1537496334486010.png
  做了限制后就不能进行访问
http://s1.运维网.com/images/20180921/1537495225759567.png
  客户机已不能访问测试页面。




页: [1]
查看完整版本: Squid日志分析与访问控制详解