如何配置防火墙仅允许特定IP访问:专业级安全策略指南

2025.5.29 杂七杂八 1818

如何配置防火墙仅允许特定IP访问:专业级安全策略指南 杂七杂八-第1张

本文详细讲解如何在Linux/Windows系统中配置防火墙规则,仅允许特定IP地址访问服务器。涵盖iptables、firewalld及Windows防火墙的实操步骤,提供安全策略优化建议,帮助管理员构建精准的网络访问控制体系。

一、为什么需要限制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服务器配置

通过高级安全防火墙配置:

  1. 打开”高级安全Windows Defender防火墙”
  2. 右键”入站规则” → 新建规则
  3. 选择”自定义” → 所有程序
  4. 作用域选项卡中,在”远程IP地址”添加允许的IP
  5. 操作选择”允许连接”
  6. 确保规则优先级高于默认阻止规则

四、安全增强建议

  • 定期审计规则:使用iptables -L -nfirewall-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命令

评论