Modsecurity bloquea el acceso desde todos los países excepto desde una IP específica o un host remoto específico

Modsecurity bloquea el acceso desde todos los países excepto desde una IP específica o un host remoto específico

Tengo las siguientes 3 reglas en modsecurity.

Regla 1: Bloquear todos los países definidos como de alto riesgo excepto 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"

Regla 2: Permitir el acceso desde la siguiente IP:

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

Regla 3: Permitir el acceso desde el siguiente host remoto:

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

Todas las reglas funcionan bien si tomamos cualquiera de ellas. Sin embargo, me gustaría "fusionarlos" en una regla que haga lo siguiente:

Bloquear todo acceso desde los países prohibidos (Regla 1), excepto cuando la solicitud provenga de IP XX.XX.XX.XX(Regla 2) o excepto cuando el host sea host.name.com(Regla 3).

¿Cómo puedo hacer eso en modscurity?

información relacionada