Squid日誌分析與訪問控制詳解

                   squid日誌分析與訪問控制


    squid的日誌系統能夠幫助我們查看訪問者的記錄,包括來訪者Internet的站點信息,時間佔用信息, 

排名、連接次數和訪問量。是一個很完善的日誌系統。

    squid常用日誌分爲如下兩個:分別是access.log 和cache.log

access.log:客戶端使用代理服務器的記錄文件,訪問日誌位置在squid.conf中自行定義;

cache.log : 緩存在運行時的狀態信息和調試信息,一般情況下容量不大。緩存日誌位置在squid.conf中自行定義。

本文主要針對訪問日誌使用sarg進行圖形化界面的顯示管理,相對於文字顯示更加直觀。


搭建squid請參考:http://blog.51cto.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-6  top排行的星期週期


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刷新

24.png

● 使用 http://192.168.60.134/squid-reports/ 進行訪問,查看日誌

25.png

26.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)

27.png


二、squid訪問控

    squid訪問控制功能就類似於一個acl訪問控制列表,可以對源、對目標網段進行控制,

對於寫入的控制條目,最後進行逐條匹配,控制着用戶訪問。

● 查看squid配置文件

    vim /etc/squid 

28.png

從配置文件我們可以看出全是acl的控制內容列表,我們可以自行添加條目,進行控制

以下是以下用法,大家可以根據實際需要添加相關條目。

acl hostlocal src 12.0.0.11/24  acl+名字+源地址+網址網段

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

29.png

30.png

未做限制前訪問測試網站

32.png

做了限制後就不能進行訪問

31.png

客戶機已不能訪問測試頁面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章