實踐出真知——squid的ACL訪問控制及sarg日誌分析使用驗證

實踐出真知——squid的ACL訪問控制及sarg日誌分析使用驗證

前言

​ 本文就少一點廢話,前面兩篇博客進行了基於squid實現正反向代理實例演示,加深了對代理服務器工作原理及過程的理解。本文主要介紹一下基於squid軟件實現ACL訪問控制以及使用sarg軟件對squid的日誌進行分析的實際案例。

​ 補充:本文基於手工編譯安裝squid軟件,參考正向代理實驗文章即可。

一、ACL訪問控制驗證實驗

服務器地址規劃

client ip:192.168.100.100(Win7/win10)

squid 代理服務器IP地址:20.0.0.128 192.168.100.1

配置

在squid服務器上修改主配置文件

[root@squid ~]# vim /etc/squid.conf  #修改配置文件
# should be allowed  #找到acl位置插入下面的語句
acl hostlocal src 192.168.100.100/32  #控制hostlocal10.10的主機
# Deny requests to certain unsafe ports  #在該處下方插入語句
http_access deny hostlocal  #表示匹配上方的設置,拒絕來自192.168.100.100的主機訪問
[root@squid ~]# service squid reload  #重啓squid服務

先在Win7(192.168.100.100)驗證:結果是訪問被拒絕

實踐出真知——squid的ACL訪問控制及sarg日誌分析使用驗證

而在win10(192.168.100.50)上訪問:結果是test頁面,爲了區別性先在squid服務器上寫一個index.html文件如下:

[root@squid html]# echo "you can access my web(because your ip is not 192.168.100.100)" > index.html

訪問服務器結果如下圖所示:

實踐出真知——squid的ACL訪問控制及sarg日誌分析使用驗證

二、sarg日誌分析簡單應用

sarg的簡單介紹

​ Sarg(Squid Analysis Report Generator),是一款Squid 日誌分析的工具,採用HTML 格式,詳細列出每一位用戶訪問Internet 的站點信息、時間佔用信息、排名、連接次數、訪問量等。

使用案例

#軟件包資源,解壓
[root@squid ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  sarg-2.3.7.tar.gz  squid-3.4.6.tar.gz  公共  模板  視頻  圖片  文檔  下載  音樂  桌面
[root@squid ~]# tar -xzf sarg-2.3.7.tar.gz -C /opt/
[root@squid ~]# cd /opt/
[root@squid opt]# ls
rh  sarg-2.3.7  squid-3.4.6
#安裝gd庫
[root@squid opt]# yum install -y gd gd-devel

作爲依賴被安裝:
  expat-devel.x86_64 0:2.1.0-10.el7_3        fontconfig-devel.x86_64 0:2.13.0-4.3.el7  freetype-devel.x86_64 0:2.8-14.el7         
  libX11-devel.x86_64 0:1.6.7-2.el7          libXau-devel.x86_64 0:1.0.8-2.1.el7       libXpm-devel.x86_64 0:3.5.12-1.el7         
  libjpeg-turbo-devel.x86_64 0:1.2.90-8.el7  libpng-devel.x86_64 2:1.5.13-7.el7_2      libsmartcols.x86_64 0:2.23.2-61.el7_7.1    
  libuuid-devel.x86_64 0:2.23.2-61.el7_7.1   libxcb-devel.x86_64 0:1.13-1.el7          xorg-x11-proto-devel.noarch 0:2018.4-1.el7 
  zlib-devel.x86_64 0:1.2.7-18.el7          

作爲依賴被升級:
  fontconfig.x86_64 0:2.13.0-4.3.el7          freetype.x86_64 0:2.8-14.el7              libX11.x86_64 0:1.6.7-2.el7              
  libX11-common.noarch 0:1.6.7-2.el7          libblkid.x86_64 0:2.23.2-61.el7_7.1       libjpeg-turbo.x86_64 0:1.2.90-8.el7      
  libmount.x86_64 0:2.23.2-61.el7_7.1         libuuid.x86_64 0:2.23.2-61.el7_7.1        libxcb.x86_64 0:1.13-1.el7               
  util-linux.x86_64 0:2.23.2-61.el7_7.1       zlib.x86_64 0:1.2.7-18.el7               

完畢!

配置參數並且安裝

[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  ##編譯安裝

修改sarg配置文件

[root@squid sarg-2.3.7]# 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排序中有連接次數,訪問字節,降序排列,升序是normal
overwrite_report no  #同名日誌是否覆蓋
mail_utility mailq.postfix  #發送郵件報告命令
charset UTF-8  #使用字符集
weekdays 0-6  #top排行的時間週期
hours 0-23  #top排行的時間週期
www_document_root /var/www/html  #網頁根目錄
[root@squid sarg-2.3.7]# touch /usr/local/sarg/noreport #添加不計入站點文件,添加的域名將不被顯示
[root@squid sarg-2.3.7]# ln -s /usr/local/sarg/bin/sarg /usr/local/bin/ #創建sarg命令的軟連接
[root@squid sarg-2.3.7]# sarg   #生成報告
SARG: 紀錄在文件: 123, reading: 100.00%
SARG: 成功的生成報告在 /var/www/html/squid-reports/2020Feb08-2020Feb08  #提示報告生成在這個目錄,我們進入這個目錄查看一下
[root@squid sarg-2.3.7]# cd /var/www/html/squid-reports
[root@squid squid-reports]# ls
2020Feb08-2020Feb08  images  index.html

隨後安裝並開啓httpd服務

client客戶端查看sarg日誌報告

因爲安裝了gd庫我們可以在客戶端訪問sarg日誌,我們在服務器上可以使用crontab生成週期性計劃任務生成日誌報告。

實踐出真知——squid的ACL訪問控制及sarg日誌分析使用驗證

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