成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Centos7的squid服務(wù)器配置ACL訪問控制及日志分析-創(chuàng)新互聯(lián)

部署squid服務(wù)及配置傳統(tǒng)代理參考博文:Centos 7安裝Squid代理服務(wù)及構(gòu)建傳統(tǒng)代理
配置squid透明代理參考博文:Centos7安裝Squid代理服務(wù)及配置透明代理

創(chuàng)新互聯(lián)是一家成都網(wǎng)站制作、成都做網(wǎng)站,提供網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),網(wǎng)站制作,建網(wǎng)站,按需求定制網(wǎng)站,網(wǎng)站開發(fā)公司,從2013年開始是互聯(lián)行業(yè)建設(shè)者,服務(wù)者。以提升客戶品牌價(jià)值為核心業(yè)務(wù),全程參與項(xiàng)目的網(wǎng)站策劃設(shè)計(jì)制作,前端開發(fā),后臺(tái)程序制作以及后期項(xiàng)目運(yùn)營并提出專業(yè)建議和思路。

一、ACL訪問控制

squid提供了強(qiáng)大的代理控制機(jī)制,通過合理設(shè)置ACL并進(jìn)行限制,可以針對(duì)源地址、目標(biāo)地址、訪問的URL路徑、訪問的時(shí)間等各種條件進(jìn)行過濾。在配置文件squid.conf中,ACL訪問控制通過兩個(gè)步驟來實(shí)現(xiàn):其一、使用ACL配置項(xiàng)定義需要控制的條件;其二、通過http_access配置項(xiàng)對(duì)已定義的列表做“允許”或“拒絕”訪問的控制。

1、定義訪問控制列表

每行acl配置可以定義一條訪問控制列表,格式如下:

acl 列表名稱 列表類型 列表內(nèi)容

其中,”列表名稱”是由管理員自行指定,用來識(shí)別控制條件;;“列表類型”必須使用squid預(yù)定義的值,對(duì)應(yīng)不同類別的控制條件;“列表內(nèi)容”是要控制的具體對(duì)象,不同類型的列表所對(duì)應(yīng)的內(nèi)容也不一樣,可以有多個(gè)值(以空格分隔,為“或”的關(guān)系)。

通過上述格式可以發(fā)現(xiàn),定義訪問控制列表時(shí),關(guān)鍵在于選擇“列表類型”并設(shè)置具體的條件對(duì)象。Squid預(yù)定義的列表類型有很多種,常用的包括源地址、目標(biāo)地址、訪問時(shí)間、訪問端口等,如下表:
Centos 7的squid服務(wù)器配置ACL訪問控制及日志分析

ACL定義示例:

[root@centos02~ ]# vim /etc/squid.conf
                             ..........................
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network    <!--squid默認(rèn)的一些ACL-->
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network    <!--默認(rèn)存在-->
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network    <!--默認(rèn)存在-->
acl localhost src 127.0.0.1/255.255.255.255            <!--源地址為127.0.0.1-->
acl mylan src 192.168.1.0/24 192.168.4.0/24          <!--客戶機(jī)網(wǎng)段-->
acl to_localhost dst 127.0.0.0/8                        <!--目標(biāo)地址為127.0.0.0/8網(wǎng)段-->
acl mc20 maxconn 20                              <!--大并發(fā)連接量為20-->
acl blackurl url_regex -i ^rtsp:// ^emule://              <!--以rtsp://等開頭的URL-->
acl mediafile urlpath_regex -i \.mp3$ \.mp4$ \.rmvb$    <!--以.mp3等結(jié)尾的URL路徑-->
acl worktime time MTWHF 9:00-18:00                 <!--時(shí)間為周一至周五的 9:00-18:00-->   
                              ........................

當(dāng)需要限制的同一類對(duì)象較多時(shí),可以使用獨(dú)立的文件來存放,在acl配置行的內(nèi)容處指定對(duì)應(yīng)的文件位置即可。如下:

[root@centos02~ ]# mkdir /etc/squid
[root@centos02~ ]# cd /etc/squid
[root@centos02 squid]# vim ipblock.list         <!--建立目標(biāo)IP地址名單-->

61.135.167.36
125.39.127.25
60.28.14.0

[root@centos02 squid]# vim dmblock.list         <!--建立目標(biāo)域地址名單-->

.qq.com
.msn.com
.live.com
.verycd.com

[root@centos02 squid]#  vim /etc/squid.conf                  

acl ipblock dst "/etc/squid/ipblock.list"           <!--調(diào)用指定文件中的列表內(nèi)容-->
acl dmblock dstdomain "/etc/squid/dmblock.list"

當(dāng)ACL設(shè)置好后,還需要通過http_access配置項(xiàng)來進(jìn)行控制。必須注意的是,http_access配置行必須放在對(duì)應(yīng)的acl配置行之后。每行http_access配置確定一條訪問規(guī)則,格式如下:

http_access allow或deny 列表名

將剛才定義的acl應(yīng)用到規(guī)則中,如下:

[root@centos02 squid]# vim /etc/squid.conf
                        ......................
http_access deny !Safe_ports     <!--squid默認(rèn)存在的訪問權(quán)限-->
http_access deny mediafile        <!--禁止客戶機(jī)下載mp3等文件-->
http_access deny ipblock              <!--禁止客戶機(jī)訪問黑名單中的IP地址-->
http_access deny dmblock              <!--禁止客戶機(jī)訪問黑名單中網(wǎng)站域-->
http_access deny mc20        <!--客戶機(jī)的并發(fā)連接量超過20時(shí)將被阻止-->
http_access allow worktime           <!--允許客戶機(jī)在工作時(shí)間內(nèi)上網(wǎng)-->
reply_body_max_size 10 MB        <!--允許下載的大文件大小(10M)-->
                            .......................
http_access deny all  <!--默認(rèn)禁止所有客戶機(jī)使用代理,squid默認(rèn)存在的訪問權(quán)限-->

在配置訪問權(quán)限時(shí),需要注意以下幾點(diǎn) :

  • 每條http_access規(guī)則中,可以同時(shí)包含多個(gè)訪問控制列表名,各個(gè)列表之間以空格分隔,是“與”的關(guān)系,表示必須滿足所有訪問控制列表對(duì)應(yīng)的條件才會(huì)進(jìn)行限制。

  • 需要使用取反條件時(shí),可以在訪問控制列表前添加“ !”符號(hào)。

  • 執(zhí)行訪問控制時(shí),squid將按照各條規(guī)則的順序依次進(jìn)行檢查,如果找到一條相匹配的規(guī)則就不再向后搜索(這點(diǎn)和iptables的規(guī)則匹配類似)。因此,規(guī)則的順序非常重要。

  • 沒有設(shè)置任何規(guī)則時(shí),squid服務(wù)將拒絕客戶端的請求。這也就是為什么配置文件中默認(rèn)存在三個(gè)內(nèi)網(wǎng)網(wǎng)段的ACL規(guī)則,若想拒絕默認(rèn)存在的三個(gè)網(wǎng)段中某個(gè),還需將其注釋掉,再進(jìn)行限制,以免發(fā)生沖突,造成訪問規(guī)則不生效。

  • 有規(guī)則但找不到相匹配的項(xiàng):squid將采用與最后一條規(guī)則相反的動(dòng)作,即如果最好一條規(guī)則是allow,就拒絕客戶端的請求,否則允許該請求,默認(rèn)存在的最后一條規(guī)則為“http_access deny all ”
    通常情況下,把最常用的控制規(guī)則放在最前面,以減少squid的負(fù)載。在訪問控制的總體策略上,建議采用“先拒絕后允許”或“先允許后拒絕”的方式。

二、squid日志分析

為了使我們查看日志更為直觀一些,可以使用SARG,它是一款squid日志分析工具,采用HTML格式, 詳細(xì)列出每位用戶訪問Internet的站點(diǎn)信息,時(shí)間占用信息、排名、連接次數(shù)、訪問量等。

1、導(dǎo)入gd包

1)導(dǎo)入gd包

[root@centos02 ~]# rz

Centos 7的squid服務(wù)器配置ACL訪問控制及日志分析

[root@centos02 ~]# ls
anaconda-ks.cfg  gd-devel-2.0.35-11.el6.x86_64.rpm  initial-setup-ks.cfg

2、安裝及配置sarg

[root@centos02 ~]# mount /dev/cdrom /mnt/  <!--掛載linux光盤-->
mount: /dev/sr0 寫保護(hù),將以只讀方式掛載
[root@centos02 ~]# tar zxvf /mnt/sarg-2.3.7.tar.gz -C /usr/src/ 
          <!--解壓縮sarg軟件包-->
[root@centos02 ~]# umount /mnt/   <!--卸載光盤-->
[root@centos02 ~]# mount /dev/cdrom /mnt/  <!--掛載操作系統(tǒng)盤-->
mount: /dev/sr0 寫保護(hù),將以只讀方式掛載
[root@centos02 ~]# rm -rf /etc/yum.repos.d/CentOS-* 
[root@centos02 ~]# yum -y install gd gd-devel httpd 
            <!--安裝sarg依賴軟件-->
[root@centos02 ~]# rpm -ivh gd-devel-2.0.35-11.el6.x86_64.rpm 
<!--檢查sarg軟件所需的依賴-->
[root@centos02 ~]# rpm -ivh gd-devel-2.0.35-11.el6.x86_64.rpm --nodeps    <!--強(qiáng)制忽略依賴關(guān)系安裝gd-devel-->
[root@centos02 ~]# rpm -qa | grep gd <!--檢查是否安裝成功-->
[root@centos02 ~]# rpm -qa | grep gd-devel <!--檢查是否安裝成功-->
[root@centos02 ~]# rpm -qa | grep httpd <!--檢查是否安裝成功-->
[root@centos02 ~]# mkdir /usr/local/sarg  <!--創(chuàng)建安裝sarg目錄-->
[root@centos02 ~]# cd /usr/src/sarg-2.3.7/   <!--進(jìn)入sarg目錄-->
[root@centos02 sarg-2.3.7]# ./configure --prefix=/usr/local/sarg --sysconfdir=/etc/sarg --enable-extraprotection    <!--配置sarg-->
[root@centos02 sarg-2.3.7]# make && make install <!--安裝sarg-->
[root@centos02 sarg-2.3.7]# ls -ld /etc/sarg/        
                <!--查看是否生成配置文件-->
drwxr-xr-x 2 root root 83 11月 18 10:35 /etc/sarg/     
[root@centos02 sarg-2.3.7]# ls -ld /usr/local/sarg/   
                <!--查看是否生成配置文件-->
drwxr-xr-x 4 root root 30 11月 18 10:35 /usr/local/sarg/
[root@centos02 ~]# cp /etc/sarg/sarg.conf /etc/sarg/sarg.conf.bak <!--備份sarg主配置文件-->
[root@centos02 ~]# vim /etc/sarg/sarg.conf  <!--修改sarg主配置文件-->
8 access_log /usr/local/squid/var/logs/access.log  
                      <!--指定squid的訪問日志文件-->
27 title "Squid User Access Reports"  <!--網(wǎng)頁標(biāo)題-->
122 output_dir /var/www/html/squid-reports  <!--sarg報(bào)告的輸出目錄-->
182 user_ip no      <!--使用用戶名顯示-->
189 topuser_sort_field BYTES reverse     <!--在top排序中,指定連接次數(shù)、訪問次數(shù),
采用降序排序,升序?qū)everse換成normal-->
196 user_sort_field BYTES reverse <!--對(duì)于用戶訪問記錄,
連接次數(shù)按降序排序-->
211 exclude_hosts /usr/local/sarg/noreport     
                              <!--指定不計(jì)入排序的站點(diǎn)列表文件-->
265 overwrite_report no  <!--當(dāng)那個(gè)日期報(bào)告已經(jīng)存在,是否覆蓋報(bào)告-->
298 mail_utility mailx   <!--發(fā)送郵件報(bào)告的命令-->
444 charset utf-8      <!--使用字符集-->
529 weekdays 0-6     <!--指定top排序時(shí)的星期周期,0為周日-->
537 hours 0-23         <!--指定top排序時(shí)的時(shí)間周期-->
646 www_document_root /var/www/html       <!--網(wǎng)頁根目錄-->
[root@centos02 ~]# mkdir -p /usr/local/sarg/noreport 
          <!--創(chuàng)建不計(jì)入排序的目錄-->
[root@centos02 ~]# ln -s /usr/local/sarg/bin/sarg /usr/local/bin/  
<!--優(yōu)化執(zhí)行命令-->
[root@centos02 ~]# sarg       <!--執(zhí)行sarg啟動(dòng)一次記錄-->
SARG: 紀(jì)錄在文件: 27, reading: 100.00%
SARG: 成功的生成報(bào)告在 /var/www/html/squid-reports/2019Nov18-2019Nov18
[root@centos02 ~]# systemctl start httpd   <!--啟動(dòng)httpd服務(wù)-->
[root@centos02 ~]# systemctl enable httpd <!--設(shè)置開機(jī)自動(dòng)啟動(dòng)-->

3、windows客戶端用瀏覽器訪問測試

http://192.168.100.20/squid-reports/
Centos 7的squid服務(wù)器配置ACL訪問控制及日志分析

http://192.168.100.20/sarg/
Centos 7的squid服務(wù)器配置ACL訪問控制及日志分析

三、編寫定期刷新日志的腳本

[root@centos02 ~]# vim log.sh  <!--創(chuàng)建腳本-->
#!/bin/bash
TD=$(date -d '1 day ago' +%d/%M/%Y)
/usr/local/sarg/bin/sarg -l /usr/local/squid/var/logs/access.log -o /var/www/html/sarg -z -d $YETD_$TD &> /dev/null
exit 0
[root@centos02 ~]# chmod +x log.sh   <!--腳本添加執(zhí)行權(quán)限-->
[root@centos02 ~]# ./log.sh &   <!--執(zhí)行腳本-->
[1] 7798
[root@centos02 ~]# vim /etc/rc.d/rc.local    
          <!--將腳本添加至開機(jī)自動(dòng)啟動(dòng)配置文件中-->
/root/log.sh
[root@centos02 ~]# chmod +x /etc/rc.d/rc.local  <!--添加執(zhí)行權(quán)限-->

—————— 本文至此結(jié)束,感謝閱讀 ——————

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前名稱:Centos7的squid服務(wù)器配置ACL訪問控制及日志分析-創(chuàng)新互聯(lián)
當(dāng)前URL:http://jinyejixie.com/article30/djcgso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、定制網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站排名、云服務(wù)器微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司