121 DMZ功能实现

DMZ,全称是:Demilitarized Zone,俗称"非军事区"

 

具体的说,在路由器中通过下面6条规则限制的主机所在的网络区域就是DMZ,而该网络区域内的主机就是DMZ主机:

 

1.内网可以访问外网

无论如何,内网的用户是需要能通过路由器访问外网的,这里需要做地址转换,规则如下:

iptables -t nat -A POSTROUTING -s [内网地址] -d [外网地址] -o eth0 -j SNAT --to [NAT的真实IP]

其中eth0是路由器与外网的网络接口

 

2.内网可以访问DMZ

此策略是为了方便内网用户使用和管理DMZ中的服务器,规则如下:

iptables -A FORWARD -s [内网地址] -d [DMZ地址] -i eth2 -j ACCEPT

其中,eth2是路由与内网的网络接口

 

3.外网不能访问内网

这里是指外面的网络设备不能主动发起对内网的访问,这个是基于安全的考虑,因为内网会有一些机密的数据,是不允许外人接触的。下如下规则:

iptables -t nat -A PREROUTING -s [外网地址] -d [内网地址] -i eth0 -j DROP

 

4.外网可以访问DMZ

DMZ中的服务器本身就是要给外界提供服务的,所以外网必须可以访问DMZ。同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换。另外,为了保护DMZ中的服务器,外网对DMZ的访问也要加以限制。通常的思路是,只允许外网访问DMZ中服务器所提供的特定服务,比如HTTP。

 

为来自我外网的HTTP请求做地址转换的规则:

iptables -t nat -A PREROUTING -p tcp --dport 80 -d [分配给HTTP服务器的Internet上的真实IP] -s [外网地址] -i eth0 -j DNAT --to [HTTP服务器的实际IP]

iptables -A FORWARD -p tcp -d [外网地址] -s [HTTP服务器的实际IP] -i eth1 --sport 80 ! --syn -j ACCEPT

iptables -t nat -A PREROUTING -s [外网地址] -d [DMZ地址] -i eth0 -j DROP

 

该防火墙脚本片段将开放HTTP服务,使得只有访问DMZHTTP服务的数据包才能通过防火墙。自己构建DMZ时可以根据实际情况下规则。

 

5.DMZ不能访问内网

因为外网可以访问DMZ主机,所以DMZ主机不能访问内网,否则,外网就可以通过DMZ主机间接的访问内网了,这与第3点要求“外网不能访问内网”相悖。规则如下:

iptables -A FORWARD -s [DMZ地址] -d [内网地址] -i eth1 -j DROP

 

6.DMZ不能访问外网

这个要求具体作用不是很清楚,只知道DMZ区域的主机似乎没必要主动访问外网。

以下命令先允许DMZ中邮件服务器连接外网的SMTP服务端口(25),然后禁止其它从DMZ发往外网的数据包:

iptables -t nat -A POSTROUTING -p tcp --dport 25 -d [外网地址] -s [邮件服务器的IP] -o eth0 -j SNAT --to [分配给SMTP服务器的Internet上的真实IP]

iptables -A FORWARD -p tcp -s [邮件服务器的IP] -d [外网地址] -i eth1 --dport 25 -j ACCEPT

iptables -A FORWARD -p tcp -d [邮件服务器的IP] -s [外网地址] -i eth0--sport 25 ! --syn -j ACCEPT

 

 

 

针对以上基本策略例举了实现它们的基本规则。在实际应用中,需要根据具体情况进行设置。只要设置得当,Linux也能成为很好的防火墙。需要补充的是,无论何种防火墙都只能提供有限的保护。设置好防火墙不等于网络就是安全的,关键在于综合运用各种安全手段

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值