?? 使用snort阻止用戶瀏覽使用外部代理.txt
字號:
作者:studyboy
email: studyboy@21cn.com
日期:9/7/2001 9:27:53 PM
1 一些背景知識:
(1) HTTP/1.0 協議中,定義了web server 和client使用代理(proxy)時,在HTTP
request 和response頭中,使用Via: 標識使用的proxy server,用來防止server loop;
(2) snort 是開放源代碼的IDS(入侵檢測系統),可以用于主機或網絡IDS。具有很多
IDS規則,可以對捕捉的(ip,tcp,udp,icmp)包進行模式識別和匹配,并可產生相應記錄。
(3) libnet 是開放源代碼的軟件,可以作為網絡協議/包生成器。
(4) TCP/IP網絡是包交換網絡
(5) snort 同時具有使用libnet庫生成IP包的功能,可以通過發出TCP_RESET包,中斷
TCP連接。
2 前提:
(1) snort 運行于路由上(linux)或者通過交換機的port mirror功能,運行在路由的同一網絡段
3 實施:
(1) compile snort with flexresp(flex response) feature
(2) 定義snort 規則:
alert tcp $HOME_NET any <> $EXTER_NET 80 (msg:"block proxy";
uricontent:"Via:"; resp: rst_all;)
4 效果:
內部網絡用戶可以正常瀏覽外部網站,如果內部用戶的瀏覽器設置了外部的一個代理后,HTTP REQUEST 頭和RESPONSE頭會包括Via: ...字符,snort規則會捕捉到這個連接,然后向client 和server的socket發送RST包。這樣TCP連接就被終止了。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -