Wie verwende ich Modsec-Regeln für bestimmte Seiten?

Wie verwende ich Modsec-Regeln für bestimmte Seiten?

ich möchte mit Apache Mod_security den Proxy (x-forwarded) einer bestimmten Seite (wp-comments-post.php) mit IP blockieren.

meine aktuelle mod_security-Regel:

SecRule REQUEST_HEADERS_NAMES "^x-forwarded-for" "log,deny,id:48,status:403,t:lowercase,msg:'Don't use Proxy'"

Antwort1

Sie sollten in der Lage sein, etwas wie

<LocationMatch "wp-comments-post.php" >
    SecRule &REQUEST_HEADERS:X-Forwarded-For "@gt 0" "log,deny,id:48,status:403,msg:'Don't use Proxy'"
</LocationMatch>

Ich habe keine Maschine zur Hand, auf der ich das testen könnte, aber es sollte den Zugriff auf den entsprechenden Standort verweigern, wenn >0 X-Forward-For-Anforderungsheader vorhanden sind. Viele Unternehmen verwenden Proxys, daher müssen Sie dies möglicherweise auf „@gt 1“ setzen, um Fehlalarme zu reduzieren. Der ApacheStandortUndStandortübereinstimmungDokumentation.

Antwort2

Ich glaube, Sie können dies tun, wenn Sie die Modsec-Regeln beispielsweise in eine Standortdirektive einschließen.

<Location /koko/lala/wp-comments-post.php >
SecRule .... 
</Location>

verwandte Informationen