服务器安全管理中,防火墙是最基础的IP过滤工具。通过配置防火墙规则,可精准控制特定IP的访问权限。以Linux系统的iptables为例,执行iptables -A INPUT -s 192.168.1.100 -j DROP即可永久封禁该IP,而使用-I参数可插入临时规则。Windows系统可通过高级安全防火墙的入站规则,设置”阻止连接”并指定IP范围。云服务器(如AWS/Aliyun)需在安全组中添加拒绝策略,实际生效时间依赖云平台同步机制。

通过TCP Wrapper实现应用层控制
对于使用inetd/xinetd服务的应用,TCP Wrapper提供了更细粒度的控制。编辑/etc/hosts.deny文件,添加sshd : 203.0.113.5可阻止该IP访问SSH服务,同时在/etc/hosts.allow中设置sshd : 192.168.0.0/24允许内网段访问。此方法支持通配符和域名匹配,但需注意服务必须支持libwrap库,可通过ldd /usr/sbin/sshd | grep libwrap验证兼容性。
Web服务器层面的IP拦截方案
在Nginx配置中,通过deny 10.1.1.0/24;指令可封禁整个子网,结合allow指令设置白名单。Apache需在httpd.conf或.htaccess中使用Require not ip 192.168.2.50指令。对于动态防御,可使用fail2ban自动分析日志并触发防火墙规则更新,例如配置jail.local监控SSH失败尝试:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
系统路由表的黑名单配置
通过修改路由表可将恶意IP导向无效地址。在Linux中执行:
- route add 192.0.2.17 gw 127.0.0.1 lo(定向至本机回环)
- ip route add blackhole 203.0.113.0/24(丢弃整个网段数据包)
此方法需注意路由优先级,建议通过crontab设置持久化。下表对比不同方法的生效层级:
| 方法 | 作用层级 | 生效速度 | 影响范围 |
|---|---|---|---|
| 防火墙 | 网络层 | 即时 | 全服务 |
| TCP Wrapper | 应用层 | 服务重启后 | 特定服务 |
| Web服务器 | 应用层 | 配置重载后 | Web服务 |
| 路由表 | 网络层 | 即时 | 全系统 |
脚本化自动封禁实践
对于需要动态封禁的场景,可通过Shell脚本实现自动化处理。以下示例脚本每5分钟扫描SSH失败日志并更新防火墙规则:
- 使用grep “Failed password” /var/log/secure提取异常IP
- 通过iptables -C检查规则是否存在
- 结合atq命令设置自动解封定时任务
- 集成邮件警报功能实时通知管理员
防护效果验证与监控策略
实施IP封禁后需持续监控效果:
- 使用tcpdump -n host 恶意IP检测是否仍有数据包传输
- 通过iptables -L -n -v查看规则命中计数器
- 部署ELK日志分析平台,可视化封禁IP的访问趋势
- 定期审计防火墙规则,清理过期条目避免性能下降
内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。
本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/79009.html