httpd と mod_security は OWASP dos ルールに準拠しています。

httpd と mod_security は OWASP dos ルールに準拠しています。

私はhttpd Webサーバーにmod_securityを設定しようとしています。私は基本的な手順に従った。

yum install mod_security
  1. modsecurity_crs_10_setup.conf入れた/etc/httpd/modsecurity.d
  2. 私はowasp dosルールを入れました。/etc/httpd/modsecurity.d/activated-rules
  3. /etc/httpd/conf.d/mod_security.confこの2つを含めて確認しました。.conf
  4. フォルダに/etc/httpd/httpd.conf含まれていることを確認しました。/etc/httpd/conf.d

httpを起動してチェックインすると、httpが生成され、すべてのエラーが記録されること/var/log/httpdがわかります(5xと4x)。modsecurity_auditlog

--b7148938-H--
Apache-Handler: proxy-server
Stopwatch: 1419172908440055 2294 (- - -)
Stopwatch2: 1419172908440055 2294; combined=242, p1=98, p2=8, p3=0, p4=1, p5=84, sr=32, sw=51, l=0, gc=0
Response-Body-Transformed: Dechunked
Producer: ModSecurity for Apache/2.8.0 (http://www.modsecurity.org/); **OWASP_CRS/2.2.9.**
Server: Apache/2.2.29 (xxx)
Engine-Mode: "ENABLED"

その後、低軌道イオンキヤノンを発射し、5分間インデックスページにスパムを送信しました。大丈夫です。サーバーがDOS攻撃を受けたという事実は言及していません。 (modsecurity監査ログとhttpエラーログを確認しました。)

これをテストするために、owaspの変数を修正しました.conf(しきい値が非常に低く、バーストタイムフラグメントが小さくなります)。

#SecAction \
  "id:'900015', \
  phase:1, \
  t:none, \
  setvar:'**tx.dos_burst_time_slice=10'**, \
  setvar:'**tx.dos_counter_threshold=5**', \
  setvar:'tx.dos_block_timeout=600', \
  nolog, \
  pass"

しかし、まだ何もありません。私のIPはまだブロックされていません。

私は何を逃したことがありませんか?

答え1

ルール900015で参照されているコードスニペットの#SecActionから#を削除する必要があります。 DoSルールを使用している場合は、これを行うように指示された内容が上に表示されます。

関連情報