以前我已经写过一次《利用FreeBSD组建安全的网关》,主要偏向于如何建立一个FreeBSD
防火墙,而
防火墙在很多时候主要是要看如何使用,现在我们看看如何使用建立好了的FreeBSD
防火墙保护企业,关于FreeBSD的
防火墙建设过程请参考我的《利用FreeBSD组建安全的网关》,首先假设某企业有以下
服务器和工作站:
1、WEB
服务器两台、一台企业主页,一台做BBS,希望IP地址为xxx.xxx.xxx.001和xxx.xxx.xxx.002
2、DNS
服务器一台,并且兼带企业E-mail服务,IP地址为xxx.xxx.xxx.003,把www.testdomain.com解析到xxx.xxx.xxx.001以及bbs.testdomain.com解析到xxx.xxx.xxx.002
3、企业内部局域
网络,计算机N台,IP地址为10.125.0.0到10.125.255.255
对于这样的一个企业,我们首先要设计好
网络构架,在设计的同时要考虑到各个
服务器以及内部
网络各放在什么位置,才能更有效的配合
防火墙,使得
防火墙对每个部分都能充分的保护。
网管网www_bitscn_com 我们首先来分析一下“黑客”入侵的手段和途径,作为一个入侵者,他的第一步自然是先要找到目标企业在
网络中的位置,假设他已经知道该企业没有使用主机托管服务,而是和企业的
网络放在了一起,那么他只须ping一下该企业的主页就能了解到该企业的IP地址为xxx.xxx.xxx.001和xxx.xxx.xxx.002,而另外还有一台DNS
服务器,也可以使用nslookup这样的工具,一下就能查到目标企业的DNS
服务器为地址xxx.xxx.xxx.003,并且他还会计划,假设已经进入以上三台
服务器中的一台,他就会马上分析
网络结构,并且进入内网,获取内部
网络员工资料,以及很多重要数据。从上面看得出来,要保护这个
网络,我们需要做很多东西,首先我们可以想办法对
服务器之间以及
服务器和内部
网络之间进行隔离,但又能应用到他们应该有的功能,现在对该企业的
网络做如下策划:
网管联盟bitsCN@com
首先确定FreeBSD
防火墙是作为企业连接到Internet
服务器的唯一途径,然后对FreeBSD进行一定的设置,开启它的ipfirewall以及NATD功能,上图告诉了我们现在是把WWW、BBS、DNS等
服务器都放在内部进行保护,所以在
防火墙要开启NATD的反向代理功能,首先我们把xxx.xxx.xxx.001,xxx.xxx.xxx.002,xxx.xxx.xxx.003,绑定在FreeBSD外部网卡上,假设外部网卡号为fxp0,在rc.conf里我们需要设置如下:
ifconfig_fxp0="inet xxx.xxx.xxx.001 netmask 255.255.255.0"
ifconfig_fxp0_alias0="inet xxx.xxx.xxx.002 netmask 255.255.255.0"
ifconfig_fxp0_alias1="inet xxx.xxx.xxx.003 netmask 255.255.255.0"
绑好之后我们现在就开始分析了,首先我们来看看内部
网络,内部要上Internet就必须要有一个网关,并且让他们正常的使用
网络,假设FreeBSD内部网卡编号为fxp1,那么我们还要在rc.conf里加入:
网管下载dl.bitscn.com
ifconfig_fxp1="inet 10.125.0.1 netmask 255.255.0.0"
然后在
防火墙规则里加上:
divert 8668 ip from any to any via fxp0
这条规则,允许NATD服务,仅允许NATD服务还不行,还要设置内部
网络能连接到Internet,我们再加上:
allow ip from any to 10.125.0.0/16
allow ip from 10.125.0.0/16 to any
内部
网络设置Gateway为10.125.0.1,这样企业的内部
网络就能正常连接到Internet了。
然后我们来看看WWW
服务器,这个
服务器一般来说只要开放三个端口就够了,第一个端口自然是HTTP端口不用说了,第二个端口那就是ftp端口以及ftp数据端口,其中HTTP端口自然是让Internet上以及企业内部访问的端口,而FTP端口是用来更新主页或做别的事的,并且只须要企业内部人员访问就足够了,当然有必要的话还要开telnet或ssh端口,这是方便企业内部系统管理员远程管理的,这里我建议使用ssh,并且为了防止万一入侵者进来了,他可能要对其他机器进行攻击,我决定对WWW
服务器进行单独分离,现在假设FreeBSD的内部网卡编号为fxp1,我们编辑rc.conf文件,加上:
网管bitscn_com
ifconfig_fxp1_alias0 ="inet 10.80.0.1 netmask 255.255.255.0"
然后我们把WWW的
服务器设置成10.80这个网段,网关为10.80.0.1,这样就把WWW
服务器单独划在了一个特殊的区域里了,假设我们设置WWW的IP为10.80.0.80现在我们再设置
防火墙规则:
allow tcp from any to xxx.xxx.xxx.001 80 in
allow tcp from xxx.xxx.xxx.001 80 to any out //允许任意地方能访问
防火墙的80
allow tcp from 10.80.0.80 80 to any out
allow tcp from any to 10.80.0.80 80 in //允许任意地方访问WWW
服务器的80端口
allow tcp from 10.125.0.0/16 to 10.80.0.80 21 in
allow tcp from 10.125.0.0/16 to 10.80.0.80 20 in
allow tcp from 10.80.0.80 21 to 10.125.0.0/16 out
allow tcp from 10.80.0.80 20 to 10.125.0.0/16 out //允许内部
网络使用FTP
服务器连接WWW
服务器
网管论坛bbs_bitsCN_com
设置完成
防火墙规则还不行还需要设置NATD,我们设置NATD为:
redirect_port tcp 10.80.0.80:80 xxx.xxx.xxx.001:80
这样设置以后,WWW
服务器就可以允许企业内部人员顺利的更新主页和浏览主页了,而Internet却只能浏览WWW
服务器上的主页,就算万一WWW
服务器利用HTTP
服务器入侵了该机器,由于该
服务器的各种连接都被放火墙阻断,而无法对企业内部
网络进行入侵和破坏,达到充分保护WWW
服务器以及内部
网络的目的。
现在我们再来分析DNS
服务器,由于BBS
服务器和WWW
服务器实质上都一样这里就不讨论了,DNS
服务器自然要提供DNS
服务器,也就是UDP53端口,由于同时还带MAIL功能,所以还要开放SMTP端口以及POP3端口,而POP3
服务器同样只允许内部企业访问,所以我们给rc.conf加入:
网管下载dl.bitscn.com ifconfig_fxp1_alias0="inet 10.80.2.1 netmask 255.255.255.0"
然后给DNS
服务器设置IP为10.80.2.53,设置
防火墙规则为:
allow udp from any to xxx.xxx.xxx.003 53 in
allow udp from xxx.xxx.xxx.003 53 to any out //允许任意地方能访问
防火墙的53端口
allow tcp from any to xxx.xxx.xxx.003 25 in
allow tcp from xxx.xxx.xxx.003 25 to any out //允许任意地方能访问
防火墙的smtp端口
allow udp from 10.80.2.53 53 to any out
allow udp from any to 10.80.2.53 53 in //允许任意地方访问DNS
服务器的53端口
allow tcp from any to 10.80.2.53 25 in
allow tcp from 10.80.2.53 25 to any out //允许任意地方访问DNS的SMTP端口
allow tcp from 10.125.0.0/16 to 10.80.2.53 110 in
allow tcp from 10.80.2.53 110 to 10.125.0.0/16 out //允许企业内部访问DNS的POP3端口
网管u家u.bitscn@com NATD设置为:
redirect_port udp 10.80.2.53:53 xxx.xxx.xxx.003:53 //把10.80.2.53的53转到xxx.xxx.xxx.003的53上,使用的UDP。
redirect_port tcp 10.80.2.53:25 xxx.xxx.xxx.003:25 //把10.80.2.53的25转到xxx.xxx.xxx.003的25上,使用的TCP。
按照上面的规则设置好企业
网络后,使得企业
网络保护更加的严密,
服务器和
服务器之间以及
服务器和企业内部
网络之间进行了严格控制。当然这里没有考虑内部入侵,以及内部IP盗用行为,这也就是FreeBSD
防火墙的局限性。不过可以添加一块网卡,把企业内部人员的
网络单独用一个网卡来进行隔离,达到弥补的办法。
好了,以上为我使用FreeBSD
防火墙保护企业
网络的个人做法,希望能给一部分企业网管有所帮助。
中国网管联盟bitsCN.com