一、为什么需要限制IP访问?
在网络安全实践中,遵循最小权限原则至关重要。通过防火墙限制访问IP可有效:
- 阻止恶意扫描和暴力破解
- 降低0day漏洞被利用风险
- 符合PCI DSS等合规要求
- 减少服务器资源消耗
二、Linux系统配置方案
1. 使用iptables配置
传统iptables仍是多数Linux发行版的标配:
清空现有规则(谨慎操作)
iptables -F
设置默认策略为拒绝所有
iptables -P INPUT DROP
允许本地回环
iptables -A INPUT -i lo -j ACCEPT
允许特定IP(替换为实际IP)
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -s 203.0.113.45 -j ACCEPT
允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
保存规则(根据系统选择)
service iptables save CentOS 6
iptables-save > /etc/iptables.rules Debian/Ubuntu
2. 使用firewalld配置(CentOS/RHEL 7+)
启用firewalld
systemctl enable --now firewalld
删除默认允许的ssh服务(避免冲突)
firewall-cmd --remove-service=ssh --permanent
添加可信IP(支持CIDR表示法)
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100/32" accept'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.0/24" accept'
重载配置
firewall-cmd --reload
三、Windows服务器配置
通过高级安全防火墙配置:
- 打开”高级安全Windows Defender防火墙”
- 右键”入站规则” → 新建规则
- 选择”自定义” → 所有程序
- 作用域选项卡中,在”远程IP地址”添加允许的IP
- 操作选择”允许连接”
- 确保规则优先级高于默认阻止规则
四、安全增强建议
- 定期审计规则:使用
iptables -L -n
或firewall-cmd --list-all
检查当前规则 - 启用日志记录:添加
-j LOG
规则记录被拒绝的访问尝试 - 结合Fail2Ban:动态封禁多次尝试的IP地址
- 多因素验证:即使IP可信也应启用SSH密钥认证
五、常见问题排查
Q:添加规则后无法连接?
A:检查规则顺序,确保没有冲突规则;验证网络设备(如云安全组)是否放行
Q:如何临时开放访问?
A:添加临时规则:iptables -I INPUT -s 临时IP -j ACCEPT
,测试后及时移除
Q:IPv6如何配置?
A:在firewalld中使用family="ipv6"
,或使用ip6tables
命令
评论