Linux Squid透明代理+ACL訪問(wèn)控制+日志分析

2018-07-31 14:42 更新

防偽碼:仰天大笑出門(mén)去,我輩豈是蓬蒿人

     第一章 Squid透明代理+ACL訪問(wèn)控制+日志分析

前言:搭建代理服務(wù)器可以提高上網(wǎng)打開(kāi)網(wǎng)頁(yè)的速度,可以對(duì)非法網(wǎng)站進(jìn)行屏蔽,限制文件下載,以及查看員工訪問(wèn)internet的情況,包括上網(wǎng)的地址,用戶,時(shí)間等,是企業(yè)網(wǎng)絡(luò)管理的常用手段。

代理服務(wù)器分為傳統(tǒng)代理和透明代理,傳統(tǒng)代理適用于瀏覽internet,需要在瀏覽器上手工指定服務(wù)器地址和端口,不是很方便,但是可以隱藏本機(jī)真實(shí)的ip地址,而且為下載工具使用多個(gè)代理可以規(guī)避服務(wù)器的并發(fā)連接顯示。透明代理適用于共享上網(wǎng)網(wǎng)關(guān),不需要指定服務(wù)器地址和端口,無(wú)需額外的設(shè)置即可上網(wǎng),在實(shí)際工作中透明代理較多。

一、構(gòu)建透明代理服務(wù)器

1、實(shí)驗(yàn)拓?fù)洌?/span>

2、 實(shí)驗(yàn)步驟

1)在服務(wù)器A上安裝Squid代理服務(wù)器軟件(掛載光盤(pán),解壓縮)

2) 編譯安裝

--prefix=/usr/local/squid   //安裝目錄

--sysconfdir=/etc   //單獨(dú)將配置文件修改到其他目錄

--enable-arp-acl   //可以在規(guī)則中設(shè)置直接通過(guò)客戶端mac進(jìn)行管理,防止客戶端使用ip欺騙攻擊

--enable-linux-netfilter   //使用內(nèi)核過(guò)濾

--enable-linux-tproxy   //支持透明模式

--enable-async-io=值   //異步i/o,提升存儲(chǔ)性能

--enable-err-language=”Simplify_Chinese”   //錯(cuò)誤信息的顯示語(yǔ)言

--enable-poll   //使用Poll()模式,提升性能

--enable-underscore   //允許url中有下劃線

--enable-gnuregex   //使用GNU正則表達(dá)式

3) 創(chuàng)建鏈接文件,創(chuàng)建用戶和組

4) 使用squid服務(wù)腳本(為了能夠方便啟動(dòng)停止服務(wù))

Vim  squid,內(nèi)容如下:

;;

asac(補(bǔ)充)

設(shè)置權(quán)限,并添加為系統(tǒng)服務(wù)。

5) 修改配置文件

Vi  /etc/squid.conf

主要修改有以下幾條配置項(xiàng),有的配置項(xiàng)需要修改,而有的配置項(xiàng)需要添加。

        http_port 192.168.1.1:3128 transparent                                    squid的默認(rèn)監(jiān)聽(tīng)端口tcp 修改  

       cache_effective_group squid                    squid的運(yùn)行組    添加

        cache_effective_user squid                      squid的運(yùn)行用戶 添加

        visible_hostname yangwen                      當(dāng)前系統(tǒng)的主機(jī)名  添加

        cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256          去掉“#”

6) 在防火墻上添加允許策略

7) 啟動(dòng)squid服務(wù)

執(zhí)行:Squid  -k  parse檢測(cè)語(yǔ)法是否正確,出現(xiàn)很多內(nèi)容,一般不用理會(huì),沒(méi)有提示錯(cuò)誤就可以。

執(zhí)行squid  -z 初始化緩存目錄,此步必須要做,執(zhí)行完之后稍微等一會(huì)。

執(zhí)行squid啟動(dòng)服務(wù),也可以使用service  squid  start啟動(dòng)服務(wù),第一次啟動(dòng)最好用squid啟動(dòng)。

8) 在服務(wù)器B上搭建網(wǎng)站,并開(kāi)啟入站規(guī)則

9)在服務(wù)器A上開(kāi)啟路由轉(zhuǎn)發(fā)

臨時(shí):echo "1" > /proc/sys/net/ipv4/ip_forward

永久:vim /etc/sysctl.conf 

修改net.ipv4.ip_forward = 1

然后sysctl  -p激活

10)配置防火墻重定向,并service iptables save保存

11)在客戶端上訪問(wèn)網(wǎng)站(配置網(wǎng)關(guān))

12)驗(yàn)證透明代理

在服務(wù)器B上查看的訪問(wèn)者是代理服務(wù)器172.16.16.1,說(shuō)明實(shí)驗(yàn)正確。

上面的這個(gè)實(shí)驗(yàn)屬于正向代理

二、 設(shè)置ACL訪問(wèn)控制

1、 禁止下載擴(kuò)展名為:.mp4,avi視頻

2、 超過(guò)4mb大小的文件不進(jìn)行緩存,禁止下載超過(guò)10mb的文件

3、 設(shè)置網(wǎng)站黑名單,禁止訪問(wèn)位于.qq.com,.lol.com的網(wǎng)站

4、 允許在正常上班時(shí)間(周一到周五8:30-17:30)上網(wǎng)

5、 默認(rèn)策略設(shè)置為禁止任何客戶機(jī)使用代理服務(wù)器。

 Vim  /etc/squid.conf

acl safeport port 80 443

acl mylan src 192.168.1.0/24

acl mediafile urlpath regex -i \.mp4$ \.avi$

acl dmblock dstdomain "/etc/dmbokck.list"

acl working time MWTHF 08:30-17:30

http_access allow mylan working safeport !mediafile !dmblock

http_access deny all

reply_body_max_size 10 MB

maximum_object_size 4096 KB

在客戶端上測(cè)試下載文件,超過(guò)10mb就禁止下載

(在服務(wù)器B的網(wǎng)站目錄下新建a.data(15mb)和b.data(5mb)

查看如圖:

在客戶端上分別下載

三、 squid日志分析

1、 安裝gd庫(kù)

2、 安裝sarg

--enable-extraprotection  添加額外的安全保護(hù)

3、 配置

修改以下內(nèi)容,不用添加,修改即可

1)制定squid的訪問(wèn)日志文件

2)網(wǎng)頁(yè)標(biāo)題

3)sarg報(bào)告的輸出目錄

4)使用用戶名顯示,根據(jù)連接次數(shù),訪問(wèn)字節(jié)數(shù),采用降序排序,升序?qū)everse換成normal。

于用戶訪問(wèn)記錄,連接次數(shù)按降序排列。

5)當(dāng)有日期報(bào)告存在,是否覆蓋報(bào)告

6)發(fā)送郵件報(bào)告

7)制定不計(jì)入排序的站點(diǎn)列表文件

8)使用的字符集為國(guó)際編碼

9)制定top排序的星期周期和時(shí)間周期,0位周日

10)網(wǎng)頁(yè)根目錄

4、 運(yùn)行Touch  /usr/local/sarg/noreport(別忘了service httpd start)

5、 驗(yàn)證

6、 計(jì)劃任務(wù)

vim /usr/local/sarg/daiy.sh

crontab -e

每天0點(diǎn)運(yùn)行統(tǒng)計(jì)昨天的內(nèi)容

Chmod  +x /usr/local/sarg/daily.sh

Chkconfig crond on

謝謝觀看,真心的希望能幫到您!


本文出自 “一盞燭光” 博客,謝絕轉(zhuǎn)載!

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)