我正在从 Apache 2.4 迁移回 IIS 10。IIS 确实有一个 IP 限制界面,但没有办法按国家/地区进行 GEO 禁止。是否有与 IIS 的 Apache Maxmind Geo IP 模块类似的模块?此外,在 IP 限制界面中远程(通过代码)向该 IP 列表添加条目的工作流程(如果有)是什么?
干杯
答案1
一种选择是使用ModSecurity,开源、跨平台的 Web 应用程序防火墙 (WAF) 模块因为它支持 IIS。下载IIS MSI 安装程序的 ModSecurity并关注IIS 的安装信息了解先决条件和安装说明。
当您安装了 ModSecurity 并为您的网站进行配置后,IIS、Apache 和 Nginx 中的工作方式类似。
ModSecurity 使用 ModSecurity 规则语言来描述如何处理 HTTP 事务数据。您可以使用它来做很多事情WAF 的“瑞士军刀”,但您可以使用GEO 集合为了
封锁一个国家,比如说朝鲜
SecGeoLookupDb /usr/local/geo/data/GeoLiteCity.dat SecRule REMOTE_ADDR "@geoLookup" "chain,id:20,drop,msg:'Block North Korea IP address'" SecRule GEO:COUNTRY_CODE "@streq KP"
封锁英国境外的一切
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"
对于其余部分,您已经弄清楚了模式并且能够阅读参考手册。