最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
服务器防火墙白名单如何配
时间:2026-08-18 20:57:49 编辑:袖梨 来源:一聚教程网
服务器防火墙白名单配置核心是只放行可信来源、其余一律拒绝,须按IP+端口+协议三要素精准授权,并确保规则顺序正确、持久化生效且可验证;Windows Server推荐PowerShell命令(如New-NetFirewallRule)配置IP白名单,Linux firewalld必须使用rich-rule而非裸service开放,且需显式放行回环地址、设置明确reject规则并reload前验证顺序。
服务器防火墙白名单配置,核心是**只放行可信来源,其余一律拒绝**。不能简单“开个端口”,而要按 IP + 端口 + 协议三要素精准授权,且规则顺序、持久化和验证缺一不可。Windows Server:用 PowerShell 精准控制 IP 白名单
推荐使用命令行方式,便于审计与复用:
- 放行指定运维 IP 访问 RDP(3389):
PowerShell(管理员运行):
New-NetFirewallRule -DisplayName "Allow-RDP-from-Admin-IP" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress 203.0.113.45 -Action Allow -Profile Domain - 若需允许多个 IP,用逗号分隔:
-RemoteAddress 203.0.113.45,203.0.113.46 - 如需 CIDR 网段(如 10.5.20.0/24),直接写:
-RemoteAddress 10.5.20.0/24 - 务必确认当前登录会话的 IP 已包含在白名单中,否则可能被锁出;建议先启用日志:
Set-NetFirewallSetting -LogAllowed True
Linux(firewalld):必须用 rich-rule,禁用裸 service 开放
直接 --add-service=ssh 是全局开放,等于没设白名单。正确做法是:
- 先清理可能存在的冲突规则:
sudo firewall-cmd --permanent --remove-service=ssh - 显式放行本机回环(避免 localhost 失联):
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="127.0.0.1" service name="ssh" accept' - 放行可信管理 IP(如跳板机):
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.45" port port="22" protocol="tcp" accept' - 加一条明确拒绝规则(让客户端快速失败,便于排查):
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="22" protocol="tcp" reject' - 重载前检查顺序:
sudo firewall-cmd --permanent --list-all | grep -A 10 "rich rules",确保 accept 在 reject 之前 - 最后执行:
sudo firewall-cmd --reload
通用关键点:不配错、不失效、可验证
无论哪种系统,以下三点必须落实:
-
最小权限:只填实际需要的 IP(优先 /32 单 IP),绝不填
0.0.0.0/0或宽泛网段 -
持久化生效:Windows 规则默认永久;Linux firewalld 必须带
--permanent,iptables 要保存(iptables-save > /etc/sysconfig/iptables) -
立即验证:从白名单 IP 执行
telnet server_ip 22或nc -zv server_ip 80;再从非白名单 IP 尝试,应明确返回Connection refused(不是超时)