Modsecurity-Regel zum Nichtscannen von URIs

Modsecurity-Regel zum Nichtscannen von URIs

Guten Morgen,

Ich bin derzeit dabei, eine neue Mod-Sicherheitsregel 2.5 zu erstellen.

Mein Einsatz: Ich habe einen Apache-Server im Reverse-Proxy-Modus. Dieser Apache-Servernichthoste die Websites. Stattdessen übermittle ich die Anfragen an einen anderen Server, der die Webanfragen 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

Soweit ich weiß, ist es nicht möglich, einen bestimmten Teil der Anfrage (sei es URI oder irgendwelche Parameter) pauschal zu ignorieren.allekonfigurierte ModSecurity-Regeln. Das mag zwar nützlich sein, würde aber wahrscheinlich eine Reihe von Sicherheitslücken öffnen.

Sie müssen also nur erkennen, welche Regeln fehlschlagen, und für diese Regeln Ausnahmen zur Whitelist hinzufügen.

Wenn Sie Beispiele für einige der fehlerhaften Regeln geben, kann ich Ihnen möglicherweise Vorschläge zur Vorgehensweise machen, falls Sie hierbei Hilfe benötigen.

Antwort2

Wir haben dieses Problem schließlich gelöst, indem wir eine andere Regel verwendet haben, um die URI nicht zu scannen.

SecRuleUpdateTargetById 950120 !ARGS:REQUEST_URI

Auf diese Weise würde diese spezielle Regel nicht die URI scannen, aber dennoch den Rest des Pakets. Es ist zu beachten, dass diese Regel für jede Regel, die Sie haben, repliziert werden muss.

verwandte Informationen