Apache-2.2

如何確定我的 apache 伺服器上是否安裝了 mod_security?

  • October 31, 2013

如何確定我的 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

否 - 上面列出的輸出僅描述了模組中的預編譯。

然而,mod_so.c該條目的存在意味著 Apache 能夠動態載入其他模組。

如果您可以訪問中央配置,則可以查看此內容並檢查是否有類似以下的行:

LoadModule security_module modules/mod_security.so

如果有,那麼您已經載入了 mod_security - 注意:這也可能在包含的配置文件中。

假設您的配置位於 /etc/httpd - 您可以執行以下命令來查找配置是否存在:

grep -ir security_module /etc/httpd

(替換/etc/httpd為中央配置目錄)。

如果您無權訪問伺服器配置,您可以使用<IfModule mod_security.c>.htaccess 中的語句來查看它是否已啟用:

<IfModule mod_security.c>

...在這裡執行某種重定向或重寫...

</IfModule>

希望這可以幫助。

引用自:https://serverfault.com/questions/116653