如何找出mod_security是否安装在我的apache服务器上?

我怎么才能找出mod_security是否安装在我的apache服务器上? 我也想学习它的版本。

我有一些上传问题,我试图使用.htaccess禁用mod_security。 但是,这开始产生500内部服务器错误。

我读的地方,取决于我的mod_security版本,我可能无法使用.htaccess禁用它。 所以我想明白,如果我已经安装了mod_security,它是什么版本。

我在一个centos 5盒子上。

谢谢!

更新-1 xxxxxxxxxxxxx

下面的输出是否意味着我没有安装mod_security?

[root@u11 htdocs]# httpd -l Compiled in modules: core.c prefork.c http_core.c mod_so.c 

否 – 上面列出的输出只是描述了预编译的模块。

但是, mod_so.c条目的存在意味着Apache能够dynamic加载其他模块。

如果你有权访问中央configuration,你可以看看这个,并检查是否有这样一行:

 LoadModule security_module modules / mod_security.so

如果有,那么你有mod_security加载 – 注意:这也可以在一个包含的configuration文件。

假设您的configuration位于/ etc / httpd中 – 您可以运行以下命令查找configuration是否存在:

grep -ir security_module /etc/httpd

(用中央configuration目录replace/etc/httpd )。

如果您无法访问服务器configuration,则可以在.htaccess中使用<IfModule mod_security.c>语句来查看是否已启用:

  <IfModule mod_security.c>

 ...在这里执行某种redirect或重写...

 </ IfModule>configuration 

希望这可以帮助。

在某些环境中,mod_security不是必需的,因为防火墙策略是通过硬件实现的; 使用Debian你应该find关于这个模块types的信息

 grep -ir security_module /etc/apache2/mods-enabled/mod-security.conf 

如果这个文件不存在,可能不包括托pipe提供商,所以检查情况也与他们。