用Linux防火墙构建DMZ

防守在网络安全中的重要性不必多说。保护网络最常见的方法就是使用防火墙。防火墙作为网络的第一道防线,通常放置在外网和需要保护的网络之间。最简单的情况是直接将防火墙放置在外网和企业网络之间,所有流入企业网络的数据流量都将通过防火墙,使企业的所有客户机及服务器都处于防火墙的保护下。这对于一些中小企业来说是简单易行的,而且这种解决方法在某些情况下也表现不错。然而这种结构毕竟比较简单。企业中有许多服务器、客户机等资源需要保护,不同的资源对安全强度的要求也不同。不能用对待客户机的安全级别来对待服务器,这样服务器将会很危险;同样,也不能用对待服务器的安全级别来对待客户机,这样用户会感觉很不方便。

针对不同资源提供不同安全级别的保护,可以考虑构建一个叫做“Demilitarized Zone”(DMZ)的区域。DMZ可以理解为一个不同于外网或内网的特殊网络区域。DMZ内通常放置一些不含机密信息的公用服务器,比如Web、 Mail、FTP等。这样来自外网的访问者可以访问DMZ中的服务,但不可能接触到存放在内网中的公司机密或私人信息等。即使DMZ中服务器受到破坏,也不会对内网中的机密信息造成影响。

许多防火墙产品都提供了DMZ的接口。硬件防火墙由于使用专门的硬件芯片,所以在性能和流量上有绝对的优势。软件防火墙的性价比非常好,一般企业使用起来效果不错。如果使用Linux防火墙,其成本将更低。因此这里将要介绍的是在Linux防火墙上划分DMZ区域的方法。

构建DMZ的策略

Linux从2.4内核开始,正式使用iptables来代替以前的ipfwadm和ipchains,实现管理Linux的包过滤功能。Linux的包过滤通过一个叫netfilter的内核部件来实现。netfilter内建了三个表,其中默认表Filter中又包括3个规则链,分别是负责外界流入网络接口的数据过滤的INPUT链、负责对网络接口输出的数据进行过滤的OUTPUT链,以及负责在网络接口之间转发数据过滤的 FORWARD链。要构建一个带DMZ的防火墙,需要利用对这些链的设定完成。首先要对从连接外部网络的网卡(eth0)上流入的数据进行判断,这是在 INPUT链上完成。如果数据的目标地址属于DMZ网段,就要将数据转发到连接DMZ网络的网卡(eth1)上;如果是内部网络的地址,就要将数据转发到连接内部网络的网卡(eth2)上。表1显示了各个网络之间的访问关系。

表1 网络间访问关系表

内网 外网 DMZ

内网 / Y Y

外网 N / Y

DMZ N N /

根据表1,可以明确以下六条访问控制策略。

1.内网可以访问外网

内网的用户显然需要自由地访问外网。在这一策略中,防火墙需要进行源地址转换。

2.内网可以访问DMZ

此策略是为了方便内网用户使用和管理DMZ中的服务器。

3.外网不能访问内网

很显然,内网中存放的是公司内部数据,这些数据不允许外网的用户进行访问。

4.外网可以访问DMZ

DMZ中的服务器本身就是要给外界提供服务的,所以外网必须可以访问DMZ。同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换。

5.DMZ不能访问内网

很明显,如果违背此策略,则当入侵者攻陷DMZ时,就可以进一步进攻到内网的重要数据。

6.DMZ不能访问外网

此条策略也有例外,比如DMZ中放置邮件服务器时,就需要访问外网,否则将不能正常工作。

DMZ的实现

根据以上访问控制策略可以设定Linux防火墙的过滤规则。下面将在一个虚构的网络环境中,探讨如何根据以上六条访问控制策略建立相应的防火墙过滤规则。这里的讨论和具体应用会有所区别,不过这种讨论将有助于实际应用。用户在实际应用时可根据具体的情况进行设置。该虚拟环境的网络拓扑如图1。


图1 DMZ网络拓扑图

如图1所示,路由器连接Internet和防火墙。作为防火墙的Linux服务器使用三块网卡:网卡eth0与路由器相连,网卡 eth1与DMZ区的Hub相连,网卡eth2与内网Hub相连。作为一个抽象的例子,我们用“[内网地址]”来代表“192.168.1.0/24”之类的具体数值。同理还有“[外网地址]”和“[DMZ地址]”。

对于防火墙,原则之一就是默认禁止所有数据通信,然后再打开必要的通信。所以在防火墙脚本的最初,需要清空系统原有的规则,然后将INPUT、OUTPUT、FORWARD的默认规则设置为丢弃所有数据包。

时间: 2024-09-16 09:06:28

用Linux防火墙构建DMZ的相关文章

用Linux防火墙构建软路由

本文主要介绍利用Linux自带的Firewall软件包来构建软路由的一种方法,此方法为内部网与外部网的互连提供了一种简单.安全的实现途径.Linux自带的Firewall构建软路由,主要是通过IP地址来控制访问权限,较一般的代理服务软件有更方便之处. 一.防火墙 防火墙一词用在计算机网络中是指用于保护内部网不受外部网的非法入侵的设备,它是利用网络层的IP包过滤程序以及一些规则来保护内部网的一种策略,有硬件实现的,也有软件实现的. 运行防火墙的计算机(以下称防火墙)既连接外部网,又连接内部网.一般

2017年6款最值得推荐的免费Linux防火墙

本文讲的是2017年6款最值得推荐的免费Linux防火墙, 简介 试想一下,当你深夜走在一条黑暗的小巷中,突然有人跳出来并强迫你交出护照.信用卡.钱包以及车钥匙等所有值钱物品,这是多么恐怖的一件事情.其实互联网的世界跟这种假设的情景很像,每个角落中都潜伏着不可预知的危险.只要你今天在线,你的上网行为就可能被潜在暗处的窃贼窥探,而这一切你都毫无察觉. 为了实现计算机安全,防火墙就扮演了这个可以保护你安全的"保镖"一角,时刻护你周全.大多数现代路由器中都内置了防火墙,虽然很有用但是却苦于难

三大开源Linux防火墙生成器

对所有的Linux系统和网络管理员来说,一个最基本的技巧是知道如何从头开始编写一个强健的iptables防火墙,并且知道如何修改它,使其适应多种不同的情况.然而,在现实世界中,这看起来似乎少之又少.对iptables的学习并非是一个简单的过程,不过笔者在这里向您推荐外网上如下资料,这样使用起来你就得心应手了. 笔者认为所有的管理员都应彻底地理解Iptables,不过,另外一个可选择的方法是运用出色的开源Linux防火墙生成工具. Firewall Builder 第一个出场的便是Firewall

《Linux防火墙(第4版)》——导读

前言 欢迎阅读本书.本书介绍了在运行Linux的计算机上建立防火墙所需要的各方面内容.在开始介绍Linux下的防火墙iptables以及最新的nftables之前,本书会介绍一些基础的内容,包括网络.IP以及安全. 本书是构建Linux防火墙的权威指南,包括如何使用Linux iptables/nftables来实现防火墙安全的主题.本书共分三大部分.第1部分为数据包过滤以及基本的安全措施,其内容有:数据包过滤防火墙的预备知识.数据包过滤防火墙概念.传统的Linux防火墙管理程序iptables

Linux防火墙伪装机制帮您抵抗恶意黑客

  防火墙可分为几种不同的安全等级.在Linux中,由于有许多不同的防火墙软件可供选择,安全性可低可高,最复杂的软件可提供几乎无法渗透的保护能力.不过,Linux核心本身内建了一种称作"伪装"的简单机制,除了最专门的黑客攻击外,可以抵挡住绝大部分的攻击行动. 当我们拨号接连上Internet后,我们的计算机会被赋给一个IP地址,可让网上的其他人回传资料到我们的计算机.黑客就是用你的IP来存取你计算机上的资料.Linux所用的"IP伪装"法,就是把你的IP藏起来,不让

软盘里的Linux防火墙

Linux 下的防火墙(firewall)从诞生到现在,防火墙主要经历了四个发展阶段:第一阶段:基于路由器的防火墙:第二阶段用户化的防火墙工具套:第三阶段:建立在通用操作系统上的防火墙:第四阶段:具有安全操作系统的防火墙.目前世界上大多数防火墙供应商提供的都是具有安全操作系统的软硬件结合的防火墙,象著名的NETEYE.NETSCREEN.TALENTIT等.在Linux操作系统上的防火墙软件也很多,有些是商用版本的防火墙,有的则是完全免费和公开源代码的防火墙.大多数Linux教程都提到了如何在L

使用iptables建置Linux 防火墙(1)

防火墙在校园内一直被认为陌晦高深,很少有系管师有勇气进行计划性的实验,基本上这份讲义也可以当成测试报告来阅读,是笔者秉持我不入地狱.谁入地狱的精神,冒着生命危险,蛮干出来的成果,也藉此抛砖引玉,希望能带动国内能力高于笔者许多的众家高手,一起来进行有利于校园网络的公益研究! 壹.什么是防火墙 防火墙是一套能够在两个或两个以上的网络之间,明显区隔出实体线路联机的软硬件设备组合.被区隔开来的网络,可以透过封包转送技术来相互通讯,透过防火墙的安全管理机制,可以决定哪些数据可以流通,哪些资料无法流通,藉此

一个免费、方便的Linux防火墙

Linux下的防火墙(firewall)从诞生到现在,防火墙主要经历了四个发展阶段:第一阶段:基于路由器的防火墙:第二阶段用户化的防火墙工具套:第三阶段:建立在通用操作系统上的防火墙:第四阶段:具有安全操作系统的防火墙.目前世界上大多数防火墙供应商提供的都是具有安全操作系统的软硬件结合的防火墙,象著名的NETEYE.NETSCREEN.TALENTIT等.在Linux操作系统上的防火墙软件也很多,有些是商用版本的防火墙,有的则是完全免费和公开源代码的防火墙.大多数Linux教程都提到了如何在Li

linux防火墙基础知识以及如何管理设置iptables规则

一.linux防火墙基础 防火墙分为硬件防火墙和软件防火墙. 1.概述 linux 防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙. 包过滤机制:netfilter 管理防火墙规则命令工具:iptables netfilter 指linux内核中实现包过滤防火墙的内部结构,不依程序或文件的形式存在,属于"内核态"的防火墙功能体系 iptables 指管理linux防火墙的命令工具,属于"用户态"的防火墙管理体系 2.ipta