
Eu tenho as 3 regras abaixo em modsecurity
.
Regra 1: Bloquear todos os países definidos como de alto risco, exceto 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"
Regra 2: Permitir acesso do seguinte IP:
SecRule REMOTE_ADDR "^XX\.XX\.XX\.XX$" "phase:1,id:2000002,nolog,allow,msg:'Allow access from IP XX.XX.XX.XX'"
Regra 3: permitir acesso do seguinte host remoto:
SecRule REMOTE_HOST "host\.name\.com$" "phase:1,id:2000003,nolog,allow,msg:'Allow access from host.name.com'"
Todas as regras funcionam bem se adotarmos qualquer uma delas. No entanto, gostaria de "mesclá-los" em uma regra que faça o seguinte:
Bloquear todos os acessos dos países proibidos (Regra 1), exceto quando a solicitação vier do IP XX.XX.XX.XX
(Regra 2) ou exceto quando o host for host.name.com
(Regra 3).
Como posso fazer isso no modscurity?