最新版的 ModSecurity (一个开源的 Web 应用防火墙,即 WAF)开始支持核心规则集( Core Rule Set ,即 CRS,可用于定义旨在保护 Web 应用免受零日及其他安全攻击的规则)了。ModSecurity 团队发布的 2.5.10 版还包含了其他一些特性,如并行文本匹配、Geo IP 解析和信用卡号检测等,同时还支持内容注入、自动化的规则更新和脚本等内容。
我们可以通过 ModSecurity 手工创建安全过滤器、定义攻击并实现主动的安全输入验证。此外,它还提供了一个面向 Lua 语言的新的 API,为开发者提供一个脚本平台以实现用于保护 Web 应用的复杂逻辑。
ModSecurity Core Rules 2.0 于上个月发布,这是一个基于事件的编程语言,包含了用于事务查询的各个步骤、能够转换数据以进行辨别、还可以将多个规则合成起来以形成复杂逻辑。其他的入侵检测(IDS)与防御系统(IPS)根据特定于攻击的签名来实施防范,而核心规则集却是根据一般的规则来防范常发生在 Web 应用中的安全攻击,这种攻击在大多数情况下都是自定义的,换句话说,攻击代码是无章可循的。核心规则集框架通过以下技术来保护 Web 应用的安全:
- HTTP 防护——对违背 HTTP 协议与本地定义的使用策略的行为进行检测。
- 常见的 Web 攻击防护——对常见的 Web 应用安全攻击进行检测。
- 自动检测——对机器人、爬虫、扫描及其他恶意行为进行检测。
- 特洛伊木马防护——对特洛伊木马进行检测。
- 错误隐藏——伪装成服务器发出的错误消息。
InfoQ 有幸采访到了 Breach Security 应用安全研究院主管及 ModSecurity 项目领导 Ryan Barnett 以了解 ModSecurity 的新特性及与其他 Web 应用防火墙产品相比 ModSecurity 有哪些与众不同之处。
与其他 Web 应用防火墙产品,尤其是那些基于硬件的设备,如 Cisco、Imperva 与 Breach 等相比,ModSecurity Framework 有何与众不同之处?
开源的 ModSecurity 与那些商业产品相比有太多不同之处了。 硬件设备对比软件方案:ModSecurity 是一个软件 Web 应用防火墙引擎,本质上是个 Apache module。这意味着它是嵌入在目标 Web 服务器当中的,而并非部署在单独的设备中。然而,我们也可以将 Apache 配置成一个反向代理并达到类似的目的,但要知道 ModSecurity 本身并不会处理这个方面。
软件 WAF 方案的优势:有些情况需要进行大规模的部署,在这种情况下,将 WAF 分布在目标 Web 服务器当中要比从垂直方向上增加外部硬件设备实际的多。嵌入式部署的另一个好处是无需再去处理 SSL 解码了,因为 Web 服务器会进行预处理并将数据回传给 ModSecurity。
软件 WAF 方案也并非完美无缺,其缺点如下:
- 可能无法将新的软件加到 Web 服务器当中。
- 会使用到本地资源。
- 反应时间的影响——很多商业 WAF 设备可以在 Sniff 模式下进行非线性部署,这样就无法评估在线性情况下对 HTTP 事务的访问所需的反应时间了。
商业与开源产品高级功能对比:ModSecurity 拥有一个高级的规则语言和 Lua API 以编写复杂逻辑。我们既可以创建消极安全规则(寻找已知的坏输入),也可以创建积极安全规则(只允许已知的好输入)以规定输入验证的防护类型。这种方式的主要限制在于 ModSecurity 无法自动化创建这些规则,所以必须手工创建。但只在以下两种场合之一才行: A. 如果 Web 应用不经常变化
B. 响应攻击扫描报告,在这种情况下可以使用目标的积极安全规则 如果将 ModSecurity 作为一个对已知问题的虚拟修补方案,那么它就不太适合于 B 了。高端的商业 WAF 都具有自动化的学习和分析机制以创建这些积极安全规则,同时还能够从客户端与 Web 应用之间的交互中进行学习。
对于安全管理来说,网络路由器要比 Web 服务器(Apache)更棒么?
这取决于实际情况。安全策略、日志分析与报告的中心化实现是个不错的主义。然而从技术角度来说,你需要确保在相同的上下文中去评估数据,因为受保护的 Web 应用处于临界环境下,因此理想的情况是越接近应用越好,在应用中就更棒了,这么做会减少错误的消息规则出现的可能性。
除了 Apache 以外,ModSecurity 还能运行在其他的 Web 服务器上么,如微软的 IIS ?
现在还不行,但未来会实现的。我们的首要目标是让 ModSecurity 成为 IIS 的插件(以 ISAPI filter 的形式)。
能否详细谈谈核心规则集项目有哪些新特性,这些新特性是如何帮助开发者和 Web 管理员保护 Web 应用免受安全攻击的困扰。
新的核心规则集(CRS)有很多更新:
在寻求 Web 应用防火墙方案时的最佳实践是什么?网络管理员与开发者需要牢记哪些内容?
检视 OWASP 的最佳实践:仔细阅读 Web 应用防火墙文档。它含有大量的信息来评估一个WAF 是否/ 何时/ 如何能帮助你的组织。 检视WASC Web 应用评估标准( WAFEC )文档。该文档概览了不同的 WAF 功能。你应该着重看那些对你来说很重要的特性,然后将其作为 WAF 评估的一个标准。
根据 WAF 搜集的数据建立一个针对事件处理的流程。既然已经对 HTTP 的通信堵塞有了深入的了解,你会发现之前所遗漏的内容。需要确保有一个计划以应付新接收的数据。
ModSecurity 项目未来的路线图如何?
从长远来看,我们希望 ModSecurity 成为一个自我包含的程序库,这样就能插入到任何应用当中了。Breach Security 正积极地参与到 Open Information Security Foundation( OISF )的项目中以创建新式的网络入侵检测系统,同时我们还继续在 HTTP 引擎上进行着艰苦卓绝的努力。这些工作成果的大部分都将融合到 ModSecurity 中。
查看英文原文: ModSecurity Framework Supports Web Application Security Core Rule Set
评论