12

mod_security をセットアップしただけで、多くの誤検知 [??] が表示されます。検出のみで実行しているため、まだ問題はありませんが、これらのフィルターは、必要になると要求をブロックし始めます。

これらのフィルターの重要性を 100% 理解しているわけではないのではないかと心配しています。ほぼすべてのドメインで何百ものフィルターを取得し、すべての要求が正当に見えます。

Request Missing a User Agent Header
Request Missing an Accept Header

ここで何をするのが最善ですか?これらのフィルターを無効にする必要がありますか? リクエストがブロックされないように重大度を低く設定できますか?

ここに完全なエントリがあります

[22/Nov/2011:21:32:37 --0500] u6t6IX8AAAEAAHSiwYMAAAAG 72.47.232.216 38543 72.47.232.216 80
--5fcb9215-B--
GET /Assets/XHTML/mainMenu.html HTTP/1.0
Host: www.domain.com
Content-type: text/html
Cookie: pdgcomm-babble=413300:451807c5d49b8f61024afdd94e57bdc3; __utma=100306584.1343043347.1321115981.1321478968.1321851203.4; __utmz=100306584.1321115981.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=XXXXXXXX%20clip%20ons

--5fcb9215-F--
HTTP/1.1 200 OK
Last-Modified: Wed, 23 Nov 2011 02:01:02 GMT
ETag: "21e2a7a-816d"
Accept-Ranges: bytes
Content-Length: 33133
Vary: Accept-Encoding
Connection: close
Content-Type: text/html

--5fcb9215-H--
Message: Operator EQ matched 0 at REQUEST_HEADERS. [file "/etc/httpd/modsecurity_crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf"] [line "47"] [id "960015"] [rev "2.2.1"] [msg "Request Missing an Accept Header"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/MISSING_HEADER_ACCEPT"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"]
Message: Operator EQ matched 0 at REQUEST_HEADERS. [file "/etc/httpd/modsecurity_crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf"] [line "66"] [id "960009"] [rev "2.2.1"] [msg "Request Missing a User Agent Header"] [severity "NOTICE"] [tag "PROTOCOL_VIOLATION/MISSING_HEADER_UA"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"]
Message: Warning. Operator LT matched 5 at TX:inbound_anomaly_score. [file "/etc/httpd/modsecurity_crs/base_rules/modsecurity_crs_60_correlation.conf"] [line "33"] [id "981203"] [msg "Inbound Anomaly Score (Total Inbound Score: 4, SQLi=5, XSS=): Request Missing a User Agent Header"]
Stopwatch: 1322015557122593 24656 (- - -)
Stopwatch2: 1322015557122593 24656; combined=23703, p1=214, p2=23251, p3=2, p4=67, p5=168, sr=88, sw=1, l=0, gc=0
Producer: ModSecurity for Apache/2.6.1 (http://www.modsecurity.org/); core ruleset/2.2.1.
Server: Apache/2.2.3 (CentOS)
4

2 に答える 2

22

Producer 行で示した監査ログ エントリのセクション H を見ると、OWASP ModSecurity Core Rule Set (CRS) v2.2.1 を使用していることがわかります。この場合、プロジェクト ページのドキュメント情報を確認することをお勧めします -

https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project#tab=ドキュメント

具体的には、私が行った次の 2 つのブログ投稿を確認してください。

  1. http://blog.spiderlabs.com/2010/11/advanced-topic-of-the-week-traditional-vs-anomaly-scoring-detection-modes.html
  2. http://blog.spiderlabs.com/2011/08/modsecurity-advanced-topic-of-the-week-exception-handling.html

ブログ投稿 #1 は、CRS に使用している「操作モード」を理解するのに役立ちます。監査ログを見ると、異常スコアリング モードで実行しているようです。これは、ルールが検出を行っている場所ですが、ブロックの決定は、modsecurity_crs_49_inbound_blocking.conf ファイルの全体的な異常スコアを検査することによって個別に行われています。

ブログ投稿 #2 は、これら 2 つのルールをどのように処理するかを正確に決定できるようにするのに役立ちます。これらが重要ではないと思われる場合は、SecRuleRemoveById ディレクティブを使用して、独自の modsecurity_crs_60_exceptions.conf ファイルからこれらのルールを無効にすることをお勧めします。現状では、これら 2 つのアラートはインバウンド異常スコア 4 しか生成していません。これは、modsecurity_crs_10_config.conf ファイルに設定されているデフォルトのしきい値である 5 を下回っているため、ブロックされません。

監査ログの例を見ると、このリクエストはアラートを生成しましたが、トランザクションはブロックされませんでした。そうである場合、セクション H の下のメッセージ データには、「アクセスが拒否されました...」と記載されていたはずです。

これらのルールの目的は、標準の Web ブラウザ (IE、Chrome、Firefox など) から生成されたものではないリクエストにフラグを立てることです。これらのブラウザはすべて、User-Agent と Accept リクエスト ヘッダーの両方を送信するためです。 HTTP RFC 仕様。

最後のコメント - これらのタイプの質問には、公式の OWASP ModSecurity CRS メールリストを使用することをお勧めします - https://lists.owasp.org/mailman/listinfo/owasp-modsecurity-core-rule-set

回答をアーカイブで検索することもできます。

乾杯、Ryan Barnett ModSecurity プロジェクト リーダー OWASP ModSecurity CRS プロジェクト リーダー

于 2011-11-23T13:36:17.303 に答える
6

これは誤検知ではありません。リクエスト ヘッダーUser-AgentにヘッダーがありませんAccept。通常、これらはスキャナー ツールまたはハック ツールから送信されます。

于 2012-04-13T11:30:35.130 に答える