科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道搭建基于netfilter/iptables的防火墙实验环境

搭建基于netfilter/iptables的防火墙实验环境

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍了搭建基于netfilter/iptables的防火墙实验环境的详细步骤以及根据不同的网络客户范围进行相应设置。

作者:51cto 来源:51cto 2008年9月19日

关键字: Netfilter iptables 防火墙 硬件防火墙

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

  4.透明性

  防火墙的透明性指防火墙对于用户是透明的,在防火墙接入网络时,网络和用户无需做任何设置和改动,也根本意识不到防火墙的存在。

  防火墙作为一个实际存在的物理设备,要想放入已存在地网络中又不对网络有任何影响,就必须以网桥的方式置入网络。传统方式下,防火墙安装时,更象是一台路由器或者网关,原有网络拓扑结构往往需要改变,网络设备(包括主机和路由器)的设置(IP和网关、DNS、路由表等等)也需要改变。但如果防火墙采用了透明模式,即采用类似网桥的方式运行,用户将不必重新设定和修改路由,也不需要知道防火墙的位置,防火墙就可以直接安装和放置到网络中使用。

  透明模式最大的好处在于现有网络无需做任何改动,这就方便了很多客户,再者,从透明模式转换到非透明模式又很容易,适用性显然较广。当然,此时的防火墙仅仅起到一个防火墙的作用,其他网关位置的功能如NAT、VPN功能不再适用,当然,其他功能如透明代理还可以 继续使用。

  目前透明模式的实现上可采用ARP代理和路由技术实现。此时防火墙相当于一个ARP代理的功能。内网(可以仍含有路由器或子网,依次类推)、防火墙、路由器的位置大致如下:

  内网―――――防火墙―――――路由器

  (需要说明的是,这种方式是绝大多数校园网级网络的实现方式)

  内网主机要想实现透明访问,必须能够透明的传送内网和路由器之间的ARP包,而此时由于事实上内网和路由器之间无法连通,防火墙就必须配置成一个ARP代理(ARP Proxy)在内网主机和路由器之间传递ARP包。防火墙所要做的就是当路由器发送ARP广播包询问内网内的某一主机的硬件地址时,防火墙用和路由器相连接口的MAC地址回送ARP包;内网内某一主机发送ARP广播包询问路由器的硬件地址时,防火墙用和内网相连接口的MAC地址回送ARP包,因此路由器和内网主机都认为将数据包发给了对方,而实际上是发给了防火墙转发。

  显然,此时防火墙还必须实现路由转发,使内外网之间的数据包能够透明的转发。另外,防火墙要起到防火墙的作用,显然还需要把数据包上传给本身应用层处理(此时实现应用层代理、过滤等功能),此时需要端口转发来实现(?这个地方不是十分清楚,也没找到相关资料)。透明模式和非透明模式在网络拓扑结构上的最大区别就是:透明模式的两块网卡(与路由器相连的和与内网相连的)在一个网段(也和子网在同一个网段);而非透明模式的两块网卡分别属于两个网段(内网可能是内部不可路由地址,外网则是合法地址)。

  这个过程如下:

  1. 用ARP代理实现路由器和子网的透明连接(网络层)

  2. 用路由转发在IP层实现数据包传递(IP层)

  3. 用端口重定向实现IP包上传到应用层(IP层)

  前边我们讨论过透明代理,和这里所说的防火墙的透明模式是两个概念。透明代理主要是为实现内网主机可以透明的访问外网,而无需考虑自己是不可路由地址还是可路由地址。内网主机在使用内部网络地址的情况下仍然可以使用透明代理,此时防火墙既起到网关的作用又起到代理服务器的作用(显然此时不是透明模式)。

  需要澄清的一点是,内外网地址的转换(即NAT,透明代理也是一种特殊的地址转换)和透明模式之间并没有必然的联系。透明模式下的防火墙能实现透明代理,非透明模式下的防火墙(此时它必然又是一个网关)也能实现透明代理。它们的共同点在于可以简化内网客户的设置而已。

  目前国内大多防火墙都实现了透明代理,但实现了透明模式的并不多。这些防火墙可以很明显的从其广告中看出来:如果哪个防火墙实现了透明模式,它的广告中肯定会和透明代理区分开而大书特书的。

  5.可靠性

  防火墙系统处于网络的关键部位,其可靠性显然非常重要。一个故障频频、可靠性很差的产品显然不可能让人放心,而且防火墙居于内外网交界的关键位置,一旦防火墙出现问题,整个内网的主机都将根本无法访问外网,这甚至比路由器故障(路由器的拓扑结构一般都是冗余设计)更让人无法承受。

  防火墙的可靠性也表现在两个方面:硬件和软件。

  国外成熟厂商的防火墙产品硬件方面的可靠性一般较高,采用专门硬件架构且不必多说,采用PC架构的其硬件也多是专门设计,系统各个部分从网络接口到存储设备(一般为电子硬盘)集成在一起(一块板子),这样自然提高了产品的可靠性。

  国内则明显参差不齐,大相径庭,大多直接使用PC架构,且多为工业PC,采用现成的网卡,DOC/DOM作为存储设备。工业PC虽然可靠性比普通PC要高不少,但是毕竟其仍然是拼凑式的,设备各部分分立,从可靠性的角度看显然不如集成的(著名的水桶原理)。

  国内已经有部分厂家意识到了这个问题,开始自行设计硬件。但大多数厂家还是从成本的角度考虑使用通用PC架构。

  另外一方面,软件可靠性的提高也是防火墙优劣的主要差别所在。而国内整个软件行业的可靠性体系还没有成熟,软件可靠性测试大多处于极其初级的水平(可靠性测试和bug测试完全是两个概念)。一方面是可靠性体系建立不起来,一方面是为了迎合用户的需求和跟随网络应用的不断发展,多数防火墙厂商一直处于不断的扩充和修改中,其可靠性更不能让人恭维。

  总的来说,如同国内大多数行业(除了少数如航天、航空)一样,网络安全产品特别是防火墙的可靠性似乎还没有引起人们的重视。 6.市场定位

  市场上防火墙的售价极为悬殊,从数万元到数十万元,甚至到百万元不等。由于用户数量不同,用户安全要求不同,功能要求不同,因此防火墙的价格也不尽相同。厂商因而也有所区分,多数厂家还推出模块化产品,以符合各种不同用户的要求。

  总的说来,防火墙是以用户数量作为大的分界线。如checkpoint的一个报价:

  CheckPoint Firewall-1 4.1 25user 19000.00

  CheckPoint Firewall-1 4.1 50user 31000.00

  CheckPoint Firewall-1 4.1 100user 51000.00

  CheckPoint Firewall-1 4.1 250user 64000.00

  CheckPoint Firewall-1 4.1 无限用户 131000.00

  从用户量上防火墙可以分为:

  a. 10-25用户:

  这个区间主要用户为单一用户、家庭、小型办公室等小型网络环境。防火墙一般为10M(针对 硬件防火墙而言),两网络接口,涵盖防火墙基本功能:包过滤、透明模式、网络地址转换 、状态检测、管理、实时报警、日志。一般另有可选功能:VPN、带宽管理等等。

  这个区间的防火墙报价一般在万元以上2万元以下(没有VPN和带宽管理的价格更低)。

  据调查,这个区间的防火墙反而种类不多,也许是国内厂商不屑于这个市场的缘故?

  b. 25-100用户

  这个区间用户主要为小型企业网。防火墙开始升级到100M,三或更多网络接口。VPN、带宽管 理往往成为标准模块。 这个区间的防火墙报价从3万到15万不等,根据功能价格有较大区别。相对来说,这个区间上 硬件防火墙价格明显高于软件防火墙。 目前国内防火墙绝大部分集中在这个区间中。

  c. 100-数百用户

  这个区间主要为中型企业网,重要网站、ISP、ASP、数据中心等使用。这个区间的防火墙较多考虑高容量、高速度、低延迟、高可靠性以及防火墙本身的健壮性。并且开始支持双机热备份。这个区间的防火墙报价一般在20万以上。这样的中高端防火墙国内较少,有也是25-100用户的升级版,其可用性令人怀疑。

  d. 数百用户以上

  这个区间是高端防火墙,主要用于校园网、大型IDC等等。我们接触较少,不多做讨论。当然其价格也很高端,从数十万到数百万不等。

  总的来说,防火墙的价格和用户数量、功能模块密切相关,在用户数量相同的情况下,功能越多,价格就越贵。如Netscreen的百兆防火墙: NetScreen-100f(AC Power) -带防火墙+流量控制等功能,交流电源,没有VPN功能报价在¥260,000而在此基础上增加了128位VPN功能的报价则高出5万元:¥317,500

  7. 研发费用

  如同其他网络安全产品一样,防火墙的研发费用也是很高的。防火墙由于技术含量较高,人员技术储备要求较高,防火墙核心部分的研发必须要对操作系统有相当的熟悉,所需为UNIX系统下开发人员,而目前国内真正能拿的出手的UNIX程序员数量还是太少(远远少于Windows平台下开发人员),人员成本很高。

  总的来说,防火墙的研发是一个大项目,而且其前期定位一定要准确,该做什么、不该做什么,哪些功能得实现,哪些功能不必实现、哪些功能可以在后期实现,一定要清楚,否则费用会远远超出预计。

  下边对一个中小型企业级防火墙的研发费用作个简单的估计。

  研发时,防火墙可以细分为(当然在具体操作时往往需要再具体划分):

  内核模块

  防火墙模块(含状态检测模块)

  NAT模块

  带宽管理模块

  通信协议模块

  管理模块

  图形用户界面模块(或者Web界面模块)

  透明代理模块(实质属于NAT模块)

  透明模式模块(包括ARP代理子模块、路由转发子模块等)

  各应用代理模块(包括URL过滤模块)

  VPN模块

  流量统计与计费模块

  审计模块

  其他模块(如MAC、IP地址绑定模块、简单的IDS、自我保护等等)

  上边把防火墙划分为12个模块,其中每一个模块都有相当的工作量要做,除了弹性较大的内核模块和防火墙模块(它们的工作量可能异常的大,视设计目标不同),其他模块暂定10人周的话就需要120周(VPN的工作量也相当大),两个主模块各按20人周计算,防火墙实现总共需要150人周。加上前期10- 15人周论证、定方案,后期20人周(保守数字)集成、测试,前后总共需要约210人周。按每人周1200元开发费用(折合工资5000月,但由于有运行费用、保险等费用摊分,个人工资应远低于这个数字),开发费用约需25万。

  显然,这个数字只是一个局外人估计的下限,实际的研发应该超出这个数字很多。

  8. 可升级能力(适用性)和灵活性

  对用户来说,防火墙作为大成本投入的商品,势必要考虑到可升级性的问题,如果防火墙不能升级,那它的可用性和可选择余地势必要大打折扣。目前国内防火墙一般都是软件可升级的,这是因为大多数防火墙采用电子硬盘(少数采用磁盘),实现升级功能只要很小的工作量要做。但究竟升级些什么内容?升级周期多长一次?这就涉及到一个灵活性的问题。

  防火墙的灵活性主要体现在以下几点:

  a. 易于升级

  b. 支持大量协议

  c. 易于管理(如纳入通用设备管理体系(支持SNMP)而不是单列出来)

  d. 功能可扩展

  这里对功能可扩展做一简单讨论。一般情况下,防火墙在设计完成以后,其过滤规则都是定死的,用户可定制的余地很小。特别如URL过滤规则(对支持URL过滤的防火墙而言),当前网络中的漏洞是不断发现的,如最近很猖獗的codered攻击的就是Windows机器IIS服务器的ida漏洞,而我们如果能够及时定义过滤规则,对于“GET /default.ida”的请求及时过滤,那么内网主机(此时一般为DMZ内主机)的安全性就会高很多,内网管理人员也不必时时密切关注网络漏洞(这是个工作量很大,既耗费体力又容易出现遗漏的工作)。这样大部分工作留给防火墙厂家来做(相应需要有一个漏洞监测体系),用户肯定会满意很多。另外,灵活性一开始也往往不是前期设计所能设计的很完美的,它需要和用户具体实践相配合。另外灵活性也是和具体环境密切结合的,往往需要在不同的用户环境里考虑。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章