分享
 
 
 

网络最高安全指南

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

作者:北京怀柔3380信箱92号 厉海燕

一般被保护的内部网络可分成两部分,一部分是内部通讯区,只允许内部用户访问,绝对禁止外部用户访问,另一部分是停火区DMZ,对外提供有条件的服务。前者是系统的核心子网,后者易受到外部的攻击,是一个比较危险的子网环境。一方面要求严格保护内部子网,另一方面又要满足DMZ对外提供服务的需要,因此,必须采用分别保护的策略,对上述两个区域进行保护。两个区域要尽量独立,即使DMZ受到外部攻击,内部子网仍处于防火墙的保护之下。

本文介绍利用Linux的iptables工具来建立一个具有DMZ的防火墙。

一、软硬件要求

充当防火墙的机器是一台支持iptables的Linux系统,装有三个网卡。

二、具体配置

步骤1:配置内核

netfilter要求Linux内核版本不低于2.3.5,在编译新内核时,要求选择和netfilter相关的项目,这些项目通常都是位于“Networking options”子项下。

步骤2:环境构造

这里给出一个用于测试的例子,实际应用可根据具体的情况进行设置。

对外提供服务的内部主机构成一个停火区(假设分配的网段为192.168.1.0/24),防火墙的两个网卡eth1、eth2分别通过hub1、hub2与停火区、内部通讯区相连,另一个网卡eth0通过直连线(或hub)与路由器的网卡eth1相连,路由器的另一网卡eth0通过一个hub与外部通讯区相连。如图所示。

路由器增加以下设置:

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.9.200.2

arp -i eth1 -Ds 192.168.1.1 eth1 pub

防火墙的设置为:

route add default gw 192.168.1.1

route add -host 192.168.1.1 gw 192.168.1.2

route add -net 192.169.1.0 netmask 255.255.255.0 gw 192.168.1.3 eth1

停火区主机的网关设为防火墙的网卡eth1地址192.168.1.3。

外部主机的网关设为路由器的外网卡eth0地址10.0.0.1。

内部主机的网关设为路由器的内网卡eth2地址168.1.1.1。

步骤3:建立规则

在防火墙上创建如下脚本并运行之。

#!/bin/sh

######## default firewall rules-deny all ########

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

###############################################

# Rules between EXTERNAL LAN and INTERNAL LAN #

###############################################

######## masquerade INTERNAL Address to xx.xx.xx.xx when going out ########

iptables -t nat -A POSTROUTING -s 168.1.1.0/24 -d 10.0.0.0/24 -o eth0 -j SNAT --to xx.xx.xx.xx

######## deny all from EXTERNAL LAN to INTERNAL LAN directly ########

iptables -t nat -A PREROUTING -s 10.0.0.0/24 -d 168.1.1.0/24 -i eth0 -j DROP

######################################

# Rules between DMZ and INTERNAL LAN #

######################################

######## allow INTERNAL LAN to DMZ ########

iptables -A FORWARD -p icmp -s 168.1.1.0/24 -d 192.168.1.0/24 -m limit --limit 1/s --limit-burst 10 -j ACCEPT

iptables -A FORWARD -s 168.1.1.0/24 -d 192.168.1.0/24 -i eth2 -j ACCEPT

######## forbid DMZ to INTERNAL LAN except following instance ########

iptables -A FORWARD -p tcp -s 192.168.1.0/24 -d 168.1.1.0/24 ! --syn -i eth1 -j ACCEPT

iptables -A FORWARD -p tcp -s 192.168.1.0/24 --sport 20 -d 168.1.1.0/24 -i eth1 -j ACCEPT

iptables -A FORWARD -p icmp --icmp-type 0 -s 192.168.1.0/24 -d 168.1.1.0/24 -m limit --limit 1/s --limit-burst 10 -j ACCEPT

iptables -A FORWARD -p udp -s 192.168.1.0/24 -d 168.1.1.0/24 --sport 53 -j ACCEPT

######################################

# Rules between EXTERNAL LAN and DMZ #

######################################

### allow EXTERNAL LAN to DMZ but deny all from EXTERNAL LAN to DMZ directly ###

iptables -t nat -A PREROUTING -s 10.0.0.0/24 -d 192.168.1.0/24 -i eth0 -j DROP

### REAL_XX is real address of XX server in DMZ ###

### MASQ_XX is the masquaded address of REAL_XX supplied to EXTERNAL LAN ###

######## allow DNS service ########

iptables -t nat -A PREROUTING -p udp -d MASQ_DNS -s 10.0.0.0/24 --dport 53 -i eth0 -j DNAT --to REAL_DNS

iptables -A FORWARD -p udp -s 10.0.0.0/24 -d REAL_DNS -i eth0 --dport 53 -j ACCEPT

iptables -A FORWARD -p udp -d 10.0.0.0/24 -s REAL_DNS -i eth1--sport 53 -j ACCEPT

iptables -t nat -A PREROUTING -p tcp -d MASQ_DNS -s 10.0.0.0/24 --dport 53 -i eth0 -j DNAT --to REAL_DNS

iptables -A FORWARD -p tcp -s 10.0.0.0/24 -d REAL_DNS -i eth0 --dport 53 -j ACCEPT

iptables -A FORWARD -p tcp -d 10.0.0.0/24 -s REAL_DNS -i eth1 --sport 53 ! --syn -j ACCEPT

######## allow HTTP service ########

iptables -t nat -A PREROUTING -p tcp --dport 80 -d MASQ_HTTP -s 10.0.0.0/24 -i eth0 -j DNAT --to REAL_HTTP

iptables -A FORWARD -p tcp -s 10.0.0.0/24 -d REAL_HTTP -i eth0 --dport 80 -j ACCEPT

iptables -A FORWARD -p tcp -d 10.0.0.0/24 -s REAL_HTTP -i eth1 --sport 80 ! --syn -j ACCEPT

######## allow FTP service ########

iptables -t nat -A PREROUTING -p tcp --dport 21 -d MASQ_FTP -s 10.0.0.0/24 -i eth0 -j DNAT --to REAL_FTP

iptables -A FORWARD -p tcp -s 10.0.0.0/24 -d REAL_FTP -i eth0 --dport 21 -j ACCEPT

iptables -A FORWARD -p tcp -s REAL_FTP -d 10.0.0.0/24 -i eth1--sport 20 -j ACCEPT

iptables -A FORWARD -p tcp -d 10.0.0.0/24 -s REAL_FTP -i eth1--sport 21 ! --syn -j ACCEPT

......

### You can add other services in DMZ here such as TELNET、SMTP、 POP3 & IMAP etc. ###

......

######## deny DMZ to EXTERNAL LAN except to external smtp server ########

iptables -t nat -A POSTROUTING -p tcp --dport 25 -d 10.0.0.0/24 -s REAL_SMTP -o eth0 -j SNAT --to MASQ_SMTP

iptables -A FORWARD -p tcp -s REAL_SMTP -d 10.0.0.0/24 -i eth1 --dport 25 -j ACCEPT

iptables -A FORWARD -p tcp -d REAL_SMTP -s 10.0.0.0/24 -i eth0--sport 25 ! --syn -j ACCEPT

通过以上步骤,具有DMZ的防火墙达到了以下目标:

1.内部通讯区可以无限制的访问外部通讯区以及DMZ,但访问外部通信区时防火墙进行了源地址转换。

2.外部通讯区可以通过对外公开的地址访问DMZ的服务器,由防火墙完成对外地址到服务器实际地址的转换。

3.外部通讯区不能访问内部通讯区以及防火墙。

4.DMZ不可以访问内部通讯区。

5.除外部通讯区邮件服务器外,DMZ不能访问外部通讯区。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有