URI をスキャンしない Modsecurity ルール

URI をスキャンしない Modsecurity ルール

おはよう、

現在、新しい mod security 2.5 ルールを作成中です。

私の展開: リバースプロキシモードのApacheサーバーがあります。このApacheサーバーではないウェブサイトをホストします。代わりに、ウェブ リクエストに応答する別のサーバーにリクエストをプロキシします。

Web サーバーは認証トークンを使用して、Web サイトの URL を安全な URL に書き換えます。

75.75.75.75 - - [01/May/2015:10:55:14 -0400] "GET /record/example.svc/js HTTP/1.1" 200 1786 "https://example.org/example.aspx?XOW%5eLdz%3c2%2f1%2f42%2527kbmhtbffJfx%3e0%2527qpkf%5ejc%3e2%2527Cfruho%60uhpmXOW%5eLdz%3c2%2f1%2f42%2527RptsbfVQU%60Jfx%3e193%2527qpkf%5ejc%3e2%2527RptsbfVQU%60Ejqts%60Bihmc%60Mblf%3cSdrtfru%1fTbpqjmh"

問題:

Modsecurity は現在 URI をスキャンしています。ランダム URI の性質上、多くの誤検知が発生しています。これを防ぐために、すべての URI をスキャンから除外したいと思います。

書き換え、リダイレクト、認証トークンはすべて Web サーバー上で生成されるため (これを維持したい)、これらのヘッダーが正当であり、スキャンされないことを mod セキュリティに通知するにはどうすればよいでしょうか。

75.75.75.75 - - [01/May/2015:10:55:52 -0400] "GET /thing.aspx?XOW%5eLdz%3c375%25cddnnd%60ttds%5ebt%60he%3c5%2f58328 HTTP/1.1" 200 15100 "https://example.org/example.aspx?XOW%5eLdz%3c2%2f1%2f42%2527kbmhtbffJfx%3e0%2527qpkf%5ejc%3e2%2527Cfruho%60uhpmXOW%5eLdz%3c2%2f1%2f42%2527RptsbfVQU%60Jfx%3e193%2527qpkf%5ejc%3e2%2527RptsbfVQU%60Ejqts%60Bihmc%60Mblf%3cSdrtfru%1fTbpqjmh"

 75.75.75.75 - - [01/May/2015:10:55:52 -0400] "GET /example/example.svc/js HTTP/1.1" 200 1786 "https://example.org/example.aspx?XOW%5eLdz%3c375%25cddnnd%60ttds%5ebt%60he%3c5%2f58328"

答え1

私の知る限り、リクエストの特定の部分(URIやパラメータなど)を全面的に無視することはできません。全てModSecurity ルールを構成しました。これは便利な場合もありますが、多くのセキュリティ ホールが発生する可能性があります。

したがって、どのルールが失敗しているかを確認し、それらのルールのホワイト リスト例外を追加するだけです。

失敗したルールの例をいくつか挙げていただければ、これに関してサポートが必要な場合に、対処方法を提案できるかもしれません。

答え2

最終的に、URI をスキャンしない別のルールを使用することでこの問題を解決しました。

SecRuleUpdateTargetById 950120 !ARGS:REQUEST_URI

この方法では、この特定のルールは URI をスキャンしませんが、パケットの残りの部分はスキャンされます。このルールは、すべてのルールに対して複製する必要があることに注意してください。

関連情報