iptables防火墙详解及使用layer7阻止qq,酷狗,等P2P软件

字体大小: 中小 标准 ->行高大小: 标准

防火墙其实就是一个加固主机或者网络安全的一个设备或者软件而已,通过防火墙可以隔离风险区域与安全区域的连接,同时不会妨碍风险区域的访问.当然需要注意的是世界上没有绝对的安全,防火墙也只是启到一定的安全防护,那么下面来说下防火墙的几种分类,

第一种软件防火墙,软件防火墙需要运行在特定的计算机上,而且需要计算机的操作系统的支持,

第二种硬件防火墙,硬件防火墙其实就是一个普通pc机的架构,然后上面跑有专门的操作系统.

第三种芯片级的防火墙,这种防火墙基于专门的硬件平台,没有操作系统,专有的ASIC芯片使它们比其他类的防火墙速度更快,处理能力极强,性能更高,但是价格却极其昂贵,

从技术方面实现的防火墙也可分为三种,

第一种包过滤型防火墙,这类的防火墙主要是工作在网络层,根据事先设定好的规则进行检查,检查结果根据事先设定好的处理机制进行处理

第二种应用层防火墙,它是工作在TCP/IP模型中的最高层应用层,相比较来说速度要慢一点

第三种状态监视器,状态监视做为防火墙其安全性为最佳,但配置比较复杂,且网络速度较慢

一般在企业中防火墙的部署有以下几种

一,单宿主堡垒主机  ,由于使用的rhel6.2的系统,做图不是很好做,所以没有图,只有简单的介绍

单宿主堡垒主机其实就是单台服务器有防火墙,只为单台服务器防护,

二,双宿主堡垒主机,

双宿主堡垒主机是一台装有两块网卡的堡垒主机,一般这台堡垒主机应用在网关,防护局域网跟广域网之间通信等安全

三,三宿主堡垒主机

三宿主堡垒主机是一台装有三块网卡的堡垒主机,那么他将外网,内网,DMZ 三个区域隔离开来,同时保护内网已经DMZ区域的安全等

四,背靠背,  这个的话没图解释起来比较复杂,我在网上搜一张图片吧

不用解释一看图就知道是怎么回事了. 实际上前端防火墙是防护外网到DMZ区域以及到内网,后端防火墙是防护内网到DMZ区域的安全

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
说了这么多下面来说说linux上面的iptables的应用吧,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
目录
一,IPTABLES的简介
二,IPTABLES的表和链
三,IPTABLES的几个状态
四,IPTABLES的命令及使用
五,IPTABLES的脚本编写
六,给内核打layer7补丁,并重新编译内核及IPTABLES来实现封杀QQ,酷狗,迅雷,等软件

注:个人的总结,当然也从一些书籍里面找了一些资料,写的不全,还望大家多多指点,thx!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

一,IPTABLES的简介
1.  简介
     IPTABLES/netfilter(http://www.netfilter.org) 其实大多数人都认为iptables是linux系统上的一个服务,其实不是的. 我们linux系统上的服务比如说httpd服务在启动起来的时候,是不是在后台启动一个相应的服务进程且在网卡上监听一个端口,而iptables却不然,那么iptables到底是什么呢?其实iptables只是一个工具而已.我们的linux系统有用户空间,和内核空间,而iptables有两个组件,一是netfilter,  netfilter组件只是用来过滤防火墙规则,及作出相应的处理机制的,它是集成在内核中的一部分,也就是说它是工作在内核空间的,那么大家都知道用户是不可能直接跟内核空间打交道的,那么netfilter只是工作在内核空间对规则进行处理的,那么规则从何而来呢? 是从iptables的第二个组件iptables而来的,我们上面说了IPTABLES只是一个工作在用户空间的一个工具而已,那么用户就使用这个工具的一个命令来跟工作在内核空间中的netfiter组件打交道的.其实IPTABLES防火墙就是这样的.

二,IPTABLES的表和链
     IPTABLES常用的表和链有三个filter表 nat表 mangle表, 和五个链 INPUT链 OUTPUT链 FORWARE链 POSTROUTING链 PREROUTING链,  下面来介绍下它们的各个功能呢个功能,
1.filter表
   filter表主要是过滤数据包的,IPTABLES几乎所有的数据包过滤都在此表中实现的,filter表也是IPTABLES中默认的表,此表中还包含三个链如下
1.1 INPUT链
      过滤所有的目标地址是本机的数据包
1.2 OUTPUT链
      过滤所有从本机出去的数据包
1.3 FORWORD链
      过滤所有从本机路过的数据包

2.nat表
   nat表主要是用于做网络地址转换的(NAT) 在IPTABLES中可以做SNAT(源地址转换),DNAT(目标地址转换),PANT(即跟SNAT差不多,不一样的是SNAT的源地址是固定的,而PNAT的源地址是不固定的,当使用ppp 或pppoe的方式连接互联网的时候一般适应这中) 。 nat表中包含两个链如下
2.1 PREROUTING链
      在数据包到达防火墙的时候改变目标地址 DNAT应用于此链.
2.2 OUTPUT链
      可以改变本地产生的数据包的目标地址
2.3 POSTROUTING链
      在数据包离开防火墙的时候改变源地址,SNAT应用于次链

3. mangle表
    mangle表主要是修改数据包头部信息的,此表中包含以下5条链
3.1 PREROUTING链,
      在数据包进入防火墙之后,也称为路由前,
3.2 POSTROUTING链,
       在数据包确定目标地址后,也称为路由后,
3.3 OUTPUT链
       从本机出去的时间包路由前
3.4 INPUT链
       数据包进入本机后,路由后
3.5 FORWARD链
       第一次路由判断之后,最后一次路由判断之前改变数据包

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/65788.html