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中做到這一點?

相關內容