Modsecurity blockiert den Zugriff aus allen Ländern außer von einer bestimmten IP oder einem bestimmten Remote-Host

Modsecurity blockiert den Zugriff aus allen Ländern außer von einer bestimmten IP oder einem bestimmten Remote-Host

Ich habe die folgenden 3 Regeln in modsecurity.

Regel 1: Alle Länder mit hohem Risiko sperren, außer US:

SecAction \
 "id:900600,\
  phase:1,\
  nolog,\
  pass,\
  t:none,\
  setvar:'tx.high_risk_country_codes = AD AE AF AG AI AL AM AO AQ AR...'"

#Allow only the below countries
SecRule REMOTE_ADDR "@geoLookup" "chain,id:2000001,drop,msg:'Countries allowed'"
SecRule GEO:COUNTRY_CODE "!@pm US"

Regel 2: Zugriff von der folgenden IP zulassen:

SecRule REMOTE_ADDR "^XX\.XX\.XX\.XX$" "phase:1,id:2000002,nolog,allow,msg:'Allow access from IP XX.XX.XX.XX'"

Regel 3: Zugriff vom folgenden Remote-Host zulassen:

SecRule REMOTE_HOST "host\.name\.com$" "phase:1,id:2000003,nolog,allow,msg:'Allow access from host.name.com'"

Alle Regeln funktionieren gut, wenn wir eine davon verwenden. Ich möchte sie jedoch zu einer Regel „zusammenführen“, die Folgendes bewirkt:

Blockieren Sie sämtliche Zugriffe aus den verbotenen Ländern (Regel 1), außer wenn die Anfrage von einer IP kommt XX.XX.XX.XX(Regel 2) oder der Host es ist host.name.com(Regel 3).

Wie kann ich das in Modscurity machen?

verwandte Informationen