Linux 版 (精华区)

发信人: NightOwl (蜕变中...), 信区: Linux
标  题: [ZZ]基于linux的具有DMZ(非军事区)的防火墙
发信站: 紫 丁 香 (Sun Dec 12 03:14:10 1999), 转信

网络工作室--知识库 : Linux操作系统 : 网络 :
基于LINUX的具有DMZ(非军事区)的防火墙的构建
/* 原文出自http://frost.ncic.ac.cn/~xhg/
   欢迎建议和意见*/

                基于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的记费方案。
                (详情请致电010-62771617,62771618,62771619,62771620)
6。感谢
        感谢清华得实的李智鹏,是他给了我一个从事防火墙开发的机会,
         以及许多的建议和帮助。
        感谢NCIC的赵鹏,是他提供了完成本文的机器。
        感谢我的女友,是她给了我在工作上的支持和鼓励。
        感谢LINUX,它让我们用简单的步骤实现我们的目标。
admin@studio.openunix.org
[Append to This Answer]
Previous:  [FAQ] 关於 NAT
Next:  Linux中IP隧道的分析与建议
This document is: http://studio.openunix.org/cgi-bin/fom?file=299
 [Search] [Appearance]
讨论组 网络工作室

--
       @@@@           @@@@
     @@@@@ @@   N   @@ @@@@@
   \ @@@@ @ @@  i  @@ @ @@@@ /
      @@@  @@   g   @@  @@@
        @@@     h     @@@
      \         t         /

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.179.51]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.498毫秒