首页 新闻资讯 物理服务器 IIS服务器IP访问限制精准封禁和批量管理指南
IIS服务器IP访问限制精准封禁和批量管理指南
时间 : 2025-05-23 10:07:37 编辑 : 华纳云 分类 :物理服务器 阅读量 : 4

网站一旦出现频繁被恶意爬虫扫描、强制破解或DDoS攻击时,IP访问控制成为守护安全的第一道防线。下面基于Windows Server 2022IIS 10环境,系统解析从单个IP封禁到批量IP段拦截的六大实战方法,涵盖图形界面操作、配置文件修改、防火墙规则及自动化脚本,助力您构建灵活高效的访问控制体系。 

一、IIS管理器图形化封禁(适合新手) 

打开IIS管理器右键点击目标网站 → 选择 「IP地址和域限制」 → 进入功能设置页。添加拒绝规则封禁单个IP是点击右侧 「添加拒绝条目」 → 输入IP地址(如192.168.1.100)→ 确认。封禁IP段使用CIDR格式(如192.168.1.0/24封禁整个C类地址)→ 生效范围包括192.168.1.1192.168.1.254 

若需放行特定IP,点击 「添加允许条目」 → 优先级高于拒绝规则。这种操作直观,实时生效,无需重启服务。不足在于不支持复杂条件(如时间段限制),批量操作效率低。 

二、web.config文件手动配置(精准控制) 

配置文件修改定位网站根目录下的 web.config 文件,若不存在则新建。在 <system.webServer> 节点下添加以下内容: 

xml  
<security>  
<ipSecurity allowUnlisted="true">  
<! 封禁单个IP >  
<add ipAddress="192.168.1.100" allowed="false" />  
<! 封禁IP段 >  
<add ipAddress="192.168.2.0" subnetMask="255.255.255.0" allowed="false" />  
<! 允许特定IP >  
<add ipAddress="203.0.113.5" allowed="true" />  
</ipSecurity>  
</security> 

保存文件 → IIS自动应用配置(或手动重启站点)。

关键参数说明 

allowUnlisted:设置为true时,未列出的IP默认允许访问。 

subnetMask:子网掩码,与IP地址配合定义范围(如192.168.2.0/24对应掩码255.255.255.0)。 

三、Windows防火墙高级封禁(底层拦截) 

创建入站规则,打开 高级安全Windows防火墙 → 选择 「入站规则」 → 点击 「新建规则」。规则类型选择「自定义」 → 「所有程序」。 

协议和端口中协议类型是TCP,本地端口:80,443HTTP/HTTPS)。作用域 → 远程IP地址添加要阻止的IP或范围(如192.168.3.1192.168.3.100)。 

操作选择 「阻止连接」 → 完成规则命名并启用。这种是在系统层面拦截,不依赖IIS,防御更彻底,但是错误配置可能导致合法流量被阻,需严格测试。 

/uploads/images/202505/22/a4572f815d12fb1e7ca1355fe1c12fa1.jpg  

四、PowerShell脚本批量管理(高效运维) 

批量导入IP黑名单,创建IP列表文件(block_ips.txt),每行一个IPCIDR 

192.168.4.5 
10.0.0.0/24 
2001:db8::/32 

执行脚本自动添加规则: 

powershell 

加载Web管理模块 

ImportModule WebAdministration 

读取IP列表 

$ips = GetContent Path "C:\block_ips.txt" 

遍历添加规则 

foreach ($ip in $ips) { 
AddWebConfigurationProperty pspath "IIS:\Sites\YourSiteName" filter "system.webServer/security/ipSecurity" name "." value @{ipAddress=$ip; allowed="False"} 
} 

重启站点生效 

RestartWebItem "IIS:\Sites\YourSiteName" 

自动化优势是支持IPv4/IPv6,适应混合网络环境。可结合任务计划定期更新黑名单。 

五、URL重写模块动态拦截(灵活扩展) 

安装 URL重写模块(通过Web平台安装器)。在网站根目录的 web.config 中添加规则: 

xml  
<system.webServer>  
<rewrite>  
<rules>  
<rule name="BlockIPs" stopProcessing="true">  
<match url="." />  
<conditions>  
<! 封禁单个IP >  
<add input="{REMOTE_ADDR}" pattern="^192\.168\.5\.100$" />  
<! 封禁IP段 >  
<add input="{REMOTE_ADDR}" pattern="^192\.168\.6" />  
</conditions>  
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Access Denied" />  
</rule>  
</rules>  
</rewrite>  
</system.webServer> 

正则表达式支持更复杂的匹配逻辑(如按地理位置IP段拦截)。 

六、日志分析与维护策略 

验证封禁效果可以通过实时测试,使用被封禁的IP访问网站,应返回 403 Forbidden。当然也可以通过日志检查,查看IIS日志(默认位于%SystemDrive%\inetpub\logs\LogFiles),确认拦截记录: 

20240520 14:30:00 192.168.1.100 GET /  80  192.168.1.200 Mozilla/5.0 403 6 1234 

字段说明:scstatus=403表示请求被拒绝。 

日志分析工具使用LogParser筛选高频恶意IP 

sql 
SELECT COUNT() AS Hits, cip 
FROM ex.log 
WHERE scstatus=401 OR scstatus=403 
GROUP BY cip 
HAVING Hits > 100 

动态解封机制结合PowerShell脚本自动释放过期封禁(如封禁24小时后解除)。 

风险规避与最佳实践 

白名单优先先设置允许的IP范围,再开启全局封禁,避免误封。分级管理核心后台(如/admin路径)实施严格IP限制,公开页面适度放宽。备份配置,修改前备份applicationHost.config(位于%windir%\system32\inetsrv\config)。 

通过上述方法,可以合理运用IP封禁策略,不仅能提升安全性,还可降低服务器负载,保证业务稳定运行。

华纳云 推荐文章
科学选择web服务器配置来匹配网站性能需求方法 海外主机频繁崩溃的根本原因和预防策略 服务器IP地址中数字和斜杆背后逻辑分析 为您揭示云计算时代VLAN的困境与破局之道 无限流量服务器适合哪些场景 海外服务器常用的端口功能介绍及配置实践 美国不同地区服务器速度差异大不大? 美国西海岸服务器自动化网络设置解析 樱花服务器可支持多少玩家同时在线? 视频存储服务器写入和读取速度怎么评估
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持