mod_security是件好事吗?


9

最近,我经常收到来自mod_security的错误错误消息。它的过滤器集涵盖了过时的PHP漏洞利用,而且我不得不重写我的东西,因为Wordpress&Co几年前就有错误。

这在别人身上发生过吗?

Apache mod_security在到达应用程序之前阻止可能危险的HTTP请求(特别是PHP)。它使用各种过滤器集,大部分基于正则表达式。

因此,我有一个不错的共享托管服务提供商,从技术上讲是易用的东西。但这困扰了我:

就在上周,我不得不&src=在我的一个应用程序中更改参数名称,因为mod_security阻止了与此相关的任何请求。我没有查看其详细信息,但是此过滤规则阻止了我不使用并且可能从未听说过的另一个应用程序的可利用性。仍然我不得不重写我的代码(经常使用重命名参数来欺骗mod_security),这与它无关或与此无关!

今天,一个愚蠢的正则表达式阻止了表单提交,因为我想提交php示例代码。给出了,这是mod_security可以防止的简单内容。但是我不相信mod_security可以检测到严重混淆的代码,并且只会出现明显的(在这种情况下完全是微不足道的)PHP代码片段。

基本上,我会受到mod_security的惩罚,因为其他人发布了易于出错的应用程序。(并不是说我的应用程序是超级安全的-我非常在意安全性,但是不要夸张地说。)
我已经要求提供商禁用它,这对IMO和我的应用程序都太微不足道了。


你怎么看?在WP托管之外,mod_security是否有意义?还是真的只是一堆长期存在的安全漏洞的黑名单?它的哪些规则实际上有帮助?是否有等效的应用程序级别?


1
PHP代码提交很愚蠢,因为即使使用来打印字符串<?php doBadStuff(); ?>也不会运行该功能。(除非您eval当然使用这当然是邪恶的。)
DisgruntledGoat

@DisgruntledGoat:或者也许由于两个错误警报,我又太脾气暴躁了。最后,mod_security就像病毒扫描程序一样,仍然带有MS-DOS病毒签名。大多数情况下没有帮助,但会捕获随机漏洞扫描程序并偶尔出现潜在的badstuff()吗?左右:}
马里奥(Mario)2010年

Answers:


3

我个人认为mod_security是一个补丁。我在无法控制上传代码的某些服务器上使用了它(例如,共享托管服务器),但是对于我来说,从来没有真正感觉到这是一个很好的解决方案。基于广泛且非常通用的黑名单方法,它不是一个好的安全策略,更是弥补安全漏洞的补丁。

它还可能提供错误的安全感。mod_security可以揭示一些常见的攻击,但绝不能阻止任何攻击。再次,这是常见的已知攻击的黑名单。如果您只是安装mod_security并认为自己绝对安全,那么您将被误认为是可怕的。

对于托管服务器,我发现了一个更好的策略,在该服务器中,我的团队检查了放置在其上的所有代码,并结合了许多日志,日志文件分析,报告系统和入侵检测/入侵防御系统(IPS)。每次第三方或开源软件安装(我看着,WordPress的!)我们保留日志它是安装在哪里,当新版本发布,我们更新每个已安装的副本。

同样,您现在很可能在共享托管服务器上找到mod_security。随着您的成长,您可以转到基于VPS或基于Clod的托管服务提供商,在此您可以拥有自己的托管环境并可以更紧密地控制可用软件。


那就是我的感觉。为了确保共享托管帐户之间的安全,suexec + fastcgi似乎更适用。在VPS上并使用所有自定义代码,mod_security很少提供帮助(尽管它会进行一些HTTP遵从性检查)。+1综合日志。
马里奥

0

我认为,如果您是编程的新手,那么mod_security是个好主意,但是如果您花时间正确编写应用程序,并避免编写使用eval或将GET字符串直接连接到SQL中的不安全代码,那么您应该没有它。mod_security将永远不会阻止严肃的黑客,如果您有一个好的应用程序,那么脚本小子将放弃并继续前进到那里的下一个真正脆弱且不安全的应用程序。


无法解释您的
不赞成
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.