wangyoubang 于 2009-08-02 09:07:51发表:
学习了
85030455 于 2009-04-28 09:48:58发表:
学习了 很详细的 啊~
l460618498 于 2009-04-25 21:02:03发表:
lazyhaha 于 2009-04-24 08:59:30发表:
呵呵,学习了。
rxy_pink 于 2009-03-25 14:05:55发表:
这个,,比较的长。。。。。
jerry520 于 2009-03-25 11:17:45发表:
呵呵,学习了.
asiaec 于 2009-03-24 11:57:58发表:
基于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,它让我们用简单的步骤实现我们的目标。
wangyoubang 于 2009-08-02 09:07:51发表:
学习了
85030455 于 2009-04-28 09:48:58发表:
学习了
很详细的 啊~
l460618498 于 2009-04-25 21:02:03发表:
学习了
lazyhaha 于 2009-04-24 08:59:30发表:
呵呵,学习了。
rxy_pink 于 2009-03-25 14:05:55发表:
这个,,比较的长。。。。。
jerry520 于 2009-03-25 11:17:45发表:
呵呵,学习了.
asiaec 于 2009-03-24 11:57:58发表:
基于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,它让我们用简单的步骤实现我们的目标。