详解网络安全中防火墙和IDS的作用
随着互联网的兴起,网络服务、媒体的多元化发展,网络与越来越多的商业应用和经济领域的联系越来越多,与此同时,安全问题也渐渐浮出了水面。
那么,怎么才能做到安全
业界的同行曾经说过“安全,是一种意识,而不是某种的技术就能实现真正的安全。”随着工作的时间渐长,对这句话的体会就越深。再防守严密的网络,利用人为的疏忽,管理员的懒惰和社会工程学也可能被轻易攻破。
因此,在这里我介绍的防火墙和IDS技术,只是我们在网络安全环节中进行的一个防御步骤。不要听信某些商家的销售人员所说的:“装上我们的xx防火墙,就能绝对保证您的网络安全”等等动听的话语,事实上那不过是为了销售其产品而制造出来的“善意的欺骗”而已。在网络内进行防火墙与IDS的设置,并不能保证我们的网络就绝对安全了,但是设置得当的防火墙和IDS,至少会使我们的网络更为坚固一些,并且能提供更多的攻击信息供我们分析。
接下来,让我们抛开商家的宣传,正确地认识一下防火墙和IDS的作用吧。
防火墙
一、防火墙能够作到些什么
1.包过滤
具备包过滤的就是防火墙?对,没错!根据对防火墙的定义,凡是能有效阻止网络非法连接的方式,都算防火墙。早期的防火墙一般就是利用设置的条件,监测通过的包的特征来决定放行或者阻止的,包过滤是很重要的一种特性。虽然防火墙技术发展到现在有了很多新的理念提出,但是包过滤依然是非常重要的一环,如同四层交换机首要的仍是要具备包的快速转发这样一个交换机的基本功能一样。通过包过滤,防火墙可以实现阻挡攻击,禁止外部/内部访问某些站点,限制每个ip的流量和连接数。
2.包的透明转发
事实上,由于防火墙一般架设在提供某些服务的服务器前。如果用示意图来表示就是 Server—FireWall—Guest 。用户对服务器的访问的请求与服务器反馈给用户的信息,都需要经过防火墙的转发,因此,很多防火墙具备网关的能力。
3.阻挡外部攻击
如果用户发送的信息是防火墙设置所不允许的,防火墙会立即将其阻断,避免其进入防火墙之后的服务器中。
4.记录攻击
如果有必要,其实防火墙是完全可以将攻击行为都记录下来的,但是由于出于效率上的考虑,目前一般记录攻击的事情都交给IDS来完成了,我们在后面会提到。
以上是所有防火墙都具备的基本特性,虽然很简单,但防火墙技术就是在此基础上逐步发展起来的。
二、防火墙有哪些缺点和不足?
1.防火墙可以阻断攻击,但不能消灭攻击源。
“各扫自家门前雪,不管他人瓦上霜”,就是目前网络安全的现状。互联网上病毒、木马、恶意试探等等造成的攻击行为络绎不绝。设置得当的防火墙能够阻挡他们,但是无法清除攻击源。即使防火墙进行了良好的设置,使得攻击无法穿透防火墙,但各种攻击仍然会源源不断地向防火墙发出尝试。例如接主干网10M网络带宽的某站点,其日常流量中平均有512K左右是攻击行为。那么,即使成功设置了防火墙后,这512K的攻击流量依然不会有丝毫减少。
2.防火墙不能抵抗最新的未设置策略的攻击漏洞
就如杀毒软件与病毒一样,总是先出现病毒,杀毒软件经过分析出特征码后加入到病毒库内才能查杀。防火墙的各种策略,也是在该攻击方式经过专家分析后给出其特征进而设置的。如果世界上新发现某个主机漏洞的cracker的把第一个攻击对象选中了您的网络,那么防火墙也没有办法帮到您的。
3.防火墙的并发连接数限制容易导致拥塞或者溢出
由于要判断、处理流经防火墙的每一个包,因此防火墙在某些流量大、并发请求多的情况下,很容易导致拥塞,成为整个网络的瓶颈影响性能。而当防火墙溢出的时候,整个防线就如同虚设,原本被禁止的连接也能从容通过了。
4.防火墙对服务器合法开放的端口的攻击大多无法阻止
某些情况下,攻击者利用服务器提供的服务进行缺陷攻击。例如利用开放了3389端口取得没打过sp补丁的win2k的超级权限、利用asp程序进行脚本攻击等。由于其行为在防火墙一级看来是“合理”和“合法”的,因此就被简单地放行了。
5.防火墙对待内部主动发起连接的攻击一般无法阻止
“外紧内松”是一般局域网络的特点。或许一道严密防守的防火墙内部的网络是一片混乱也有可能。通过社会工程学发送带木马的邮件、带木马的URL等方式,然后由中木马的机器主动对攻击者连接,将铁壁一样的防火墙瞬间破坏掉。另外,防火墙内部各主机间的攻击行为,防火墙也只有如旁观者一样冷视而爱莫能助。
6.防火墙本身也会出现问题和受到攻击
防火墙也是一个os,也有着其硬件系统和软件,因此依然有着漏洞和bug。所以其本身也可能受到攻击和出现软/硬件方面的故障。
7.防火墙不处理病毒
不管是funlove病毒也好,还是CIH也好。在内部网络用户下载外网的带毒文件的时候,防火墙是不为所动的(这里的防火墙不是指单机/企业级的杀毒软件中的实时监控功能,虽然它们不少都叫“病毒防火墙”)。
看到这里,或许您原本心目中的防火墙已经被我拉下了神台。是的,防火墙是网络安全的重要一环,但不代表设置了防火墙就能一定保证网络的安全。“真正的安全是一种意识,而非技术!”请牢记这句话。
不管怎么样,防火墙仍然有其积极的一面。在构建任何一个网络的防御工事时,除了物理上的隔离和目前新近提出的网闸概念外,首要的选择绝对是防火墙。那么,怎么选择需要的防火墙呢?
首先大概说一下防火墙的分类。就防火墙(本文的防火墙都指商业用途的网络版防火墙,非个人使用的那种)的组成结构而言,可分为以下三种:
第一种:软件防火墙
软件防火墙运行于特定的计算机上,它需要客户预先安装好的计算机操作系统的支持,一般来说这台计算机就是整个网络的网关。软件防火墙就象其它的软件产品一样需要先在计算机上安装并做好配置才可以使用。防火墙厂商中做网络版软件防火墙最出名的莫过于Checkpoint。使用这类防火墙,需要网管对所工作的操作系统平台比较熟悉。
第二种:硬件防火墙
这里说的硬件防火墙是指所谓的硬件防火墙。之所以加上"所谓"二字是针对芯片级防火墙说的了。它们最大的差别在于是否基于专用的硬件平台。目前市场上大多数防火墙都是这种所谓的硬件防火墙,他们都基于PC架构,就是说,它们和普通的家庭用的PC没有太大区别。在这些PC架构计算机上运行一些经过裁剪和简化的操作系统,最常用的有老版本的Unix、Linux和FreeBSD系统。 值得注意的是,由于此类防火墙采用的依然是别人的内核,因此依然会受到os本身的安全性影响。国内的许多防火墙产品就属于此类,因为采用的是经过裁减内核和定制组件的平台,因此国内防火墙的某些销售人员常常吹嘘其产品是“专用的os”等等,其实是一个概念误导,下面我们提到的第三种防火墙才是真正的os专用。
第三种:芯片级防火墙
它们基于专门的硬件平台,没有操作系统。专有的ASIC芯片促使它们比其他种类的防火墙速度更快,处理能力更强,性能更高。做这类防火墙最出名的厂商莫过于NetScreen.其他的品牌还有FortiNet,算是后起之秀了。这类防火墙由于是专用OS,因此防火墙本身的漏洞比较少,不过价格相对比较高昂,所以一般只有在“确实需要”的情况下才考虑。
在这里,特别纠正几个不正确的观念:
1.在性能上,芯片级防火墙>硬件防火墙>软件防火墙。
在价格上看来,的确倒是如此的关系。但是性能上却未必。防火墙的“好”,是看其支持的并发数、最大流量等等性能,而不是用软件硬件来区分的。事实上除了芯片级防火墙外,软件防火墙与硬件防火墙在硬件上基本是完全一样的。目前国内的防火墙厂商由于大多采用硬件防火墙而不是软件防火墙,原因1是考虑到用户网络管理员的素质等原因,还有就是基于我国大多数民众对“看得见的硬件值钱,看不到的软件不值钱”这样一种错误观点的迎合。不少硬件防火墙厂商大肆诋毁软件防火墙性能,不外是为了让自己那加上了外壳的普通pc+一个被修改后的内核+一套防火墙软件能够卖出一个好价钱来而已。而为什么不作芯片级防火墙呢?坦白说,国内没有公司有技术实力。而且在中国市场上来看,某些国内的所谓硬件防火墙的硬件质量连diy的兼容机都比不上。看看国内XX的硬件防火墙那拙劣的硬盘和网卡,使用过的人都能猜到是哪家,我就不点名了。真正看防火墙,应该看其稳定性和性能,而不是用软、硬来区分的。至少,如果笔者自己选购,我会选择购买CheckPoint而非某些所谓的硬件防火墙的。
2.在效果上,芯片防火墙比其他两种防火墙好
这同样也是一种有失公允的观点。事实上芯片防火墙由于硬件的独立,的确在OS本身出漏洞的机会上比较少,但是由于其固化,导致在面对新兴的一些攻击方式时,无法及时应对;而另外两种防火墙,则可以简单地通过升级os的内核来获取系统新特性,通过灵活地策略设置来满足不断变化的要求,不过其OS出现漏洞的概率相对高一些。
3.唯技术指标论
请以“防火墙买来是使用的”为第一前提进行购买。防火墙本身的质量如何是一回事,是否习惯使用又是另一回事。如果对一款产品的界面不熟悉,策略设置方式不理解,那么即使用世界最顶级的防火墙也没有多大作用。就如小说中武林中人无不向往的“倚天剑”、“屠龙刀”被我拿到,肯定也敌不过乔峰赤手的少林长拳是一般道理。防火墙技术发展至今,市场已经很成熟了,各类产品的存在,自然有其生存于市场的理由。如何把产品用好,远比盲目地比较各类产品好。
IDS
什么是IDS呢?早期的IDS仅仅是一个监听系统,在这里,你可以把监听理解成窃听的意思。基于目前局网的工作方式,IDS可以将用户对位于与IDS同一交换机/HuB的服务器的访问、操作全部记录下来以供分析使用,跟我们常用的widnows操作系统的事件查看器类似。再后来,由于IDS的记录太多了,所以新一代的IDS提供了将记录的数据进行分析,仅仅列出有危险的一部分记录,这一点上跟目前windows所用的策略审核上很象;目前新一代的IDS,更是增加了分析应用层数据的功能,使得其能力大大增加;而更新一代的IDS,就颇有“路见不平,拔刀相助”的味道了,配合上防火墙进行联动,将IDS分析出有敌意的地址阻止其访问。
就如理论与实际的区别一样,IDS虽然具有上面所说的众多特性,但在实际的使用中,目前大多数的入侵检测的接入方式都是采用pass-by方式来侦听网络上的数据流,所以这就限制了IDS本身的阻断功能,IDS只有靠发阻断数据包来阻断当前行为,并且IDS的阻断范围也很小,只能阻断建立在TCP基础之上的一些行为,如Telnet、FTP、HTTP等,而对于一些建立在UDP基础之上就无能为力了。因为防火墙的策略都是事先设置好的,无法动态设置策略,缺少针对攻击的必要的灵活性,不能更好的保护网络的安全,所以IDS与防火墙联动的目的就是更有效地阻断所发生的攻击事件,从而使网络隐患降至较低限度。
接下来,我简单介绍一下IDS与防火墙联动工作原理
入侵检测系统在捕捉到某一攻击事件后,按策略进行检查,如果策略中对该攻击事件设置了防火墙阻断,那么入侵检测系统就会发给防火墙一个相应的动态阻断策略,防火墙根据该动态策略中的设置进行相应的阻断,阻断的时间、阻断时间间隔、源端口、目的端口、源IP和目的IP等信息,完全依照入侵检测系统发出的动态策略来执行。一般来说,很多情况下,不少用户的防火墙与IDS并不是同一家的产品,因此在联动的协议上面大都遵从 opsec 或者 topsec协议进行通信,不过也有某些厂家自己开发相应的通信规范的。目前总得来说,联动有一定效果,但是稳定性不理想,特别是攻击者利用伪造的包信息,让IDS错误判断,进而错误指挥防火墙将合法的地址无辜屏蔽掉。
因为诸多不足,在目前而言,IDS主要起的还是监听记录的作用。用个比喻来形容:网络就好比一片黑暗,到处充满着危险,冥冥中只有一个出口;IDS就象一支手电筒,虽然手电筒不一定能照到正确的出口,但至少有总比没有要好一些。称职的网管,可以从IDS中得到一些关于网络使用者的来源和访问方式,进而依据自己的经验进行主观判断(注意,的确是主观判断。例如用户连续ping了服务器半个小时,到底是意图攻击,还是无意中的行为?这都依据网络管理员的主观判断和网络对安全性的要求来确定对应方式。)对IDS的选择,跟上面谈到的防火墙的选择类似,根据自己的实际要求和使用习惯,选择一个自己够用的,会使用的就足够了。
最后,要说的依然是那句“世界上没有一种技术能真正保证绝对地安全。”安全问题,是从设备到人,从服务器上的每个服务程序到防火墙、IDS等安全产品的综合问题;任何一个环节工作,只是迈向安全的步骤。这一讲,希望能带给各位一些我的安全理念,谢谢大家。
详解网络安全中防火墙和IDS的作用的评论条评论