RHEL4升级2.6.19内核+L7补丁彻底封QQ,MSN
流程:
打上layer-7补丁
升级内核至2.6.19.7
升级iptables至1.3.7
适用环境: 透过NAT共享上网的方式
步骤:
一,下载所需要的软件包:
1,下载新内核linux-2.6.19.7
wget
2,下载iptables1.3.7
wget
3,下载Layer-7补丁,模块协议:
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
阅读(2133) | 评论(0) | 转发(0) |