RHEL4升级2.6.19内核+L7补丁彻底封QQ,MSN
前言:
通常有众多Boss级人物会要求你封锁公司的QQ,msn通信,哪个心里是一百个不愿意啊,现实就是现实 冒着被公司众JJMMDD吐口水的危险你也不得不干啊,说干就干不废话ing了。 主要目的彻底封锁QQ,MSN通信 流程: 打上layer-7补丁 升级内核至2.6.19.7 升级iptables至1.3.7 适用环境:透过NAT共享上网的方式 (By Upkiller) 步骤: 一,下载所需要的软件包: 1,下载新内核linux-2.6.19.7 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.7.tar.bz2 2,下载iptables1.3.7 wget http://www.netfilter.org/projects/iptables/files/iptables-1.3.7.tar.bz2 3,下载Layer-7补丁,模块协议: http://sourceforge.net/project/showfiles.php?group_id=80085 l7-protocols-2007-01-14.tar.gz netfilter-layer7-v2.9.tar.gz 二,配置好内核选项: 1.把源码都放在/usr/src下 tar -jvf linux-2.6.19.7.tar.bz2 #解压 cd linux-2.6.19.7 2.配置内核源码: make menuconfig (内核配置参照2.6内核编译的说明文档,论坛很多的) 3.新内核加进了Proxy Server经常用到几个功能: Core Netfilter configuration (2.6.19.7内核netfilter的string,comment,quota,iprange等模块已集成了) ppp (point-to-point protocol) support PPP MPPE compression (encryption) #微软加密协议支持,做pptp vpn用得着哦 三,L7补丁: 1,安装l7协议: tar -zxvf l7-protocols-2007-01-14.tar.gz cd l7-protocols-2007-01-14 make install 2.L7内核支持补丁: cd /usr/src/linux-2.6.19.7 patch -p1 < /usr/src/netfilter-layer7-v2.9/kernel-2.6.18-2.6.19-layer7-2.9.patch 3,make menuconfig进去 把Layer 7 match support选上 四,编译内核: make make modules_install make install reboot选2.6.19.7内核启动 五,升级iptables: cd /usr/src/iptables-1.3.7 #打上iptables的Layer7补丁 patch -p1 < ../netfilter-layer7-v2.9/iptables-layer7-2.9.patch chmod +x extensions/.layer7-test export KERNEL_DIR=/usr/src/linux-2.6.20 export IPTABLES_DIR=/usr/src/iptables-1.3.7 make BINDIR=/sbin LIBDIR=/lib MANDIR=/usr/share/man install 六,测试 iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 1,用string模块封QQ的DNS: #封tencent iptables -I FORWARD -p udp --dport 53 -m string --string "tencent" --algo bm -j DROP #封.qq.com,717103636F6D这段数据包特征可用嗅探器获取, #如果直接用string封.qq.com,但是String模块不支持(估计是字符串匹配的问题) #封qq的话很多wqq,qqxx这样的域名都不能用了所以封.qq.com是最佳做法 iptables -I FORWARD -p udp --dport 53 -m string --hex-string "|717103636F6D|" --algo bm -j DROP 此方法可以使用hosts文件和代理的方式绕过。 2,彻底封杀QQ,分四步分别从udp,tcp,http代理,socks代理方式: #用L7自带的QQ协议封杀通过TCP出去的QQ通信 iptables -I FORWARD -p tcp -m multiport --dport 80,443 -m layer7 --l7proto qq -j DROP #封QQ的UDP 8000端口的通信 iptables -I FORWARD -p udp --dport 8000 -j DROP #封Socks代理 iptables -I FORWARD -p tcp -m layer7 --l7proto socks -j DROP #封QQ通过Http代理出去(网页代理功能正常): #新增一个过滤CONNECT模式的L7协议: cd /etc/l7-protocols/protocols #新建一文件httpagent.pat,内容如下: # The HttpAgent Connect Action httpagent ^\x43\x4F\x4E\x4E.+\x0D\x0A$ iptables -I FORWARD -p tcp -m layer7 --l7proto httpagent -j DROP 3,用L7封Msn: #封MSN iptables -I FORWARD -m layer7 --l7proto msnmessenger -j DROP 七,最后: 感谢CU版主及众高人的精彩文章,让小菜我可以完成这篇文档,也期望有人能得到什么 并希望有人继续完善提出更好更高效的方法。 参考文章: http://www.chinaunix.net/jh/4/853647.html http://bbs.chinaunix.net/viewthread.php?tid=505370 http://bbs.chinaunix.net/viewthread.php?tid=484867 http://linux.chinaunix.net/bbs/viewthread.php?tid=885123本文出自 51CTO.COM技术博客 |



wuqingying
博客统计信息
热门文章
最新评论
友情链接
