为什么需要屏蔽IP段?
服务器在运行过程中,可能会遭遇恶意IP的频繁访问,例如爬虫恶意抓取、DDoS攻击或暴力破解等,屏蔽特定IP段可以有效减少此类风险,提升服务器的安全性和稳定性,以下提供几种常见的屏蔽IP段方法,适用于不同服务器环境。
大多数服务器操作系统内置了防火墙工具(如iptables
或firewalld
),通过配置规则即可屏蔽IP段。
1.使用iptables(Linux系统)
屏蔽192.168.1.0/24整个网段 iptables -A INPUT -s 192.168.1.0/24 -j DROP 保存规则(CentOS/RHEL) service iptables save 重启防火墙 service iptables restart
2.使用firewalld(CentOS 7+/RHEL)
添加屏蔽规则 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" reject' 重载配置 firewall-cmd --reload
若需针对网站应用层屏蔽IP段,可直接在Nginx或Apache配置文件中添加规则。
在nginx.conf
或站点配置文件的server
块内添加:
deny 192.168.1.0/24; allow all;
重启Nginx生效:
nginx -s reload
在.htaccess
或虚拟主机配置文件中添加:
Order Deny,Allow Deny from 192.168.1.0/24
重启Apache生效:
systemctl restart apache2
如果服务器部署在云端(如阿里云、腾讯云、AWS),可直接通过云平台的安全组或网络ACL功能屏蔽IP段:
1、登录云服务器控制台,找到安全组或防火墙选项。
2、添加入站规则,选择协议类型(如ALL或HTTP/HTTPS),填写目标IP段(例如192.168.1.0/24
),设置策略为拒绝。
四、使用第三方工具(如Fail2Ban)
Fail2Ban是一款自动化屏蔽恶意IP的工具,可基于日志分析动态封禁IP段:
1、安装Fail2Ban:
apt-get install fail2ban # Debian/Ubuntu yum install fail2ban # CentOS/RHEL
2、配置规则文件(/etc/fail2ban/jail.local
),设置bantime
、findtime
等参数,并指定IP段过滤条件。
1、避免误封合法IP
屏蔽前建议检查IP段范围,尤其是公共网络或CDN服务的IP(如Cloudflare)。
2、临时屏蔽与永久生效
部分防火墙规则重启后会失效,需确认规则是否持久化。
3、结合日志分析
通过/var/log/nginx/access.log
或/var/log/apache2/access.log
定位可疑IP,精准屏蔽。
个人观点
屏蔽IP段是服务器防护的基础手段,但并非一劳永逸,建议结合速率限制、验证码验证等多层防护策略,并定期审查规则,对于高敏感业务,可考虑启用WAF(Web应用防火墙)或接入专业安全服务。
引用说明
- Nginx官方文档:https://nginx.org/en/docs/
- Apache配置指南:https://httpd.apache.org/docs/
- AWS安全组规则:https://docs.aws.amazon.com/
- Cloudflare IP范围:https://www.cloudflare.com/ips/
文章摘自:https://idc.huochengrm.cn/fwq/5834.html
评论