一直以来都是很多黑帽子***最常用(或者说是最喜欢用)的手段之一,随安全文化的逐步普及,大量的公开shellcode(“溢出”代码)与溢出***原理都可以随意在各大的网络安全网站中找得到,由此衍生了一系列的安全隐患...小黑黑使用它们来进行非法的***、恶意程序员使用它们来制造蠕虫等等...而网络 _blank">防火墙作为人们最喜欢的网络安全“设施”之一,它又能如何“拦截”这一类型的***呢?这就是今天小神与大伙一起讨论的问题了。     写这篇烂文时小神粗略地翻了一下CIW SP的教科书,56章节详细的介绍了_blank">防火墙的种类、作用、优略 点等,但没有提出关于使用_blank">防火墙来进行溢出防御的文章,这是为什么呢?大概是因为这样吧:目前大多的防 火墙系统都是针对包过滤规则进行安全防御的,这类型的_blank">防火墙再高也只能工作在传输层,而溢出程序的she llcode是放在应用层的,因此对这类***就无能为力了。打个比方:前段时间比较火热的IIS WEBDAV溢出漏洞, 若******成功能直接得到ROOTSHELL(命令行管理员控制台),它是在正常提供HTTP服务的情况下产生的溢出 漏洞,若在不打补丁与手工处理的情况下一台_blank">防火墙又能做到什么呢?相信你除了把访问该服务器TCP80端口 (提供正常地HTTP服务的情况下)的包过滤掉以外就什么都不会去做了,当然,这样也会使你的HTTP服务无法 正常地开放(等于没有提供服务...)。下面就让小神以这个漏洞为“论点&&题材”,说说自己的解决方案吧。 1)对希望保护的主机实行“单独开放端口”访问控制策略 所谓“单独开放端口”就是指只开放需要提供的端口,对于不需要提供服务的端口实行过滤策略。打个比方,现在我们需要保护一台存在WebDAV缺陷的WEB服务器,如何能令它不被骇客***呢?答案是:在这台WEB服务 器的前端_blank">防火墙中加入一个“只允许其他机器访问此机的TCP80端口”的包过滤规则(至于阁下的_blank">防火墙能否实现这样的规则就另当别论了)。加上这个规则又会有怎样的效果呢?经常做******测试的朋友应该比我还 清楚远程溢出的***实施流程了吧? ①使用缺陷扫描器找到存在远程溢出漏洞的主机-》②确认其版本号(如果有需要的话)-》③使用exploit(攻 击程序)发送shellcode-》④确认远程溢出成功后使用NCTELNET等程序连接被溢出主机的端口-》⑤得到SH ELL 使用“单独开放端口”策略的解决方案对整个远程溢出过程所发生的前三步都是无能为力的,但来到第四步 这个策略能有效地阻止骇客连上有缺陷主机的被溢出端口,从而切断了骇客的恶意***手段。优点:操作简单,一般的网络/系统管理员就能完成相关的操作。 缺点:对溢出后使用端口复用进行控制的EXPLOITS就无能为力了;对现实中的溢出后得到反向连接控制的EP LOITS也是无能为力;不能阻止D.o.S方面的溢出***。 2)使用应用层_blank">防火墙系统 这里所谓的应用层并不是想特别指明该_blank">防火墙工作在应用层,而是想指明它能在应用层对数据进行处理。由于应用层的协议/服务种类比较多,因此针对应用层形式的_blank">防火墙就有一定的市场局限性了。就楼上所提到的案例而言我们可以使用处理HTTP协议的应用层_blank">防火墙对存在WebDAV缺陷的服务器订制保护规则,保证服务 器不收此类***的影响。应用层中的HTTP协议_blank">防火墙系统不多,其中比较出名的有EEYE公司的SecureIIS, 其使用方式就可谓是“弱智型”了,说说它的基本防御原理与特点吧。当服务端接受到一个发送至TCP80端 口的数据包时首先就会将该包转移至SecureIISSecureIIS就会对该包进行分析并解码该包的应用层数据, 将得到的数据与你本身定制的规则进行数据配对,一旦发现条件相符饿数值就会执行规则所指定的相应操作。优点:能有效地切断一些来自应用层的***(如溢出、SQL注入等)。 缺点:因为需要安装在服务器上,所以会占用一定的系统资源;(eeye公司本身并无开发该软件的中文版本,所以一旦它受到POST行为发出的中文数据时就会自动认为是高位***代码,自动将其隔离,并进行相关的 处理操作)     楼上的两种解决方法我比较推崇第二种,但其实还是有第三种解决方案的(大家不要或我为某产品卖广 告就好:) 3)使用IDS功能的_blank">防火墙系统现在国内自主开发的_blank">防火墙系统可谓是进入“白热化”了,什么百兆、千兆、2U4U...性能参数的比较本 已经日趋激烈了,再开始有不少厂商将技术重点转移在了“多功能”的方面上,在_blank">防火墙中继承IDS模块已 经不是什么新鲜事了,使用这类产品可以达到监控应用层数据的效果。优点:便于管理。 缺点:费用支出增大;长期需要人力资源对其进行管理与设施维护;_blank">防火墙上的IDS模块功能有限。     综合以上三种解决方案,希望有一种能为阁下提供反思的空间,也希望各位能为提出相应的建议与意见,谢谢各位,需要与我联系请EMAILdemonalex[at]demonalex.net