GEO是由最后一个@geoLookup运算符的结果填充的集合。该集合可用于匹配从IP地址或主机名查找的地理字段。


自ModSecurity 2.5.0版本起可用。


字段:

COUNTRY_CODE:代表国家/地区的两个字母。例如:US,GB等。

COUNTRY_CODE3:代表国家/地区的最多三个字母。

COUNTRY_NAME:完整的国家/地区名称。

COUNTRY_CONTINENT:该国家所在大陆的两个代表字母。 例如:EU

REGION:代表地区的两个字符。对于美国来说,这就是国家。加拿大,天意等

CITY:数据库支持的城市名称。

POSTAL_CODE:邮政编码,如果数据库支持。

LATITUDE:数据库支持的纬度。

LONGITUDE:数据库支持的经度。

DMA_CODE:数据库支持的城域代码。 (仅限美国)

AREA_CODE:电话系统区号。 (仅限美国)


例如:

SecGeoLookupDb /usr/local/geo/data/GeoLiteCity.dat

...

SecRule REMOTE_ADDR "@geoLookup" "chain,id:22,drop,msg:'Non-GB IP address'"

SecRule GEO:COUNTRY_CODE "!@streq GB"


更多详细使用方法及配置,可参见文章:ModSecurity配置GeoIP模块来拦截非指定国家的所有IP


Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor