Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3401449
  • 博文数量: 534
  • 博客积分: 11595
  • 博客等级: 上将
  • 技术积分: 5785
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-22 17:00
文章分类

全部博文(534)

文章存档

2015年(4)

2014年(27)

2013年(15)

2012年(38)

2011年(36)

2010年(85)

2009年(63)

2008年(142)

2007年(124)

分类: LINUX

2007-06-28 15:02:08


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
阅读(2065) | 评论(0) | 转发(0) |
0

上一篇:diff && patch

下一篇:Tracert的原理及使用

给主人留下些什么吧!~~