主要类型

网络层防火墙

网络层防火墙可视为一种 IP 封包过滤器运作在底层的TCP/IP协议堆栈上我们可以以枚举的方式只允许符合特定规则的封包通过其余的一概禁止穿越防火墙病毒除外防火墙不能防止病毒侵入这些规则通常可以经由管理员定义或修改不过某些防火墙设备可能只能套用内置的规则

我们也能以另一种较宽松的角度来制定防火墙规则只要封包不符合任何一项否定规则就予以放行操作系统及网络设备大多已内置防火墙功能

较新的防火墙能利用封包的多样属性来进行过滤例如来源 IP地址来源端口号目的 IP 地址或端口号服务类型如 HTTP 或是 FTP也能经由通信协议TTL 值来源的网域名称或网段...等属性来进行过滤

应用层防火墙

应用层防火墙是在 TCP/IP 堆栈的应用层上运作您使用浏览器时所产生的数据流或是使用 FTP 时的数据流都是属于这一层应用层防火墙可以拦截进出某应用程序的所有封包并且封锁其他的封包通常是直接将封包丢弃理论上这一类的防火墙可以完全阻绝外部的数据流进到受保护的机器里

防火墙借由监测所有的封包并找出不符规则的内容可以防范电脑蠕虫或是木马程序的快速蔓延不过就实现而言这个方法既烦且杂软件有千千百百种啊所以大部分的防火墙都不会考虑以这种方法设计

XML 防火墙是一种新型态的应用层防火墙

根据侧重不同可分为包过滤型防火墙应用层网关型防火墙服务器型防火墙

数据库防火墙

数据库防火墙是一款基于数据库协议分析与控制技术的数据库安全防护系统基于主动防御机制实现数据库的访问行为控制危险操作阻断可疑行为审计

数据库防火墙通过SQL协议分析根据预定义的禁止和许可策略让合法的SQL操作通过阻断非法违规操作形成数据库的外围防御圈实现SQL危险操作的主动预防实时审计

数据库防火墙面对来自于外部的入侵行为提供SQL注入禁止和数据库虚拟补丁包功能

基本定义

详细解释

防火墙

所谓防火墙指的是一个由软件和硬件设备组合而成在内部网和外部网之间专用网与公共网之间的界面上构造的保护屏障.是一种获取安全性方法的形象说法它是一种计算机硬件和软件的结合使Internet与Intranet之间建立起一个安全网关Security Gateway从而保护内部网免受非法用户的侵入防火墙主要由服务访问规则验证工具包过滤和应用网关4个部分组成防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件该计算机流入流出的所有网络通信和数据包均要经过此防火墙

在网络中所谓防火墙是指一种将内部网和公众访问网如Internet分开的方法它实际上是一种隔离技术防火墙是在两个网络通讯时执行的一种访问控制尺度它能允许你同意的人和数据进入你的网络同时将你不同意的人和数据拒之门外最大限度地阻止网络中的黑客来访问你的网络换句话说如果不通过防火墙公司内部的人就无法访问InternetInternet上的人也无法和公司内部的人进行通信

  1. 什么是防火墙
    XP系统相比于以往的Windows系统新增了许多的网络功能Windows 7的防火墙一样很强大可以很方便地定义过滤掉数据包例如Internet连接防火墙ICF它就是用一段"代码墙"把电脑和Internet分隔开时刻检查出入防火墙的所有数据包决定拦截或是放行那些数据包防火墙可以是一种硬件固件或者软件例如专用防火墙设备就是硬件形式的防火墙包过滤路由器是嵌有防火墙固件的路由器而代理服务器等软件就是软件形式的防火墙

  2. ICF工作原理
    ICF被视为状态防火墙状态防火墙可监视通过其路径的所有通讯并且检查所处理的每个消息的源和目标地址为了防止来自连接公用端的未经请求的通信进入专用端ICF保留了所有源自ICF计算机的通讯表在单独的计算机中ICF将跟踪源自该计算机的通信与ICS一起使用时ICF将跟踪所有源自ICF/ICS计算机的通信和所有源自专用网络计算机的通信所有Internet传入通信都会针对于该表中的各项进行比较只有当表中有匹配项时这说明通讯交换是从计算机或专用网络内部开始的才允许将传入Internet通信传送给网络中的计算机
    源自外部源ICF计算机的通讯如Internet将被防火墙阻止除非在服务选项卡上设置允许该通讯通过ICF不会向你发送活动通知而是静态地阻止未经请求的通讯防止像端口扫描这样的常见黑客袭击

  3. 防火墙的种类

    防火墙从诞生开始已经历了四个发展阶段基于路由器的防火墙用户化的防火墙工具套建立在通用操作系统上的防火墙具有安全操作系统的防火墙常见的防火墙属于具有安全操作系统的防火墙例如NETEYENETSCREENTALENTIT等

从结构上来分防火墙有两种即代理主机结构和路由器+过滤器结构后一种结构如下所示内部网络过滤器Filter路由器RouterInternet

从原理上来分防火墙则可以分成4种类型特殊设计的硬件防火墙数据包过滤型电路层网关和应用级网关安全性能高的防火墙系统都是组合运用多种类型防火墙构筑多道防火墙防御工事

吞吐量

网络中的数据是由一个个数据包组成防火墙对每个数据包的处理要耗费资源吞吐量是指在没有帧丢失的情况下设备能够接受的最大速率其测试方法是在测试中以一定速率发送一定数量的帧并计算待测设备传输的帧如果发送的帧与接收的帧数量相等那么就将发送速率提高并重新测试如果接收帧少于发送帧则降低发送速率重新测试直至得出最终结果吞吐量测试结果以比特/秒或字节/秒表示

吞吐量和报文转发率是关系防火墙应用的主要指标一般采用FDTFull Duplex Throughput来衡量指64字节数据包的全双工吞吐量该指标既包括吞吐量指标也涵盖了报文转发率指标

使用技巧

一所有的防火墙文件规则必须更改

尽管这种方法听起来很容易但是由于防火墙没有内置的变动管理流程因此文件更改对于许多企业来说都不是最佳的实践方法如果防火墙管理员因为突发情况或者一些其他形式的业务中断做出更改那么他撞到枪口上的可能性就会比较大但是如果这种更改抵消了之前的协议更改会导致宕机吗这是一个相当高发的状况

防火墙管理产品的中央控制台能全面可视所有的防火墙规则基础因此团队的所有成员都必须达成共识观察谁进行了何种更改这样就能及时发现并修理故障让整个协议管理更加简单和高效

二以最小的权限安装所有的访问规则

另一个常见的安全问题是权限过度的规则设置防火墙规则是由三个域构成的即源IP地址目的地网络/子网络和服务应用软件或者其他目的地为了确保每个用户都有足够的端口来访问他们所需的系统常用方法是在一个或者更多域内指定打来那个的目标对象当你出于业务持续性的需要允许大范围的IP地址来访问大型企业的网络这些规则就会变得权限过度释放因此就会增加不安全因素服务域的规则是开放65535个TCP端口的ANY防火墙管理员真的就意味着为黑客开放了65535个攻击矢量

三根据法规协议和更改需求来校验每项防火墙的更改

在防火墙操作中日常工作都是以寻找问题修正问题和安装新系统为中心的在安装最新防火墙规则来解决问题应用新产品和业务部门的过程中我们经常会遗忘防火墙也是企业安全协议的物理执行者每项规则都应该重新审核来确保它能符合安全协议和任何法规协议的内容和精神而不仅是一篇法律条文

四当服务过期后从防火墙规则中删除无用的规则

规则膨胀是防火墙经常会出现的安全问题因为多数运作团队都没有删除规则的流程业务部门擅长让你知道他们了解这些新规则却从来不会让防火墙团队知道他们不再使用某些服务了了解退役的服务器和网络以及应用软件更新周期对于达成规则共识是个好的开始运行无用规则的报表是另外一步黑客喜欢从来不删除规则的防火墙团队

五每年至少对防火墙完整的审核两次

如果你是名信用卡活动频繁的商人那么除非必须的话这项不是向你推荐的最佳实践方法因为支付卡行业标准1.1.6规定至少每隔半年要对防火墙进行一次审核

基本特性

一内部网络和外部网络之间的所有网络数据流都必须经过防火墙

防火墙布置图

这是防火墙所处网络位置特性同时也是一个前提因为只有当防火墙是内外部网络之间通信的唯一通道才可以全面有效地保护企业网内部网络不受侵害

根据美国国家安全局制定的信息保障技术框架防火墙适用于用户网络系统的边界属于用户网络边界的安全保护设备所谓网络边界即是采用不同安全策略的两个网络连接处比如用户网络和互联网之间连接和其它业务往来单位的网络连接用户内部网络不同部门之间的连接等防火墙的目的就是在网络连接之间建立一个安全控制点通过允许拒绝或重新定向经过防火墙的数据流实现对进出内部网络的服务和访问的审计和控制

典型的防火墙体系网络结构如下图所示从图中可以看出防火墙的一端连接企事业单位内部的局域网而另一端则连接着互联网所有的内外部网络之间的通信都要经过防火墙

二只有符合安全策略的数据流才能通过防火墙

防火墙最基本的功能是确保网络流量的合法性并在此前提下将网络的流量快速的从一条链路转发到另外的链路上去从最早的防火墙模型开始谈起原始的防火墙是一台双穴主机即具备两个网络接口同时拥有两个网络层地址防火墙将网络上的流量通过相应的网络接口接收上来按照OSI协议栈的七层结构顺序上传在适当的协议层进行访问规则和安全审查然后将符合通过条件的报文从相应的网络接口送出而对于那些不符合通过条件的报文则予以阻断因此从这个角度上来说防火墙是一个类似于桥接或路由器的多端口的网络接口>=2转发设备它跨接于多个分离的物理网段之间并在报文转发过程之中完成对报文的审查工作

三防火墙自身应具有非常强的抗攻击免疫力

这是防火墙之所以能担当企业内部网络安全防护重任的先决条件防火墙处于网络边缘它就像一个边界卫士一样每时每刻都要面对黑客的入侵这样就要求防火墙自身要具有非常强的抗击入侵本领它之所以具有这么强的本领防火墙操作系统本身是关键只有自身具有完整信任关系的操作系统才可以谈论系统的安全性其次就是防火墙自身具有非常低的服务功能除了专门的防火墙嵌入系统外再没有其它应用程序在防火墙上运行当然这些安全性也只能说是相对的

目前国内的防火墙几乎被国外的品牌占据了一半的市场国外品牌的优势主要是在技术和知名度上比国内产品高而国内防火墙厂商对国内用户了解更加透彻价格上也更具有优势防火墙产品中国外主流厂商为思科CiscoCheckPointNetScreen等国内主流厂商为东软天融信山石网科网御神州联想方正等它们都提供不同级别的防火墙产品

四应用层防火墙具备更细致的防护能力

自从Gartner提出下一代防火墙概念以来信息安全行业越来越认识到应用层攻击成为当下取代传统攻击最大程度危害用户的信息安全而传统防火墙由于不具备区分端口和应用的能力以至于传统防火墙仅仅只能防御传统的攻击基于应用层的攻击则毫无办法

从2011年开始国内厂家通过多年的技术积累开始推出下一代防火墙在国内从第一家推出真正意义的下一代防火墙的网康科技开始至今包扩东软天融信等在内的传统防火墙厂商也开始相互 效仿陆续推出了下一代防火墙下一代防火墙具备应用层分析的能力能够基于不同的应用特征实现应用层的攻击过滤在具备传统防火墙IPS防毒等功能的同时还能够对用户和内容进行识别管理兼具了应用层的高性能和智能联动两大特性能够更好的针对应用层攻击进行防护

五数据库防火墙针对数据库恶意攻击的阻断能力

虚拟补丁技术针对CVE公布的数据库漏洞提供漏洞特征检测技术
高危访问控制技术提供对数据库用户的登录操作行为提供根据地点时间用户操作类型对象等特征定义高危访问行为
SQL注入禁止技术提供SQL注入特征库
返回行超标禁止技术提供对敏感表的返回行数控制
SQL黑名单技术提供对非法SQL的语法抽象描述

代理服务

代理服务设备可能是一台专属的硬件或只是普通机器上的一套软件也能像应用程序一样回应输入封包例如连接要求同时封锁其他的封包达到类似于防火墙的效果

代理使得由外在网络窜改一个内部系统更加困难并且一个内部系统误用不一定会导致一个安全漏洞可从防火墙外面只要应用代理剩下的原封和适当地被配置被入侵相反地入侵者也许劫持一个公开可及的系统和使用它作为代理人为他们自己的目的代理人然后伪装作为那个系统对其它内部机器当对内部地址空间的用途加强安全破坏狂也许仍然使用方法譬如IP 欺骗试图通过小包对目标网络

防火墙经常有网络地址转换NAT的功能并且主机被保护在防火墙之后共同地使用所谓的私人地址空间依照被定义在[RFC 1918] 管理员经常设置了这样的情节假装内部地址或网络是安全的

防火墙的适当的配置要求技巧和智能 它要求管理员对网络协议和电脑安全有深入的了解 因小差错可使防火墙不能作为安全工具[4-5]

主要优点

1防火墙能强化安全策略

2防火墙能有效地记录Internet上的活动

3防火墙限制暴露用户点防火墙能够用来隔开网络中一个网段与另一个网段这样能够防止影响一个网段的问题通过整个网络传播

4防火墙是一个安全策略的检查站所有进出的信息都必须通过防火墙防火墙便成为安全问题的检查点使可疑的访问被拒绝于门外

相关功能

防火墙具有很好的保护作用 入侵者必须首先穿越防火墙的安全防线才能接触目标计算机你可以将防火墙配置成许多不同保护级别高级别的保护可能会禁止一些服务如视频流等

防火墙最基本的功能就是控制在计算机网络中不同信任程度区域间传送的数据流例如互联网是不可信任的区域而内部网络是高度信任的区域以避免安全策略中禁止的一些通信与建筑中的防火墙功能相似它有控制信息基本的任务在不同信任的区域 典型信任的区域包括互联网一个没有信任的区域和一个内部网络一个高信任的区域最终目标是提供受控连通性在不同水平的信任区域通过安全政策的运行和连通性模型之间根据最少特权原则

例如TCP/IPPort 135~139是Microsoft Windows的网上邻居所使用的如果计算机有使用网上邻居的共享文件夹又没使用任何防火墙相关的防护措施的话就等于把自己的共享文件夹公开到Internet供不特定的任何人有机会浏览目录内的文件且早期版本的Windows有网上邻居系统溢出的无密码保护的漏洞这里是指共享文件夹有设密码但可经由此系统漏洞达到无须密码便能浏览文件夹的需求

防火墙对流经它的网络通信进行扫描这样能够过滤掉一些攻击以免其在目标计算机上被执行防火墙还可以关闭不使用的端口而且它还能禁止特定端口的流出通信封锁特洛伊木马最后它可以禁止来自特殊站点的访问从而防止来自不明入侵者的所有通信

网络安全

一个防火墙作为阻塞点控制点能极大地提高一个内部网络的安全性并通过过滤不安全的服务而降低风险由于只有经过精心选择的应用协议才能通过防火墙所以网络环境变得更安全如防火墙可以禁止诸如众所周知的不安全的NFS协议进出受保护网络这样外部的攻击者就不可能利用这些脆弱的协议来攻击内部网络防火墙同时可以保护网络免受基于路由的攻击如IP选项中的源路由攻击和ICMP重定向中的重定向路径防火墙应该可以拒绝所有以上类型攻击的报文并通知防火墙管理员

强化网络安全策略

通过以防火墙为中心的安全方案配置能将所有安全软件如口令加密身份认证审计等配置在防火墙上与将网络安全问题分散到各个主机上相比防火墙的集中安全管理更经济例如在网络访问时一次一密口令系统和其它的身份认证系统完可以不必分散在各个主机上而集中在防火墙一身上

监控网络存取和访问

如果所有的访问都经过防火墙那么防火墙就能记录下这些访问并作出日志记录同时也能提供网络使用情况的统计数据当发生可疑动作时防火墙能进行适当的报警并提供网络是否受到监测和攻击的详细信息另外收集一个网络的使用和误用情况也是非常重要的首先的理由是可以清楚防火墙是否能够抵挡攻击者的探测和攻击并且清楚防火墙的控制是否充足而网络使用统计对网络需求分析和威胁分析等而言也是非常重要的

防止内部信息的外泄

通过利用防火墙对内部网络的划分可实现内部网重点网段的隔离从而限制了局部重点或敏感网络安全问题对全局网络造成的影响再者隐私是内部网络非常关心的问题一个内部网络中不引人注意的细节可能包含了有关安全的线索而引起外部攻击者的兴趣甚至因此而暴漏了内部网络的某些安全漏洞使用防火墙就可以隐蔽那些透漏内部细节如FingerDNS等服务Finger显示了主机的所有用户的注册名真名最后登录时间和使用shell类型等但是Finger显示的信息非常容易被攻击者所获悉攻击者可以知道一个系统使用的频繁程度这个系统是否有用户正在连线上网这个系统是否在被攻击时引起注意等等防火墙可以同样阻塞有关内部网络中的DNS信息这样一台主机的域名和IP地址就不会被外界所了解

数据库安全

实现数据库安全的实时防护

数据库防火墙通过SQL 协议分析根据预定义的禁止和许可策略让合法的SQL 操作通过阻断非法违规操作形成数据库的外围防御圈,实现SQL 危险操作的主动预防实时审计
数据库防火墙面对来自于外部的入侵行为提供SQL 注入禁止和数据库虚拟补丁包功能

其他功能

除了安全作用防火墙还支持具有Internet服务特性的企业内部网络技术体系VPN虚拟专用网

防火墙的英文名为FireWall它是目前一种最重要的网络防护设备从专业角度讲防火墙是位于两个或多个网络间实施网络之间访问控制的一组组件集合

相关知识

防火墙在网络中经常是以两种图标出现的一种图标非常形象真正像一堵墙一样而另一种图标则是从防火墙的过滤机制来形象化的在图标中有一个二极管图标而二极管我们知道它具有单向导电性这样也就形象地说明了防火墙具有单向导通性这看起来与防火墙过滤机制有些矛盾不过它却完全体现了防火墙初期的设计思想同时也在相当大程度上体现了当前防火墙的过滤机制因为防火最初的设计思想是对内部网络总是信任的而对外部网络却总是不信任的所以最初的防火墙是只对外部进来的通信进行过滤而对内部网络用户发出的通信不作限制当然防火墙在过滤机制上有所改变不仅对外部网络发出的通信连接要进行过滤对内部网络用户发出的部分连接请求和数据包同样需要过滤但防火墙仍只对符合安全策略的通信通过也可以说具有单向导通性

防火墙的本义是指古代构筑和使用木制结构房屋的时候为防止火灾的发生和蔓延人们将坚固的石块堆砌在房屋周围作为屏障这种防护构筑物就被称之为防火墙其实与防火墙一起起作用的就是门如果没有门各房间的人如何沟通呢这些房间的人又如何进去呢当火灾发生时这些人又如何逃离现场呢这个门就相当于我们这里所讲的防火墙的安全策略所以在此我们所说的防火墙实际并不是一堵实心墙而是带有一些小孔的墙这些小孔就是用来留给那些允许进行的通信在这些小孔中安装了过滤机制也就是上面所介绍的单向导通性

我们通常所说的网络防火墙是借鉴了古代真正用于防火的防火墙的喻义它指的是隔离在本地网络与外界网络之间的一道防御系统防火可以使企业内部局域网LAN网络与Internet之间或者与其他外部网络互相隔离限制网络互访用来保护内部网络

基本架构

防火墙的硬件体系结构曾经历过通用CPU架构ASIC架构和网络处理器架构他们各自的特点分别如下

通用CPU架构

通用CPU架构最常见的是基于Intel X86架构的防火墙在百兆防火墙中Intel X86架构的硬件以其高灵活性和扩展性一直受到防火墙厂商的青睐由于采用了PCI总线接口Intel X86架构的硬件虽然理论上能达到2Gbps的吞吐量甚至更高但是在实际应用中尤其是在小包情况下远远达不到标称性能通用CPU的处理能力也很有限

国内安全设备主要采用的就是基于X86的通用CPU架构

ASIC架构

ASICApplication Specific Integrated Circuit专用集成电路技术是国外高端网络设备几年前广泛采用的技术由于采用了硬件转发模式多总线技术数据层面与控制层面分离等技术 ASIC架构防火墙解决了带宽容量和性能不足的问题稳定性也得到了很好的保证

ASIC技术的性能优势主要体现在网络层转发上而对于需要强大计算能力的应用层数据的处理则不占优势而且面对频繁变异的应用安全问题其灵活性和扩展性也难以满足要求

由于该技术有较高的技术和资金门槛主要是国内外知名厂商在采用国外主要代表厂商是Netscreen国内主要代表厂商为天融信网御神州

网络处理器架构

由于网络处理器所使用的微码编写有一定技术难度难以实现产品的最优性能因此网络处理器架构的防火墙产品难以占有大量的市场份额

基于国产CPU的防火墙

随着国内通用处理器的发展逐渐发展了基于中国芯的防火墙主要架构为国产龙芯2F+FPGA的协议处理器主要应用政府军队等对国家安全敏感的行业代表厂商有中科院计算所博华科技等公司

三种配置

防火墙配置有三种Dual-homed方式Screened- host方式和Screened-subnet方式

Dual-homed方式最简单 Dual-homedGateway放置在两个网络之间这个Dual-omedGateway又称为bastionhost这种结构成本低但是它有单点失败的问题这种结构没有增加网络安全的自我防卫能力而它往往是受黑客攻击的首选目标它自己一旦被攻破整个网络也就暴露了

Screened-host方式中的Screeningrouter为保护Bastionhost的安全建立了一道屏障它将所有进入的信息先送往Bastionhost并且只接受来自Bastionhost的数据作为出去的数据这种结构依赖Screeningrouter和Bastionhost只要有一个失败整个网络就暴露了

Screened-subnet包含两个Screeningrouter和两个Bastionhost在公共网络和私有网络之间构成了一个隔离网称之为停火区DMZ即DemilitarizedZone,Bastionhost放置在停火区内这种结构安全性好只有当两个安全单元被破坏后网络才被暴露但是成本也很昂贵

发展历史

第一代防火墙

第一代防火墙技术几乎与路由器同时出现采用了包过滤Packet filter技术

第二代防火墙

第一代防火墙技术主要在路由器上实现后来将此安全功能独立出来专门用来实现安全过滤功能1989年贝尔实验室的Dave Presotto和Howard Trickey推出了第二代防火墙即电路层防火墙同时提出了第三代防火墙应用层防火墙代理防火墙的初步结构

第三代防火墙

代理防火墙出现原来从路由器上独立出来的安全软件迅速发展并引发了对承载安全软件本身的操作系统的安全需求即对防火墙本身的安全问题的安全需求

第四代防火墙

1992年USC信息科学院的BobBraden开发出了基于动态包过滤Dynamic packet filter技术的第四代防火墙后来演变为所说的状态监视Stateful inspection技术1994年以色列的CheckPoint公司开发出了第一个采用这种技术的商业化的产品

第五代防火墙

1998年NAI公司推出了一种自适应代理Adaptive proxy技术并在其产品Gauntlet Firewall for NT中得以实现给代理类型的防火墙赋予了全新的意义可以称之为第五代防火墙

一体化安全网关UTM

UTM统一威胁管理在防火墙基础上发展起来的具备防火墙IPS防病毒防垃圾邮件等综合功能的设备由于同时开启多项功能会大大降低UTM的处理性能因此主要用于对性能要求不高的中低端领域在中低端领域UTM已经出现了代替防火墙的趋势因为在不开启附加功能的情况下UTM本身就是一个防火墙而附加功能又为用户的应用提供了更多选择在高端应用领域比如电信金融等行业仍然以专用的高性能防火墙IPS为主流

工作原理

防火墙就是一种过滤塞你这么理解不算错你可以让你喜欢的东西通过这个塞子别的玩意都统统过滤掉在网络的世界里要由防火墙过滤的就是承载通信数据的通信包

天下的防火墙至少都会说两个词Yes或者No直接说就是接受或者拒绝最简单的防火墙是以太网桥但几乎没有人会认为这种原始防火墙能管多大用大多数防火墙采用的技术和标准可谓五花八门这些防火墙的形式多种多样有的取代系统上已经装备的TCP/IP协议栈有的在已有的协议栈上建立自己的软件模块有的干脆就是独立的

一套操作系统还有一些应用型的防火墙只对特定类型的网络连接提供保护比如SMTP或者HTTP协议等还有一些基于硬件的防火墙产品其实应该归入安全路由器一类以上的产品都可以叫做防火墙因为他们的工作方式都是一样的分析出入防火墙的数据包决定放行还是把他们扔到一边

所有的防火墙都具有IP地址过滤功能这项任务要检查IP包头根据其IP源地址和目标地址作出放行/丢弃决定看看下面这张图两个网段之间隔了一个防火墙防火墙的一端有台UNIX计算机另一边的网段则摆了台PC客户机

当PC客户机向UNIX计算机发起telnet请求时PC的telnet客户程序就产生一个TCP包并

把它传给本地的协议栈准备发送接下来协议栈将这个TCP包塞到一个IP包里然后通过PC机的TCP/IP栈所定义的路径将它发送给UNIX计算机在这个例子里这个IP包必须经过横在PC和UNIX计算机中的防火墙才能到达UNIX计算机

我们命令用专业术语来说就是配制防火墙把所有发给UNIX计算机的数据包都给拒了完成这项工作以后心肠比较好的防火墙还会通知客户程序一声呢既然发向目标的IP数据没法转发那么只有和UNIX计算机同在一个网段的用户才能访问UNIX计算机了

还有一种情况你可以命令防火墙专给那台可怜的PC机找茬别人的数据包都让过就它不行这正是防火墙最基本的功能根据IP地址做转发判断但要上了大场面这种小伎俩就玩不转了由于黑客们可以采用IP地址欺骗技术伪装成合法地址的计算机就可以穿越信任这个地址的防火墙了不过根

据地址的转发决策机制还是最基本和必需的另外要注意的一点是不要用DNS主机名建立过滤表对DNS的伪造比IP地址欺骗要容易多了

服务器TCP/UDP 端口过滤

仅仅依靠地址进行数据过滤在实际运用中是不可行的还有个原因就是目标主机上往往运行着多种通信服务比方说我们不想让用户采用 telnet的方式连到系统但这绝不等于我们非得同时禁止他们使用SMTP/POP邮件服务器吧所以说在地址之外我们还要对服务器的TCP/ UDP端口进行过滤

比如默认的telnet服务连接端口号是23假如我们不许PC客户机建立对UNIX计算机在这时我们当它是服务器的telnet连接那么我们只需命令防火墙检查发送目标是UNIX服务器的数据包把其中具有23目标端口号的包过滤就行了这样我们把IP地址和目标服务器TCP/UDP端口结合起来不就可以作为过滤标准来实现相当可靠的防火墙了吗不没这么简单

客户机也有TCP/UDP端口

TCP/IP是一种端对端协议每个网络节点都具有唯一的地址网络节点的应用层也是这样处于应用层的每个应用程序和服务都具有自己的对应地址也就是端口号地址和端口都具备了才能建立客户机和服务器的各种应用之间的有效通信联系比如telnet服务器在端口23侦听入站连接同时telnet客户机也有一个端口号否则客户机

的IP栈怎么知道某个数据包是属于哪个应用程序的呢

由于历史的原因几乎所有的TCP/IP客户程序都使用大于1023的随机分配端口号只有UNIX计算机上的root用户才可以访问1024以下的端口而这些端口还保留为服务器上的服务所用所以除非我们让所有具有大于1023端口号的数据包进入网络否则各种网络连接都没法正常工作

这对防火墙而言可就麻烦了如果阻塞入站的全部端口那么所有的客户机都没法使用网络资源因为服务器发出响应外部连接请求的入站就是进入防火墙的意思数据包都没法经过防火墙的入站过滤反过来打开所有高于1023的端口就可行了吗也不尽然由于很多服务使用的端口都大于1023比如X client基于RPC的NFS服务以及为数众多的非UNIX IP产品等NetWare/IP就是这样的那么让达到1023端口标准的数据包都进入网络的话网络还能说是安全的吗连这些客户程序都不敢说自己是足够安全的

双向过滤

OK咱们换个思路我们给防火墙这样下命令已知服务的数据包可以进来其他的全部挡在防火墙之外比如如果你知道用户要访问Web服务器那就只让具有源端口号80的数据包进入网络

不过新问题又出现了首先你怎么知道你要访问的服务器具有哪些正在运行的端口号呢 象HTTP这样的服务器本来就是可以任意配置的所采用的端口也可以随意配置如果你这样设置防火墙你就没法访问哪些没采用标准端口号的的网络站点了反过来你也没法保证进入网络的数据包中具有端口号80的就一定来自Web服务器有些黑客就是利用这一点制作自己的入侵工具并让其运行在本机的80端口

检查ACK位

源地址我们不相信源端口也信不得了这个不得不与黑客共舞的疯狂世界上还有什么值得我

们信任呢还好事情还没到走投无路的地步对策还是有的不过这个办法只能用于TCP协议

TCP是一种可靠的通信协议可靠这个词意味着协议具有包括纠错机制在内的一些特殊性质为了实现其可靠性每个TCP连接都要先经过一个握手过程来交换连接参数还有每个发送出去的包在后续的其他包被发送出去之前必须获得一个确认响应但并不是对每个TCP包都非要采用专门的ACK包来响应实际上仅仅在TCP包头上设置一个专门的位就可以完成这个功能了所以只要产生了响应包就要设置ACK位连接会话的第一个包不用于确认所以它就没有设置ACK位后续会话交换的TCP包就要设置ACK位了

举个例子PC向远端的Web服务器发起一个连接它生成一个没有设置ACK位的连接请求包当服务器响应该请求时服务器就发回一个设置了ACK位的数据包同时在包里标记从客户机所收到的字节数然后客户机就用自己的响应包再响应该数据包这个数据包也设置了ACK位并标记了从服务器收到的字节数通过监视ACK位我们就可以将进入网络的数据限制在响应包的范围之内于是远程系统根本无法发起TCP连接但却能响应收到的数据包了

这套机制还不能算是无懈可击简单地举个例子假设我们有台内部Web服务器那么端口80就不得不被打开以便外部请求可以进入网络还有对UDP包而言就没法监视ACK位了因为UDP包压根就没有ACK位还有一些TCP应用程序比如FTP连接就必须由这些服务器程序自己发起

FTP带来的困难

一般的Internet服务对所有的通信都只使用一对端口号FTP程序在连接期间则使用两对端口号第一对端口号用于FTP的命令通道提供登录和执行命令的通信链路而另一对端口号则用于FTP的数据通道提供客户机和服务器之间的文件传送

在通常的FTP会话过程中客户机首先向服务器的端口21命令通道发送一个TCP连接请求然后执行LOGINDIR等各种命令一旦用户请求服务器发送数据FTP服务器就用其20端口 (数据通道)向客户的数据端口发起连接问题来了如果服务器向客户机发起传送数据的连接那么它就会发送没有设置ACK位的数据包防火墙则按照刚才的规则拒绝该数据包同时也就意味着数据传送没戏了通常只有高级的也就是够聪明的防火墙才能看出客户机刚才告诉服务器的端口然后才许可对该端口的入站连接

UDP端口过滤

好了我们回过头来看看怎么解决UDP问题刚才说了UDP包没有ACK位所以不能进行ACK位过滤UDP 是发出去不管的不可靠通信这种类型的服务通常用于广播路由多媒体等广播形式的通信任务NFSDNSWINSNetBIOS-over-TCP/IP和 NetWare/IP都使用UDP

看来最简单的可行办法就是不允许建立入站UDP连接防火墙设置为只许转发来自内部接口的UDP包来自外部接口的UDP包则不转发问题是比方说DNS名称解析请求就使用UDP如果你提供DNS服务至少得允许一些内部请求穿越防火墙还有IRC这样的客户程序也使用UDP如果要让你的用户使用它就同样要让他们的UDP包进入网络我们能做的就是对那些从本地到可信任站点之间的连接进行限制但是什么叫可信任如果黑客采取地址欺骗的方法不又回到老路上去了吗

有些新型路由器可以通过记忆出站UDP包来解决这个问题如果入站UDP包匹配出站UDP包的目标地址和端口号就让它进来如果在内存中找不到匹配的UDP包就只好拒绝它了但是我们如何确信产生数据包的外部主机就是内部客户机希望通信的服务器呢如果黑客诈称DNS服务器的地址那么他在理论上当然可以从附着DNS的UDP端口发起攻击只要你允许DNS查询和反馈包进入网络这个问题就必然存在办法是采用代理服务器

所谓代理服务器顾名思义就是代表你的网络和外界打交道的服务器代理服务器不允许存在任何网络内外的直接连接它本身就提供公共和专用的DNS邮件服务器等多种功能代理服务器重写数据包而不是简单地将其转发了事给人的感觉就是网络内部的主机都站在了网络的边缘但实际上他们都躲在代理的后面露面的不过是代理这个假面具

注意事项

  1. 防火墙实现了你的安全政策

防火墙加强了一些安全策略如果你没有在放置防火墙之前制定安全策略的话那么就是制定的时候了它可以不被写成书面形式但是同样可以作为安全策略如果你还没有明确关于安全策略应当做什么的话安装防火墙就是你能做的最好的保 护你的站点的事情并且要随时维护它也是很不容易的事情要想有一个好的防火墙你需要好的安全策略---写成书面的并且被大家所接受

  1. 一个防火墙在许多时候并不是一个单一的设备

除非在特别简单的案例中防火墙很少是单一的设备而是一组设备就算你购买的是一个商用的all-in-one防火墙应用程序你同样得配置其他机器例如你的网络服务器来与之一同运行这些其他的机器被认为是防火墙的一部分这包含了对这些机器的配置和管理方式他们所信任的是什么什么又将他们作为可信的等等你不能简单的选择一个叫做防火墙的设备却期望其担负所有安全责任

2. 防火墙并不是现成的随时获得的产品

选择防火墙更像买房子而不是选择去哪里度假防火墙和房子很相似你必须每天和它待在一起你使用它的期限也不止一两个星期那么多都需要维护否则都会崩溃掉建设防火墙需要仔细的选择和配置一个解决方案来满足你的需求然后不断的去维护它需要做很多的决定对一个站点是正确的解决方案往往对另外站点来说是错误的

3. 防火墙并不会解决你所有的问题

并不要指望防火墙靠自身就能够给予你安全防火墙保护你免受一类攻击的威胁人们尝试从外部直接攻击内部但是却不能防止从LAN内部的攻击它甚至不能保护你免受所有那些它能检测到的攻击

4. 使用默认的策略

正常情况下你的手段是拒绝除了你知道必要和安全的服务以外的任何服务但是新的漏洞每天都出现关闭不安全的服务意味着一场持续的战争

5. 有条件的妥协而不是轻易的

人们都喜欢做不安全的事情如果你允许所有的请求的话你的网络就会很不安全如果你拒绝所有的请求的话你的网络同样是不安全的你不会知道不安全的东西隐藏在哪里那些不能和你一同工作的人将会对你不利你需要找到满足用户需求的方式虽然这些方式会带来一定量的风险

6. 使用分层手段

并在一个地点以来单一的设备使用多个安全层来避免某个失误造成对你关心的问题的侵害

7. 只安装你所需要的

防火墙机器不能像普通计算机那样安装厂商提供的全部软件分发作为防火墙一部分的机器必须保持最小的安装即使你认为有些东西是安全的也不要在你不需要的时候安装它

8. 使用可以获得的所有资源

不要建立基于单一来源的信息的防火墙特别是该资源不是来自厂商有许多可以利用的资源例如厂商信息我们所编写的书邮件组和网站

9. 只相信你能确定的

不要相信图形界面的手工和对话框或是厂商关于某些东西如何运行的声明检测来确定应当拒绝的连接都拒绝了检测来确定应当允许的连接都允许了

10. 不断的重新评价决定

你买的房子今天可能已经不适合你了同样的你一年以前所安装的防火墙对于你现在的情况已经不是最好的解决方案了对于防火墙你应当经常性的评估你的决定并确认你仍然有合理的解决方案更改你的防火墙就像搬新家一样需要明显的努力和仔细的计划

11. 要对失败有心理准备

做好最坏的心理准备防火墙不是万能的,对一些新出现的病毒和木马可能没有反映,要时常的更新.机器可能会停止运行动机良好的用户可能会做错事情有恶意动机的用户可能做坏的事情并成功的打败你但是一定要明白当这些事情发生的时候这并不是一个完全的灾难因为病毒发展迅速而且品种繁多防火墙不可能全部都能阻拦所以要做好最坏的心理准备的同时还要为下一步预防做好打算加强自身的安全防护

2009年8月Matousec排行

非TopTenReviews性价比排行此排行主要测试项目为包含了主机入侵防御性能在内的反泄漏性能不属于单纯的网络防火墙测试

Product

Product score

Level reached

Protection level

Recommendation

Report


Online Armor Personal Firewall 3.5.0.14

99%

10+

Excellent

GET IT NOW!


Kaspersky Internet Security 2010 9.0.0.459

96%

10+

Excellent

GET IT NOW!


Comodo Internet Security 3.8.65951.477

96%

10+

Excellent

GET IT NOW!


Outpost Firewall Free 2009 6.5.2724.381.0687.328

93%

10+

Excellent

GET IT NOW!


Outpost Security Suite Pro 2009 6.5.4.2525.381.0687

92%

9

Excellent

GET IT NOW!


Online Armor Personal Firewall 3.5.0.14 Free

92%

10+

Excellent

GET IT NOW!


Jetico Personal Firewall 2.0.2.8.2327

89%

10+

Very good

N/A


Malware Defender 2.2.2

89%

10+

Very good

GET IT NOW!


Privatefirewall 6.0.20.14

88%

10+

Very good

N/A


PC Tools Firewall Plus 5.0.0.36

86%

10

Very good

GET IT NOW!


Netchina S3 2008 3.5.5.1

85%

9

Very good

N/A


ZoneAlarm Pro 8.0.059.000

72%

9

Good

Not recommended


Lavasoft Personal Firewall 3.0.2293.8822

67%

8

Good

Not recommended


Norton Internet Security 2009 16.2.0.7

66%

8

Good

Not recommended


Webroot Desktop Firewall 5.8.0.25

54%

7

Poor

Not recommended


Trend Micro Internet Security Pro 17.1.1250

29%

5

None

Not recommended


BitDefender Internet Security 2009 12.0.12.0

12%

2

None

Not recommended


ZoneAlarm Free Firewall 8.0.298.000

11%

2

None

Not recommended


Avira Premium Security Suite 9.0.0.367

10%

2

None

Not recommended


CA Internet Security Suite Plus 2009 5.0.0.581

5%

1

None

Not recommended


Kingsoft Internet Security 9 Plus 2009.07.17.10

5%

1

None

Not recommended


Rising Internet Security 2009 21.41.21

5%

1

None

Not recommended


Sunbelt Personal Firewall 4.6.1861.0

5%

1

None

Not recommended


ThreatFire Free 4.1.0.25

5%

1

None

Not recommended


eConceal Pro for Windows 2.0.019.1

4%

1

None

Not recommended


ESET Smart Security 4.0.417.0

4%

1

None

Not recommended


FortiClient End Point Security 4.0.2.57

4%

1

None

Not recommended


Panda Internet Security 2010 15.00.00

4%

1

None

Not recommended


Windows Live OneCare 2.5.2900.24

4%

1

None

Not recommended


Mamutu 1.7.0.23

2%

1

None

Not recommended


Norman Security Suite 7.10

2%

1

None

Not recommended

世界排名

Online Armor Free 4.0.0.35-免费版本

Malware Defender 2.6.0-国产防火墙

Kaspersky Internet Security 2010 9.0.0.736

Privatefirewall 7.0.20.36-免费版本

Outpost Firewall Free 2009 6.5.1.2725.381.0687-免费版本

ZoneAlarm Extreme Security 9.1.008.000

Norton Internet Security 2010 17.5.0.127

Jetico Personal Firewall 2.1.0.7.2412

BitDefender Internet Security 2010 13.0.19.347

Trend Micro Internet Security Pro 2010 17.50.1647.0000

avast! Internet Security 5.0.418.0

McAfee Internet Security 2010 11.0.378

Panda Internet Security 2010 15.01.00

具体操作

1如何关闭windows防火墙
a打开开始菜单运行输入control命令打开控制面板
b在控制面板中找到防火墙图标双击打开
c选择关闭不推荐并确定即可关闭防火墙

2如何打开windows防火墙
只需将关闭防火墙的第三步改成启用推荐即可开启示windows防火墙

未来趋势

应用层安全

必须具有丰富的应用识别才能确保安全策略更精细更可视
动态更新的应用识别技术随着网络应用的快速增长基于各种协议的网络应用日趋增加新一代防火墙必须能够依据协议特点识别各种网络应用和网络动作并且内置到防火墙内部且应用和动作的识别可以动态更新
用户识别技术可以根据用户类型用户部门用户权限IP组等不同分类对网络用户进行分类使每一类用户有不同的网络权限同时应该与AD和RADIUS单点登录智能卡等结合完善接入用户的认证

内容级防护


全面的内容防护至少要包括漏洞扫描WEB防护内容过滤三个内容漏洞扫描要能发现对操作系统应用系统网络协议用户设备漏洞的防护对利用漏洞进行的攻击进行阻断WEB防护功能应包括网站攻击防护应用隐藏口令保护和权限控制内容过滤功能应该能显现对关键字URL集病毒木马恶意控件/脚本的过滤

应用层处理

如果使用传统的硬件架构方式对报文进行处理不仅对硬件要求高同时应用层报文处理会大量占用设备资源很难突破千兆处理必须对防火墙进行新架构设计抛弃了传统防火墙NPASIC等适合执行网络层重复计算工作的硬件设计采用了更加适合应用层灵活计算能力的多核并行处理技术在系统架构上也要放弃了UTM多引擎多次解析的架构需要采用了更为先进的一体化单次解析引擎将漏洞病毒Web攻击恶意代码/脚本URL库等众多应用层威胁统一进行检测匹配能够一次对报文实现从网络层到应用层的解析达到万兆处理能力

安全方案

通过本章的分析设计网络安全可视化应用管控全面应用安全三个大项部署未来防火墙框架

选购误区

防火墙是好但是若选择不当的话可能会起到相反的作用在这里笔者想跟大家交流一下防火墙选购的经验笔者结合自己与朋友防火墙管理方面的心得总结出了防火墙选购中的五大误区权当抛砖引玉

误区一太过于相信实验数据

在防火墙的产品说明中往往会有一些性能功能方面的参考数字如吞吐量有6G 抗病毒能力有多强等等对于这些数字我们在防火墙选购的时候不能够太过于迷信而应该以辩证的眼光去看待这些数字

一方面这些数字都是实验数据也就是说是在一个相对合理的干扰因素比较少的情况下得出的数据但是说实话任何一个企业的网络环境都不可能达到他们测试产品的那种水准当企业主机数量比较多若分段不合理就会造成比较多的网络广播那时也会影响到这个最终的有效吞吐量所以对于实验室出来的数据我们往往要打个对折

另一方面不能够光看某个指标在选购防火墙的时候有多大几十项的指标若其中一个指标如吞吐量即使高达10G但是若其他指标跟不上去的话那么一切都是白搭有时候厂商在测试产品的时候往往会把某些功能关掉后再进行测试在这种情况下测试出来的数据实用价值不会很大因为若把其他功能关掉就启用一项功能则CPU等硬件资源就不会发生争夺如此某个指标的数字看起来就会好看许多而在企业中部署防火墙的时候不可能只用一项功能把其他功能开起来的话则这个数字就会打折扣了

总之在防火墙选购的时候不要太过于相信实验数据对于他们从实验室得出来的数字笔者往往会给他们打个对折打折后的数据可能水分会少一点所以实验数据只能拿来参考在有条件的情况下网络管理员要结合自己的公司网络环境对防火墙产品进行测试这测试出来的结果对于我们防火墙选购才会有参考价值

网络管理员不要走入这个误区否则的话网络管理员只有自己消化由此带来的苦果了

误区二功能花哨却不实用

信息化技术越来越复杂而且防火墙的竞争也越来越激烈所以防火墙厂商为了提供自己产品的市场竞争力就往往在自己的防火墙产品中集成比较多的功能以增加市场的卖点

对于这些功能我们要冷眼看待

一方面要看看这些额外的功能企业是否需要如有些防火墙产品中会集成VPN等功能但是企业是否需要这项功能呢?网络管理员要事先考虑清楚因为VPN服务不仅在防火墙上可以实现而且在路由器上也可以实现如果企业对于VPN有比较高的性能要求的话甚至可以部署一个专用的VPN服务器等等若在防火墙上实现VPN功能笔者个人认为有着画蛇添足的味道在管理上没有其他实现方式那边简便与人性化

另一方面一些额外的功能会耗费防火墙的资源上面笔者说过在实验室中测试产品的时候往往只是测试单一的功能如测试吞吐量的话会把其他功能关闭掉若把防火墙的功能都启用起来的话则某个指标的数字可能需要打个两折了所以花哨功能多了就会大大影响防火墙的性能这就好像一个巨无霸网络管理员必须为他提供更好的硬件配置才能够让其正常的运行

相关新闻

词条信息

  • 浏览次数: 899 次

  • 更新时间: 2015-01-08