如何确定我的 apache 服务器上是否安装了 mod_security?

Hal*_*luk 5 centos mod-security apache-2.2

如何确定我的 apache 服务器上是否安装了 mod_security?我也想了解它的版本。

我遇到了一些上传问题,我尝试使用 .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
Run Code Online (Sandbox Code Playgroud)

Dav*_*veG 4

否 - 上面列出的输出仅描述了模块中的预编译。

然而,该条目的存在mod_so.c意味着 Apache 能够动态加载附加模块。

如果您有权访问中央配置,您可以查看此内容并检查是否有类似以下的行:

LoadModule security_module 模块/mod_security.so

如果有,那么您已经加载了 mod_security - 注意:这也可能位于包含的配置文件中。

假设您的配置位于 /etc/httpd - 您可以运行以下命令来查找配置是否存在:

grep -ir security_module /etc/httpd

(替换/etc/httpd为中央配置目录)。

如果您无权访问服务器配置,您可以使用<IfModule mod_security.c>.htaccess 中的语句来查看它是否已启用:

<IfModule mod_security.c>

...在这里执行某种重定向或重写...

</如果模块>

希望这可以帮助。