基于LINUX的具有DMZ(非军事区)的防火墙的构建
1。介绍本文将介绍如何利用Linux来建立一个更具有实用意义的防火墙.
在当前,Internet越来越普遍的在企业,学校中使用,而安全问题也越来
越得到重视,如何能让内部的用户使用INTERNET而又能保护内部服务器以及
外部发布公共信息服务器的安全,这种需求使得防火墙广泛的在企业中得到
广泛的使用。但是,这种类型的防火墙是需要大量的经费的,如CISCO的IPX,
CHECK POINT的FIRWALL-I等。利用一个稳定内核的LINUX,同样也能做到一个
功能齐备的防火墙,而它的费用也只是其他同类防火墙的几十分只一。
感谢LINUX,它让我们用简单的步骤实现我们的目标。
本文可以自由转载,只要不破坏以及修改本文即可。
2。概念
在开始创建防火墙之前,我们有几个概念需要明白。
1。防火墙(Firewall),它是利用网络层的ip包过滤程序以及一些规则
来保护内部网的一种策略,有硬件实现,以及软件的实现。
2。停火区(非军事区),也称为DMZ,是一个公布信息的区域,外部
INTERNET以及内部INTRANET可以自由的访问该区。
3。内部网(Intranet,or Private Network),是企业或学校内部使用
的网络,可能重要的不对外公开的服务器都在其中。
4。外部网,可以说是INTERNET,是一个不安全的网络,存在大量有用的
信息以及一些可能有恶意攻击内部网的人。
5。地址转换,内部网的任何机器通过防火墙时,源地址均被设置成防火墙的
外部地址。即在外部看来,内部的机器均是一个地址。
下面是一个图例:
-----------------
| Internet |192.168.2.0/24
-----------------
| DMZ(停火区)
|192.168.2.1 ------
--- | |
| |192.168.1.1 | | 192.168.1.0/24
防火墙 | |------------------| |
| | | |
------- ------
|192.168.0.1
|
| Intranet(内部网)192.168.0.0/24
-----------------------------------
| | |
------------------------------------
注:以上IP的设置不是真实的,这需要结合您本地的需要来重新设置。
外部网侧的网卡是192.168.2.1
内部网侧的网卡是192.168.0.1
DMZ侧的网卡是:192.168.1.1
假定停火区中有一台机器(192.168.1.8)提供 80端口的WWW服务。
并假定内部网到外部需要进行NAT(地址转换的功能)
3。目标
防火墙要实现的目标如下:
1。内部无限制的访问INTERNET以及DMZ(停火区)。
2。外部可以访问DMZ的机器的公开的端口。在本例中是80.
3。外部不能访问到内部以及防火墙。
4。DMZ不可以访问内部。
通过这个目标,您就可以实现了一个防火墙的需求:
1。保护内部网络。
2。保护DMZ中的某些存在BUG的端口。只公布它需要提供的端口。
4。构建步骤
1。硬件:需要配好有3张网卡的机器。RAM越大越好。CPU越快越好。:-))
2。软件:当然是linux啦。我用的是redhat 5.0,5.1也可以。
3。内核:要打开ip-firewall,ip-masqurade(如果您想实现地址转换功能的话).....
具体可以看Firewall-HOWTO.
4。配置网卡,网上有很多配置的方法啦。
一般是先配好一张网卡,如果剩下的两张是跟原来是不同型号的
,需要配置
一下/etc/conf.modules.加上网卡的类型模块。如果是同类型的
网卡,就在
lilo.conf中加入append="ether=irq,iobase,eth0 ether=irq,iobase,eth1,ether=irq,iobase,eth2.
5。配置网卡的路由。
6。配置规则。也就是ipfwadm的规则啦。
有对ipfwadm不了解的可以看man ipfwadm or man ipfw.
#-----------------
ipfwadm -I -p deny
ipfwadm -O -p deny
ipfwadm -F -p deny
#------------------------------
# deny ip spoof.
ipfwadm -I -a deny -V 192.168.2.1 -S 192.168.0.0/24
ipfwadm -O -a deny -V 192.168.2.1 -D 192.168.0.0/24
# deny outside access intranet
ipfwadm -I -a deny -V 192.168.2.1 -D 192.168.0.0/24
ipfwadm -O -a deny -V 192.168.2.1 -S 192.168.0.0/24 -k
# allow firewall access outside
ipfwadm -I -a accept -V 192.168.2.1 -D 192.168.2.1 -k
ipfwadm -O -a accept -V 192.168.2.1 -S 192.168.2.1
# deny outside access firewall
ipfwadm -I -a deny -V 192.168.2.1 -D 192.168.1.1
ipfwadm -I -a deny -V 192.168.2.1 -D 192.168.2.1
# allow inside access outside.
ipfwadm -O -a accept -V 192.168.0.1 -D 192.168.0.0/24 -k
ipfwadm -I -a accept -V 192.168.0.1 -S 192.168.0.0/24
# allow outside access DMZ.
ipfwadm -O -a accept -P tcp -V 192.168.1.1 -D 192.168.1.8 80
ipfwadm -I -a accept -P tcp -V 192.168.1.1 -S 192.168.1.8 80 -k
# IP FORWARD。。
ipfwadm -F -a m -S 192.168.0.0/24
ipfwadm -F -a accept -S 192.168.1.0/24
ipfwadm -F -a accept -D 192.168.1.0/24
4。测试
现在,您可以通过测试来查看规则设置得是否正确。
1。从内部网访问外部INTERNEt,以及DMZ。
2. 从外部访问DMZ,看是否可以访问到80端口,以及是否可以访问其他端口。
3。从外部访问内部。看是否可以访问到。--不可以。
5。结论
这是一种简单的防火墙的配置方法。更复杂的配置还包括限制内部
用户对外部IP的访问。
现有的产品有清华得实的NETST防火墙,它提供图形化的配置界面和
更加细致的访问 控制以及针对IP的记费方案。
页:
[1]