ModSecurity介绍

ModSecurity介绍


一、什么是ModSecurity?

        1、ModSecurity是一个入侵探测与阻止的引擎,它主要是用于Web应用程序所以也可以叫做Web应用程序防火墙。

       2、ModSecurity是一个开源、跨平台的web应用程序防火墙(WAF)模块。

       3、它可以作为Apache Web服务器的一个模块或单独的应用程序来运行。

       4、ModSecurity的目的是为增强Web应用程序的安全性和保护Web应用程序避免遭受来自已知与未知的攻击。

       


二、ModSecurity能做什么?

         1、ModSecurity是实时web应用程序工具包监控、日志记录和访问控制。

        2、自由选择做什么是必不可少的一部分ModSecurity的身份和其开放源码特性非常适合。 完全访问源代码,你自由选择延伸到自定义和扩展工具本身的能力,使其满足您的需要。 这不是一个意识形态的问题,但实用性。我只是不想让我的工具限制我能做什么。

        3、回到话题ModSecurity能做什么,下面列出最重要的使用场景:

  • 实时应用程序安全性监测和访问控制在其核心,ModSecurity给你访问HTTP通信流,实时,检查它的能力。 这是足够的实时安全监控。 有一个额外的维度可能通过ModSecurity的持久存储机制,这使您能够跟踪系统元素随着时间的推移和执行事件相关。 你能够可靠地,如果你愿意,因为ModSecurity使用完整的请求和响应缓冲。

  • 虚拟补丁缓解虚拟修补漏洞的概念在不同的层中,你获得解决问题的应用程序,而无需触摸应用程序本身。 虚拟补丁适用于使用任何通信协议的应用程序,但它与HTTP尤其有用,因为交通通常可以很好理解的中间设备。 ModSecurity擅长虚拟修补因其可靠的屏蔽能力和灵活的规则适用于任何需要的语言。 到目前为止,该活动,需要最少的投资,是最简单的活动执行,大多数组织可以受益于直接。

  • 完整的HTTP流量日志Web服务器通常很少做日志记录是为了安全目的。 他们默认日志非常少,甚至很多的调整,你不能得到你需要的一切。 我还没有遇到一个web服务器日志已满的交易数据。 ModSecurity能记录任何你需要的给你,包括原始交易数据,这对取证至关重要。 此外,您可以选择哪些交易记录,事务被记录的哪些部分,哪些部分是消毒。

  • 连续被动安全评估安全评估很大程度上被看作是一个活跃的预定事件,在一个独立的团队采购来执行一个模拟攻击。 连续被动安全评估是实时监控的一种变体,在那里,而不是专注于外部各方的行为,你专注于系统的行为本身。 这是一个各种各样的早期预警系统,可以发现许多异常的痕迹和安全漏洞利用。

  • Web应用程序硬化ModSecurity是我最喜欢的一个用途攻击表面还原,你选择性地缩小你愿意接受(如HTTP特性。 ,请求方法、请求头内容类型,等等)。 ModSecurity可以帮助您执行许多类似的限制,直接或通过合作与其他Apache模块。 他们都属于硬化的web应用程序。 例如,它可以解决许多会话管理问题,以及跨站点请求伪造漏洞。

  • 小的东西,但对你非常重要现实生活往往把不寻常的要求对我们来说,这是当的灵活性ModSecurity方便你最需要它的地方。 它可能是安全需要,但它也可能是完全不同的东西。 例如,有些人使用ModSecurity作为XML web服务路由器,结合解析XML的能力和应用XPath表达式与代理请求的能力。 谁知道呢?

三、指导原则

        有四个指导原则基于ModSecurity,如下:
  • 灵活性我认为这是公平地说,我为自己建造了ModSecurity:一位安全专家需要拦截、分析和存储HTTP流量。 我没有看到多值硬编码功能,因为现实生活中这么复杂,每个人都需要做的事情只是略有不同。 ModSecurity实现灵活性,给你一个强大的规则语言,它允许您做什么您需要,结合应用规则只在你需要的能力。

  • 被动ModSecurity将十分小心地与一个事务,除非你告诉它。 仅仅是因为我不相信工具,甚至我,为我作出决定。 这就是为什么ModSecurity会给你足够的信息,但最终决定你离开。

  • 可预测性没有所谓的完美的工具,但可以预见的是未来最好的事情。 带着所有的事实,你可以理解ModSecurity的弱点和工作。

  • 质量而不是数量在过去的六年工作了ModSecurity,我们想出了许多想法ModSecurity能做什么。 我们没有按照他们中的大多数。 我们以后保持他们。 为什么? 因为我们明白我们有限的资源可以在处理,我们的思想(观念)远高于我们的实现能力。 我们选择限制可用的功能,但做得很好,我们决定保持。
        ModSecurity中有部分外,这四个原则的范围。 例如,ModSecurity可以改变Apache标识本身与外部世界,限制Apache进程在一个监狱,甚至实现一个复杂的计划来处理Adobe

Reader onceinfamous普遍XSS漏洞。 虽然是我添加这些功能,但我现在认为他们偏离ModSecurity的主要目的,这是一个可靠的和可预测的工具,允许HTTP流量检查。


四、部署选项

       ModSecurity支持两种部署选项:嵌入式和反向代理部署。 没有一个最好的方法使用,只有最适合您的环境。 这两种选择都有优点和缺点:
  • 嵌入式因为ModSecurity是一个Apache模块,您可以将其添加到任何兼容的版本的Apache。 此刻这意味着相当近期的Apache版本从2.0。 2.2 x分支,虽然一个更新的。 x版本是推荐的。 嵌入的选择是一个很好的选择对于那些已经有他们的建筑布局和不想改变它。 嵌入式部署也是唯一的选择,如果你需要保护数以百计的web服务器。 在这种情况下,它是不切实际的建立一个独立的proxybased安全层。 嵌入式ModSecurity不仅不引入新的点故障,但它尺度无缝作为底层网络基础设施规模。 嵌入式部署的主要挑战是,web服务器之间共享服务器资源,ModSecurity。

  • 反向代理反向代理实际上是HTTP路由器,旨在站在web服务器和客户之间。 当你安装一个专用的Apache反向代理和添加ModSecurity,你会得到一个 “ “proper†” 一个 “ “proper†” 网络web应用防火墙,你可以使用任意数量的保护web服务器在同一个网络。 许多安全从业人员更喜欢拥有一个单独的安全层。 用它你从系统获得完全的隔离保护。 在性能方面,一个独立的ModSecurity资源致力于它,这意味着您将能够做更多的事(即。 更复杂的规则)。 这种方法的主要缺点是新的故障点,这将需要处理的高可用性设置两个或两个以上的反向代理。

五、遗漏了什么吗?

         ModSecurity是一个很好的工具,但有很多特性,或大或小,可以补充道。 小的特征与ModSecurity是那些会让你的生活更容易,也许自动化一些无聊的工作(如。 持久的阻塞,你现在要做手工)。 但只有我称之为失踪的两个特性:
  • 学习保护web应用程序是很困难的,因为有很多人,他们都是不同的。 (我经常说每个web应用程序有效地创建自己的通信协议。) 这将是非常方便的ModSecurity观察应用程序流量和创建一个模型,之后可以用于生成政策或协助假阳性。 当我在违反安全的时候,我开始一个项目叫做ModProfiler[http://www.modsecurity.org/projects/modprofiler/]一步学习,但这个项目仍然是当我离开它,0.2版本。

  • 被动模式部署ModSecurity只能嵌入式Apache 2。 x,但当你将它部署反向代理,它可以被用来保护任何web服务器。 反向代理不是每个人的杯茶,然而,有时它会很方便的部署ModSecurity被动,而无需改变任何东西在网络上。

六、OWASP ModSecurity核心规则集(CRS)

      OWASP的ModSecurity CRS项目的目标是提供一个容易的“可插入”组通用攻击检测规则提供一个基本水平的保护任何web应用程序。

      OWASP的ModSecurity CRS提供保护如果以下攻击/威胁类别:

  • HTTP协议保护
  • 实时黑名单查询
  • HTTP拒绝服务的保护
  • 通用网络攻击防护
  • 错误检测和隐藏


原文请参考:http://www.modsecurity.org/documentation.html

参考手册:https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#libapr-and-libapr-util

nginx拓展的可用性:https://www.trustwave.com/Resources/SpiderLabs-Blog/Announcing-the-availability-of-ModSecurity-extension-for-Nginx/


你可能感兴趣的:(php,安全性,服务器)