WEB防护技术与体系

基本安全防护手段,比如防火墙的部署,防火墙通常部署在网络出口,用以对网络内外交互的行为进行过滤,过滤规则基于五元组“源IP、目的IP、源MAC、目的MAC、端口号”。这种简单粗暴的过滤方式在早期行之有效。

但是,由于Web应用依托于应用层的HTTP\HTTPS进行开展,应用层对之下各层表现为同一端口,因此导致利用防火墙来为Web应用提供防护基本无效。主要原因是在传统防护规范中,基于TCP/IP的五元组位于OSI七层框架中第二、三、四层(TCP/IP模型的前三层),而Web应用位于OSI第七层(TCP/IP模型第四层)

防火墙对Web应用层面的攻击(SQL注入、XSS、upload等)基本没有防护效果。因此,利用防火墙只能对网络的边界处提供通用防护,但无法针对Web应用进行防护。目前,下一代防火墙(Next Generation Firewall)可以实现针对应用层威胁的防护。因此这里所说的防火墙是指传统的包过滤防火墙

1.硬件WAF

硬件WAF在部署时会尽可能靠近需要防护的Web服务器,并放置在Web服务器之前,采用串联的方式部署在网络中。很多情况下,WAF需要同时支持对多台服务器的防护,这时候可利用路由策略将HTTP流量引入WAF,待WAF检测完成后再发送给服务器。WAF重点针对进出Web服务器的HTTP流量进行过滤,并针对HTTP流量中的攻击行为采取阻断或告警措施。由于攻防技术不断演进,WAF系统也会定期升级,并更新各类防护策略及漏洞插件,以适应日益变更的网络攻防形态。

WAF在防护方面主要有以下两个比较具有争议的特点。

1.代理模式

这种模式下,将设备部署在Web服务器前端,可将Web网站缓存到设备中,并由WAF对用户的Web请求进行响应。而且,WAF也会定期对Web网站页面进行检查,确认网站是否安全,是否存在篡改行为等。此模式在设计之初预期非常好,希望WAF充当用户与站点之间的缓冲带。但由于WAF本身并不参与Web系统服务器的工作,因此当面对用户的交互请求时,仍会由被防护的Web服务器进行响应。因此,在实际工作中开启此模式的WAF设备也相对较少。

2.在线攻击防护效果

WAF设计之初的目标就是针对SQL注入、XSS等在线攻击行为进行防护。WAF常用的方式是利用关键字匹配,通过内置的Web漏洞及攻击行为特征对用户请求进行检测。这样做的问题是误报率较高,且会阻断正常用户行为。目前,新型的WAF设备具备了自学习及类似功能,可利用机器学习的方式来扩展防护的规则库,防护效果有较明显的提升。

WAF的额外功能很多,如爬虫检测功能、DDoS攻击识别功能、漏洞专项防护等。但是其标准防护技术就是疑似行为匹配。WAF内部会建立大量的规则库,涵盖各种漏洞类型的常见攻击特征、关键代码等。然后,利用正则表达式实现快速识别。当然,也会针对高危漏洞编写特定检测插件,以便精确识别当前攻击并做出防护。

硬件WAF的防护思路及方案非常适合为互联网的Web应用提供防护,但事实并非如此。通常来说,WAF的性能最高能够达到Gbps级别,这主要取决于检查深入程度及设备延迟。设备延迟过高会对用户体验造成极大的影响。同时作为一款硬件设备,WAF需部署在Web服务器前端,这样在网络内就形成了一个单点情况,俗称“单点故障点”。在这种情况下,如果WAF出现硬件、系统故障情况,极可能导致网络中断。

为了解决这个问题,目前WAF产品均具有双机热备/互备功能。依赖于通用的VRRP热备协议或其他标准,在网络内可实现多台设备的相互虚拟,由协议自动监控设备状态并自动切换链路。同时设备支持硬/软件bypass(一种断电网络连通机制,避免由于设备宕机后网络中断),采取双电源等模式,尽可能保障网络的通畅。在设备实际部署中,需根据真实的服务情况进行合理的网络配置,

WAF在线部署示意图

1.1常用的防护规则

有效的防护规则是WAF识别和阻止已知攻击的主要检测手段,也是WAF在线识别攻击的重要保证。标准的WAF规则所提供的防护功能主要包括以下方面:

1.针对用户行为的识别

·在线爬虫识别

·用户访问频率及特征

·DDoS识别

2.基础攻击的防护

·SQL注入防护

·XSS(跨站脚本)攻击防护

·跨站请求伪造防护

·文件内容安全防护

·命令执行漏洞防护

·远程文件包含防护

3.定向漏洞利用防护

·Web服务器漏洞防护

·Web插件漏洞防护

伴随的主动检测方法有以下几种:

1.网络行为归类

正常的访问流量中,用户的正常流量占据主要份额。因此,WAF可将正常行为进行归类识别,并形成对应正常行为的字符串。再利用识别后得到的字符串进行匹配,对通过设备的流量进行预筛选,提高检测效率。

2.不同位置的主动检测

主动检测技术可通过在任意的HTTP头部字段、HTTP BODY字段中插入flag的方式对敏感行为进行标记,并针对后续行为进行观察,确认流量的合法性。

3.多种检测条件的逻辑组合

WAF支持将多个检测条件组合使用,并支持复杂规则的定义,用于为各类站点提供定制化的防护体系。

4.支持自定义规则

支持正则表达式、可在复杂业务场景下实现防护规则的自定义。

总体来说,WAF为Web站点提供了良好的安全防护效果,并为各种不同类型及应用的Web系统提供了一体化的防护解决方案。因此在使用这类设备时,要根据业务特性选择适用的规则,并且可根据自身站点的情况进行规则的自定义,以发挥设备最大的防护效果。

1.2Apache ModSecurity

ModSecurity是一个免费、开源的Apache模块,其功能是过滤各类在线攻击,因此可作为Web应用防火墙(WAF)使用。ModSecurity是一个入侵探测与阻止的引擎,它主要用于Web应用程序,所以也可以叫做Web应用程序防火墙。其官网地址为:http://www.modsecurity.org/。

需要说明的是,OWASP是一个安全社区,开发和维护着一套免费的应用程序保护规则,这就是OWASP的ModSecurity的核心规则集(即CRS)。可以通过ModSecurity手工创建安全过滤器、定义攻击并实现主动的安全输入验证。

在实际应用中,利用ModSecurity对在线Web服务提供防护的场景并不很多,大多数安全运维人员反馈ModSecurity会极大降低当前服务器的性能,严重时会对正常的Web应用产生较大影响,包括访问延迟、可接受的并发连接极大减少等。这里暂不考虑这类问题,只是针对ModSecurity的防护原理及效果进行探讨,具体情况请根据实际的环境选择使用。

ModSecurity的CRS提供了非常多的防护策略,如引入第三方IP信誉库来鉴别访问请求的合法性,并支持利用爬虫技术及防病毒技术保护服务器的安全,及针对各类Web攻击的防护脚本。以SQL注入防护模块为例,

部分SQL注入防护规则

常见的SQL注入攻击的payload种类均已包含在其中,这类利用黑名单手段来过滤参数语句的防护效果主要取决于payload的涵盖范围。因此,也可根据自有Web的情况来添加额外的payload,从而实现良好的防护效果。针对其他Web漏洞的防护思路也与此类似。总体来说,Modsecurity仍以关键字检查及防护过滤为主,并没有添加过多的动态流及业务效果的展示。而且,Modsecurity对性能的影响比较明显,因此在商业实践环境中利用的场景并不多,在防护效果上也可近似将Modsecurity理解为初级的软件WAF效果,建议在中小站点或内网访问量有限的环境下使用。

Modsecurity在易用程度方面有所欠缺,且由于Modsecurity仅适用于Apache,因此推荐使用国内的相关软件实现上述效果,这里推荐使用安全狗http://www.safedog.cn/)、D盾(http://www.d99net.net/)等防护类工具进行防护工作。

1.3防篡改软件

防篡改软件的防护思路为:定期对Web页面进行监测,如发现异常,则立即告警并恢复页面

通过直接监测页面,有异常直接告警并恢复,可保证Web应用的顺利开展。但是,防篡改软件仅仅能实现这类功能。

常见的防篡改检测方式有以下几种。

1)定期轮询方式

用一个网页读取和检测程序,以轮询方式读出要监控的网页,与已经缓存好的真实网页进行比较,从而判断网页内容的完整性,对其中的修改内容进行合法性判断,并对被篡改的网页进行报警和恢复。

(2)软件监控方式

将篡改检测模块安装在Web服务器中,针对每次访问都进行完整性检查。对篡改网页及在线攻击行为进行实时访问阻断,并予以报警和恢复。在使用效果方面,这种方式类似于使用一套WAF系统,只不过是以软件形式,部署在服务器的网卡出口处进行防护。

(3)事件触发方式

利用操作系统的文件系统或驱动程序接口,通过程序检测网页文件当前状态。在网页文件被修改时进行合法性检查,对于非法操作进行报警和恢复。

目前防篡改软件仅为事后防护机制。因此不推荐仅使用具有防篡改功能的防护类型工具。这只能解决表面的业务问题,对系统内的木马等情况,并没有很好的解决手段。当然,新的防护软件均附带监控攻击现状等功能,相当于在服务器层面安装了一套WAF,可实现在线的防护,而且也有相关免费软件的支持,如安全狗

1.4云防护系统

针对中小规模网站的实际情况,受制于成本因素,通常会选择网络上的虚拟空间或虚拟主机来部署Web应用。但是,这又会受到虚拟空间或虚拟主机本身资源或各方面的限制,直接部署各类防护软件也不太现实;或者由于本地机房硬件条件的限制,无法额外部署一套硬件WAF设备进行防护。由于日常访问量较小,直接部署一套专业的商业WAF设备也意味着安全投入产出比并不十分理想。

为了解决硬件WAF成本过高、性能不佳以及需要机房环境等问题,研究人员开发了云防护系统。其防护思路为:网站管理者先将自己的域名解析地址指向云防护系统,那么在用户访问网站时,其访问的物理地址就变成了云防护系统的地址。云防护系统对用户的请求进行过滤后,再将请求发送给真实的Web服务器,从而实现在线防护。

云防护系统的DNS解析

在云防护系统的安全防护基础之上,传统的Web防护体系配合云的能力,可提供更加丰富的增值防护服务。例如,利用云的高性能及高带宽实现在线DDoS攻击流量过滤、实现在线缓存及备份功能等。而且管理方式简单易行,对Web应用无任何影响,适合个人用户及中小站点用户使用。

在防护效果方面,云防护系统在针对Web漏洞的防护方面与传统的WAF设备相比并没有大大区别,仍是以标准的漏洞防护方式(以参数过滤、参数转义)为主。因此,在防护效果方面,云防护系统与传统设备并没有明确的好坏之分,均可以提供在线防护能力。以国内某云防护系统为例,其针对在线攻击的防护效果良好。

综上,云防护系统主要优势在于:

·基于云的硬件资源可有效保障防护性能,避免了传统设备由于硬件性能产生的网络瓶颈。

·只针对域名进行防护,这样也可支持CDN等方式,用户体验更佳。

·无需硬件设备,可有效减少用户的初始投资。

·基于大数据的防护样本分析,防护效果会进一步提升。

当然,利用云防护系统还可较为简单地达到多Web应用的集中化管理的效果。相对于传统设备的规则库升级,集中管理的优势是可以将高危漏洞的响应时间缩短到小时级别,防护效果也能很好提升,并且给用户较多的防护选择空间。在实际安全防护工作开展中,可根据Web系统的真实防护需求选择使用。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2023-2025 是羽泪云诶
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信