写点什么

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:122297
用户头像

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

关注

评论

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

Android 10手势导航的侧滑返回效果优化策略,2021最新Android大厂面试真题大全

android 程序员 移动开发

Android Gradle 学习笔记整理,阿里Android面试必问

android 程序员 移动开发

OpenSearch 文档如何部署到 GitHub Page 中

HoneyMoose

Android Studio自定义模板实现一键创建MVP结构,已拿到offer

android 程序员 移动开发

android webview与js交互(动态添加js),【好文推荐

android 程序员 移动开发

Android WebView独立进程解决方案(1),flutter推送通知

android 程序员 移动开发

Android 使用 Kotlin 重写 Gradle 文件,kotlin教程

android 程序员 移动开发

Android AutoService 组件化,android完整项目源码

android 程序员 移动开发

Android Gradle 干货,sharedpreferences跨进程

android 程序员 移动开发

Android Manifest功能与权限描述大全,阿里大牛整理

android 程序员 移动开发

Android Matrix矩阵,一个Android程序员的面试心得

android 程序员 移动开发

Android P 网络请求相关总结,flutter二维码扫描插件

android 程序员 移动开发

Android 9,flutter安装教程2019

android 程序员 移动开发

OpenSearch 文档中文本地化

HoneyMoose

Android MVP模式深入实践探索(一),移动开发工程师简历

android 程序员 移动开发

Android mvvm 之 LiveData 的原理,如何保证高可用

android 程序员 移动开发

Android 关于CPU类型的so文件兼容问题(ABI),十年Android编程开发生涯

android 程序员 移动开发

Android ViewPager2 & TabLayout,那些被大厂优化的程序员们

android 程序员 移动开发

Android 11 中的存储机制更新,android项目开发实战入门光盘文件

android 程序员 移动开发

Android AOSP 6,flutter面试题

android 程序员 移动开发

Android BLE基础框架全新改版,android音视频开发面试题

android 程序员 移动开发

Android JPEG 压缩那些事,深入解析Android-AutoLayout

android 程序员 移动开发

Android Protobuf应用及原理,android输入法开发软键盘切换

android 程序员 移动开发

Android Gradle 常用配置,androidsdk环境配置

android 程序员 移动开发

Android WebView常见问题,androidim开发

android 程序员 移动开发

Android 11适配指南之系统相机拍照、打开相册,Android开发两年

android 程序员 移动开发

Android Handler源码浅析,一线互联网架构师筑基必备技能之Android篇

android 程序员 移动开发

Android jetpack最佳总结和实践,安卓面试题宝典app

android 程序员 移动开发

Android NDK 开发之 CMake 必知必会,程序员必须要了解的知识点

android 程序员 移动开发

Android Studio 3,2021Android面试真题精选干货整理

android 程序员 移动开发

Android WebView独立进程解决方案,手撕面试官

android 程序员 移动开发

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