ModSecurity-Regel zum Nichtscannen von URIs

ModSecurity-Regel zum Nichtscannen von URIs

Ich habe Schwierigkeiten beim Erstellen einer neuen Mod-Sicherheitsregel 2.5.

Meine Bereitstellung: Apache-Server, eingerichtet als Reverse-Proxy. (Der Apache-Webserver hostet die Website also nicht. Stattdessen leite ich die Anforderungen an einen anderen Server weiter, der die Webanforderungen beantwortet.)

Der Webserver verwendet Authentifizierungstoken, um die Website-URL in eine sichere URL umzuschreiben.

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"

Das Problem:

Modsecurity scannt derzeit die URI. Aufgrund der Natur der zufälligen URIs wurden viele Fehlalarme erzeugt. Um dies zu verhindern, möchte ich alle URIs vom Scannen ausnehmen.

Da das Umschreiben, die Umleitung und das Authentifizierungstoken alle auf dem Webserver generiert werden (und das soll auch so bleiben), wie informiere ich die Mod-Sicherheit darüber, dass diese Header legitim sind, und scanne sie nicht?

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"

Antwort1

Nachfolgend die Antwort in den Kommentaren zur ursprünglichen Frage:

Kurz gesagt ist es nicht möglich, die URI von der Prüfung auszuschließen. ModSecurity basiert wie andere Produkte auf Regeln und Signaturen.

Sie können jedoch die Regel-ID für Ihre Falschmeldungen abrufen (aus dem Apache-Fehlerprotokoll für VirtualHost) und eine in Ihrer Apache-Konfiguration durchführen SecRemoveRuleById 123456. Auf diese Weise können Sie die Falschmeldungen aus der Übereinstimmung entfernen.

Ich würde Ihnen dringend empfehlen, dies so selektiv wie möglich über eine LocationMatchRichtlinie oder ähnliches zu tun

Per Chat,Hrvojeszeigt ein Beispiel für eine Regelverkettung, die nützlich sein kann

verwandte Informationen