IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

如何阻止用户浏览使用外部代理

2007年10月11日
网络/佚名
一些背景知识:

(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连接。



前提:

(1) snort 运行于路由上(linux)或者通过交换机的port mirror功能,运行在路由的同一网络段



实施:

(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;)



效果:

内部网络用户可以正常浏览外部网站,如果内部用户的浏览器设置了外部的一个代理后,HTTP REQUEST 头和RESPONSE头会包括Via: ...字符,snort规则会捕捉到这个连接,然后向client 和server的socket发送RST包。这样TCP连接就被终止了。
发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

风险管理 大数据分析并不是风险“预言家”
风险管理 大数据分析并不是风险“预言家”CIO们在使用大数据分析工具的前提是部署云计算,但是云计算不无高风险,例如把关...
高性能万兆WAF创造Web安全防护新境界
高性能万兆WAF创造Web安全防护新境界启明星辰万兆WAF在超过10G数据吞吐量的情况下还能实现对SQL注入、XSS跨站等攻击进...

本类热点