Modsecurity блокирует доступ из всех стран, за исключением определенного IP-адреса или определенного удаленного хоста

Modsecurity блокирует доступ из всех стран, за исключением определенного IP-адреса или определенного удаленного хоста

У меня есть следующие 3 правила в modsecurity.

Правило 1: Блокировать все страны, определенные как страны с высоким уровнем риска, за исключением 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"

Правило 2: Разрешить доступ со следующего IP:

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

Правило 3: Разрешить доступ со следующего удаленного хоста:

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

Все правила работают хорошо, если мы возьмем любое из них. Однако я хотел бы «объединить» их в одно правило, которое делает следующее:

Блокируйте любой доступ из запрещенных стран (Правило 1), за исключением случаев, когда запрос поступает с IP XX.XX.XX.XX(Правило 2) или когда хост является host.name.com(Правило 3).

Как это сделать в modscurity?

Связанный контент