squid緩存服務器————sarg日誌

sarg日誌
acl從上向下一次匹配,匹配即停止,並執行匹配的動作
所以允許所有或者禁止所有的參數,需要設置在acl的後面
http_access allow all
http_access deny all
先了解acl訪問控制
src 源地址 dst 目標地址
列表的定義

  • 基於固定ip去進行控制
    acl localhos src 192.168.175.136/32
  • 指定某一個網段
    acl MYLAN src 192.168.175.0/24
  • 基於目標地址
    acl destionhost dst 192.168.175.130/32
  • 設置訪問的最大連接數
    acl MC20 maxconn 20
  • 支持正則表達式的結構
    acl BURL url_regex -i ^rtsp:// ^emule://
    acl PURL urlpath_regex -i . mp3$ . rmvb$
  • 基於訪問的時間,週一到週日
    acl work time MTWHFAC 08:30-17:30
    也可以使用文件進行管理,文件內輸入目標web地址
  • 禁止某IP地址主機上網
    acl nolink src 192.168.90.9
    http_access deny nolink
  • 禁止某網段在某時間段上網
    acl nolink src 192.168.1.0/24
    acl nowang time MTWHF 9:00-11:30
    http_access deny nolink nowang
  • 禁止所有人訪問某網站
    acl nourl dstdomain -i www.qq.com
    http_access deny nourl
  • 禁止所有人訪問含有某些關鍵字的網站
    acl nourl url_regex -i taobao.com
    http access deny nourl
  • 禁止下載某些類型的文件
    acl nof urlpath_regex -i .avi$ .mkv$
    http_access deny nof
  • 禁止訪問某些類型的網站
    acl nop url_regex -i ^emule:// ^thunder
    http_access_access deny nop
    配置sarg日誌分析軟件,用來分析squid服務的日誌
    需要在代理服務器上安裝httpd
    [root@squid network-scripts]# vim /etc/squid.conf
    # should be allowed
    acl hostlocal src 192.168.10.100/32     #增加
    。。。
    # Deny requests to certain unsafe ports
    http_access deny hostlocal      #增加
    [root@squid network-scripts]# service squid reload
    [root@squid network-scripts]# netstat -natp | grep 3128tcp        0      0 192.168.10.1:3128       0.0.0.0:*               LISTEN      101064/(squid-1) 

    注意,squid的源地址是客戶端,目標地址是web端
    此時切換到win客戶機查看時候被限制(記得隨時清空歷史記錄)

    squid緩存服務器————sarg日誌
    /etc/squid.conf文件中的deny/allow是從上而下去讀取配置,一旦匹配上,就不執行下面操作
    接下來開始配置日誌
    首先刪除剛纔的限制,以便於後面的驗證

    [root@squid network-scripts]# service squid reload
    [root@squid network-scripts]# cd /abc
    [root@squid abc]# tar zxvf sarg-2.3.7.tar.gz -C /opt
    [root@squid abc]# cd /opt/sarg-2.3.7/

    安裝sarg前需要先安裝圖像化處理工具,即gd庫

    [root@squid sarg-2.3.7]# yum install gd gd-devel -y
    [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]# ls
    css.tpl  exclude_codes  sarg.conf  user_limit_block
    [root@squid sarg]# vim 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 connect reverse          //升序排列
    190 user_sort_field connect 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: Records in file: 238, reading: 100.00%
    SARG: Successful report generated on /var/www/html/squid-reports/2020Feb02-2020Feb02
    [root@squid sarg]# cd /var/www/html/
    [root@squid html]# ls
    index.php  sarg-php  squid-reports
    [root@squid html]# cd squid-reports/
    [root@squid squid-reports]# ls
    2020Feb02-2020Feb02  images  index.html
    [root@squid squid-reports]# rpm -q httpd
    httpd-2.4.6-90.el7.centos.x86_64
    [root@squid squid-reports]# systemctl restart httpd.service 

    squid緩存服務器————sarg日誌
    squid緩存服務器————sarg日誌
    可以使用週期性計劃任務執行crontab -e,每天生成日誌報告

    [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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章