web-dev-qa-db-ja.com

Apacheサーバーにmod_securityがインストールされているかどうかを確認するにはどうすればよいですか?

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
5
Haluk

いいえ-上記の出力は、モジュールで事前にコンパイルされたものを示しています。

ただし、 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>

お役に立てれば。

4
DaveG

一部の環境では、ファイアウォールポリシーがハードウェアを介して実装されているため、mod_securityは必要ありません。 Debianを使用すると、このモジュールのタイピングに関する情報が見つかるはずです

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

このファイルが存在しない場合は、ホスティングプロバイダーによって含まれていない可能性があるため、状況も確認してください。

0
user1696584