防火墙简介

  防火墙是指一个或一组设备,它在网络之间执行访问控制策略。防火墙按照功能分类:无状态防火墙,状态防火墙。防火墙按照结构分类:单机防火墙,网关式防火墙及通透式防火墙。

无状态防火墙

  工作在osi第三层执行一些数据包过滤,比如边界路由器。应用了一个或多个访问列表以保证各种类型的恶意数据不能进入网络。

状态防火墙

  对给定会话中先前已看到的数据包进行跟踪,同时根据给定连接中已经了解到的信息对数据包进行应用访问策略。可以对tcp三次握手的过程进行跟踪,当出现超出握手序列号范围的情况给与拒绝接受该数据包。

单机防火墙

  如下图所示,第一个Public IP通常会分配给IP分享器(NAT)来使用,而整个企业网络就隐藏在IP分享器之后,另外两个Public IP可能就直接分配给企业对外的服务主机使用。这个结构的最大好处是成本低廉;缺点则是企业对外的服务主机直接挂在因特网上,任何来自Internet的***都由这两台主机自行承担。

网关式防火墙

  部署在“网关”位置的防火墙,网关式防火墙不同于单机防火墙,单机防火墙所能保护的范围只有本机而已,但网关式防火墙所能保护的范围则是整个网络。网关式防火墙因其结构上的差异,可分为不同的形式。

ip Forwarding

  将Linux设定为网关式防火墙其实就是利用它的路由功能,所以也必须要求Linux满足相应的条件。在硬件上必须要求使用两块或以上的网卡;要实现动态路由或特定的防火墙数据包转发时,需要设置net.ipv4.ip_forward内核变量。

– /etc/sysctl.conf
 – /proc/sys/net/ipv4/ip_forward (not persistent)


路由

  路由的作用是让不同的网络段之间可以进行数据包的传递;并且保证每个机器默认有一个网关让机器可以连接外部网络。设置路由可以使用route命令手动修改路由或者默认网关,配置完后立即生效。


 

route add default gw 192.168.0.1
 route add –net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.3 dev eth0


  也可以使用system-config-network 来配置(需要重启网络才生效)。

形式一

  由于在单机防火墙中存在缺点,所以有人主张将企业对外的服务主机放置在企业的内部网络。服务主面的IP地址改为内网的地址通过一对一的NAT映射到外网。形式如下图所示。以下的架构看起来不错,但却隐藏着致命的危机。以WEB Service为例,因为WEB主机存在的目的就是让Internet的使用者来访问,所以我们在防火墙上一定会开放Internet上所有的使用者都可以访问的80端口;但是在Web Service存在安全漏洞时,将可能变成***用来***网络的管道。类似于Nimda病毒就是利用IIS Service的漏洞来作为其传播的途径。“http://192.168.1.129/scripts/..xc1\x1c../winnt/system32/cmd.exe?/c+dir”。

形式二

  网关防火墙因为存在形式一的缺点,所以有人将其改进为以下的形式,在防火墙上再多加一片网卡,因此,可以多增加一个网段区域,这一段区域称为“非军事区”(Demilitarized Zone,DMZ),并将提供对外服务的主机放至DMZ区。假设形式一的安全漏洞发生在这个结构中,它对企业网络的危害比形式一要小得多。

形式三

  为了加强网关式防火墙的安全强度,有人主张将它改良成下图所示的架构。该结构的意义与“形式二”完全相同,其目的是把对外的主机放在一个独立的网段之中,因为该结构使用了两部防火墙主机,因此,安全性相对提升。

通透式防火墙

  在网关式防火墙中不管是哪一种形式,防火墙本身都是一个路由器,因此在部署防火墙时,必须严谨考虑到Routing的问题。如下图所示,如果我们希望以一台防火墙来保护原有的Mail和Web主机,如么Mail及Web的IP就一定要改变,如果网络环境再复杂一点,好么要变更的设定将会更复杂。通透式防火墙(Transparent Firewall)就是一个Bridge设备,并且在该设备上赋予过滤的能力,因为Bridge是工作在第二层的网络设备,因此,不会有任何路由的问题而且也无须指定IP 。因此,通透式防火墙的部署能力相关强,且隐密性相当高,即使***要***这个防火墙也会因没有目的端IP而大伤脑筋。