Linux Squid透明代理+ACL訪問控制+日志分析

2018-07-31 14:42 更新

防偽碼:仰天大笑出門去,我輩豈是蓬蒿人

     第一章 Squid透明代理+ACL訪問控制+日志分析

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

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

一、構建透明代理服務器

1、實驗拓撲:

2、 實驗步驟

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

2) 編譯安裝

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

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

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

--enable-linux-netfilter   //使用內核過濾

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

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

--enable-err-language=”Simplify_Chinese”   //錯誤信息的顯示語言

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

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

--enable-gnuregex   //使用GNU正則表達式

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

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

Vim  squid,內容如下:

;;

asac(補充)

設置權限,并添加為系統(tǒng)服務。

5) 修改配置文件

Vi  /etc/squid.conf

主要修改有以下幾條配置項,有的配置項需要修改,而有的配置項需要添加。

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

       cache_effective_group squid                    squid的運行組    添加

        cache_effective_user squid                      squid的運行用戶 添加

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

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

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

7) 啟動squid服務

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

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

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

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

9)在服務器A上開啟路由轉發(fā)

臨時: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ǎng)站(配置網(wǎng)關)

12)驗證透明代理

在服務器B上查看的訪問者是代理服務器172.16.16.1,說明實驗正確。

上面的這個實驗屬于正向代理

二、 設置ACL訪問控制

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

2、 超過4mb大小的文件不進行緩存,禁止下載超過10mb的文件

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

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

5、 默認策略設置為禁止任何客戶機使用代理服務器。

 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

在客戶端上測試下載文件,超過10mb就禁止下載

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

查看如圖:

在客戶端上分別下載

三、 squid日志分析

1、 安裝gd庫

2、 安裝sarg

--enable-extraprotection  添加額外的安全保護

3、 配置

修改以下內容,不用添加,修改即可

1)制定squid的訪問日志文件

2)網(wǎng)頁標題

3)sarg報告的輸出目錄

4)使用用戶名顯示,根據(jù)連接次數(shù),訪問字節(jié)數(shù),采用降序排序,升序將reverse換成normal。

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

5)當有日期報告存在,是否覆蓋報告

6)發(fā)送郵件報告

7)制定不計入排序的站點列表文件

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

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

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

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

5、 驗證

6、 計劃任務

vim /usr/local/sarg/daiy.sh

crontab -e

每天0點運行統(tǒng)計昨天的內容

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

Chkconfig crond on

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


本文出自 “一盞燭光” 博客,謝絕轉載!

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號