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
を中央構成ディレクトリに置き換えます)。
サーバー構成にアクセスできない場合は、.htaccess内で<IfModule mod_security.c>
ステートメントを使用して、それが有効になっているかどうかを確認できます。
<IfModule mod_security.c> ...ここで何らかのリダイレクトまたは書き換えを実行します... </ IfModule>
お役に立てれば。
一部の環境では、ファイアウォールポリシーがハードウェアを介して実装されているため、mod_securityは必要ありません。 Debianを使用すると、このモジュールのタイピングに関する情報が見つかるはずです
grep -ir security_module /etc/Apache2/mods-enabled/mod-security.conf
このファイルが存在しない場合は、ホスティングプロバイダーによって含まれていない可能性があるため、状況も確認してください。