Linux防火墙iptables(三)

Linux防火墙iptables(三)

我们前面两篇已经把iptables介绍的比较充分了,今天来说一个iptables对layer 7的实践。我们说过iptables/netfilter工作在内核空间是不支持应用层协议的,但是诸如QQ、MSN、迅雷等应用我们是无法在传输层或者网络层完全封闭它们的,因为它们非常狡猾发现自己的端口被封掉之后会用其它打开的端口进行传输数据,所以只有在7层中封闭它们才行。所以有人就针对这种情况对iptables/netfilter进行了二次开发,写了一些补丁,我们打上这些补丁可以使iptables支持7层协议。

因为iptables-l7的作者在09年之后就没有在更新过这个补丁,所以它所依赖的内核版本和iptables程序包都比较老,所以我们需要自己编译内核,自己编译iptables才能使用。

我们需要用到以下几个包:

安装编译环境:

创建编译所需用户、解压内核文件:

Linux防火墙iptables(三)_第1张图片

Linux防火墙iptables(三)_第2张图片

向内核打layer 7的补丁:

 

配置并编译内核:

       为了节省时间,我们用系统自带的config文件做模板在其基础上进行修改

选择网络功能:

Linux防火墙iptables(三)_第3张图片

选择网络选项:

Linux防火墙iptables(三)_第4张图片

选择netfilter模块:

Linux防火墙iptables(三)_第5张图片

选择netfilter核心配置:

Linux防火墙iptables(三)_第6张图片

添加支持layer7层模块:

Linux防火墙iptables(三)_第7张图片

关闭RedHat内核模块校验:

Linux防火墙iptables(三)_第8张图片

Linux防火墙iptables(三)_第9张图片

Linux防火墙iptables(三)_第10张图片

Linux防火墙iptables(三)_第11张图片

保存退出:

Linux防火墙iptables(三)_第12张图片

       因为红帽为了防止其它人更改其内核模块进行二次发行,所以添加了模块签名机制,我们的模块没有红帽的签名,所以需要关闭这个功能才能编译成功。

#yum install screen -y

#screen

#make –j 4

#make modules_install

#make install

查看新内核是否安装成功:

Linux防火墙iptables(三)_第13张图片

使用新内核启动:

Linux防火墙iptables(三)_第14张图片

编译前的准备工作:

Linux防火墙iptables(三)_第15张图片

编译安装:

设置配套的脚本和配置文件:

Linux防火墙iptables(三)_第16张图片

安装layer7的补丁:

Linux防火墙iptables(三)_第17张图片

开启连接追踪功能:

Linux防火墙iptables(三)_第18张图片

Linux防火墙iptables(三)_第19张图片

构建实验拓扑:

       NAT Server:192.168.1.0/24, 192.168.23.0/24

       Client:192.168.23.0/24

Linux防火墙iptables(三)_第20张图片

Linux防火墙iptables(三)_第21张图片

创建NAT条目:

Linux防火墙iptables(三)_第22张图片

可以看到Client的确是通过NAT Server上网的:

Linux防火墙iptables(三)_第23张图片

现在QQ也可以登录:

Linux防火墙iptables(三)_第24张图片

设置layer7层条目拒绝QQ:

Linux防火墙iptables(三)_第25张图片

已经登录失败了:

Linux防火墙iptables(三)_第26张图片

匹配到的layer7的规则:

Linux防火墙iptables(三)_第27张图片

还是能够上网:

Linux防火墙iptables(三)_第28张图片

匹配到的NAT规则:

Linux防火墙iptables(三)_第29张图片

拒绝QQ连接的原理:

Linux防火墙iptables(三)_第30张图片

OK,我们的实验成功啦。可以有效的防止QQ登录,但是还可以上网。虽然我们可以完成这样甚至限制更多的7层服务的功能,但是我是不赞成公司使用的,因为只有自由开放的公司才有活力,靠权利去禁止某些东西归根结底治标不治本。如有错误敬请指出。

Linux防火墙iptables(三)_第31张图片

你可能感兴趣的:(Linux防火墙iptables(三))