防偽碼:仰天大笑出門去,我輩豈是蓬蒿人
第一章 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
謝謝觀看,真心的希望能幫到您!
本文出自 “一盞燭光” 博客,謝絕轉載!
更多建議: