【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

ModSecurity Framework 支持 Web 应用安全核心规则集

  • 2009-09-21
  • 本文字数:2462 字

    阅读完需:约 8 分钟

最新版的 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)有很多更新:

  • 更多的安全防护措施,如跨站脚本( XSS )、 SQL 注入及远程文件包含( RFI )。
  • Snort Web 攻击签名——拥有很大的一个规则集,里面包含了 Emerging Threat Snort Web 攻击签名,同时 Breach 安全实验室还会不断发布新的签名。
  • 协作规则——现在协作已经是个潮流了,所有的 CRS 规则都可以设定事务性变量以指定匹配的规则、匹配的位置及匹配的负载数据。
  • 不规则分数——现在每个规则都会在总的不规则分数中占据一定的比重,用户可以为其站点指定恰当的极限分数。
  • 更简单的异常处理——现在用户可以添加自己的本地异常以覆盖 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

2009-09-21 02:122209
用户头像

发布了 88 篇内容, 共 258.5 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

2021最新出炉BAT架构实战文档:多线程与高并发+分布式+微服务

Java 程序员 后端

Prometheus HTTP API 查询(四)Target 和查询结果格式

耳东@Erdong

Prometheus PromQL HTTP API 11月日更

3 条掏心掏肺的建议,新手学习编程必备,快上车!

Java 程序员 后端

2021金三银四,献给程序员从入门到放弃的 Java 架构师面试题

Java 程序员 后端

System.Text.Json 中的字符编码

喵叔

11月日更

21世纪什么最贵?“人才”看阿里大佬用一本书带你读懂TCP-IP协议

Java 程序员 后端

2021最新分享成功入职阿里巴巴(口碑部门)面经

Java 程序员 后端

2021社招阿里、腾讯、蚂蚁金服「4面」Java面试高频题分享

Java 程序员 后端

2021,你还在写“赤裸裸”的API吗?(1)

Java 程序员 后端

2021,你还在写“赤裸裸”的API吗?

Java 程序员 后端

25 大 Java 后端面试指南,3000 道面试题解析

Java 程序员 后端

2年Java,面试蚂蚁金服总结

Java 程序员 后端

Redis 6.0 新特性篇:多线程网络模型全面解密

码哥字节

redis 多线程 IO多路复用 11月日更

2021最新分享字节四面成功拿Offer!

Java 程序员 后端

为什么区块链和加密资产对于实现元宇宙很重要?

CECBC

2021美团高级工程师亲自汇总九大面试专题(附1000字解析)

Java 程序员 后端

4年Java程序员十面阿里终拿下offer,评级P6+年薪30-40w无股票

Java 程序员 后端

4月面试5月成功入职阿里,工作之余整理复盘:面试经历+备战经验分享!

Java 程序员 后端

2021阿里大牛最新发布:Java高频面试题和核心技术(已涨薪6K)

Java 程序员 后端

22款终端生产力工具,效率飞起!

Java 程序员 后端

2021最新分享成功入职腾讯(后台开发岗)面经

Java 程序员 后端

容器 & 服务:Helm Charts配置文件分析

程序员架构进阶

容器 Helm 11月日更 chart

解决:interface conversion: interface {} is float64, not int

liuzhen007

11月日更

2021阿里巴巴钻石级级“Docker全线笔记”新鲜出炉

Java 程序员 后端

2021最新分享“天猫”面经:10万字大厂面试总结

Java 程序员 后端

进击的Java(二)

ES_her0

11月日更

22道Java Spring Boot高频面试题

Java 程序员 后端

588页!三个通宵学完这份“宝典”,4面斩获字节跳动offer

Java 程序员 后端

69-个经典-Spring-面试题和答案详解(下)

Java 程序员 后端

7月份了,再不准备金九银十就晚了,阿里2021最新数据结构与算法面试题手册

Java 程序员 后端

【Promise 源码学习】第三篇 - 实现一个简版 Promise

Brave

Promise 11月日更

ModSecurity Framework支持Web应用安全核心规则集_架构_Srini Penchikala_InfoQ精选文章