在阿里云的江湖里,白名单其实就是给你的一张“神秘访客清单”,只让指定的 IP 或网段走得通,其他的都被挡在门外。这玩意儿看着简单,但做对了能大大提升安全性、降低暴力破解的几率。常见的扣分点有安全组、VPC 的网络 ACL、服务器本机的防火墙,以及应用层的 WAF、CDN 等等。下面把路径、步骤、注意点梳理清楚,照着逐条设置就能把阿里云的白名单写到位,别说黑客,连你家的喵都过不去门口。
第一步先确认你实例的网络环境。你使用的是经典网络还是 VPC?实例绑定的安全组在哪儿?哪些资源(EC2/数据库/缓存)需要被白名单覆盖?进入阿里云控制台,云服务器 ECS 的实例列表里,选中目标实例,查看“网络与安全”区域的安全组信息。若你看到的是多个安全组,务必逐个检查它们的入站规则,因为不同的网卡可能绑定不同的安全组,哪怕同一台机器也可能有不同的对外端口策略。
第二步进入具体的安全组配置,通常路径是:云服务器 ECS > 安全组 > 选择要修改的安全组 > 入站规则(Inbound)或出站规则(Outbound)> 添加规则。入站规则就是你要写的白名单规则,出站规则通常只在需要限制服务器对外访问时才关注。你需要先确认要放行的端口:SSH 22(Linux)、RDP 3389(Windows)、Web 服务常用的 80/443 等,当然实际业务端口也要加上。源 IP/CIDR 一定要写精确的网段,例如 203.0.113.0/24、198.51.100.45/32,切勿直接用 0.0.0.0/0,这样就没有意义了。端口范围填写具体端口,单端口用 22、3389,若是范围则写成 80-443 之类。设置完成后别忘了保存,并且在需要时对规则生效顺序有了解,因为有些环境是多条规则叠加生效,且有优先级之分。
第三步把具体资源与安全组绑定关系梳理清楚。比如你有一台数据库服务器,只允许来自某些应用服务器的 IP 访问 3306 端口,那么你需要保证那些应用服务器所在的实例所绑定的安全组对 3306 的入站规则中源地址包含应用服务器的 IP 段。同样的思路也适用于 Redis、Memcached、内部 API 端口等。若是多服务共用一个安全组,确保每条端口的源地址范围正确,不要混淆了。若你的小伙伴使用了负载均衡,将入口流量放在负载均衡器上,也要在负载均衡的前端策略里限定允许访问的源 IP,避免直接暴露后端端口。
第四步在 VPC 场景里别忘了网络 ACL 的配合。VPC 的网络访问控制列表(ACL)对子网层面进行过滤,通常在子网级别有一组入站和出站规则。即便你在实例安全组里已放行了明确的 IP 和端口,若 ACL 拒绝了相同的流量,访问仍然会被阻挡。因此,打开控制台,进入 VPC > 网络 ACL,选中对应的 ACL,编辑入站/出站规则,确保允许你的白名单 IP 段通过相应端口、协议的 traffic。ACL 的优先级通常高于实例的安全组规则,所以要把它设置成你希望的严格标准。
第五步别忽略操作系统层面的防火墙。很多人忘了服务器本身也有一道门。Linux 系统常见的防火墙工具有 iptables、firewalld、ufw 等,Windows 服务器则是内置的防火墙策略。即便安全组放行了某个 IP,若本机防火墙默认拒绝,连接还是会失败。以 Linux 为例,常见做法是先允许信任的源 IP 的端口,例如:iptables -A INPUT -p tcp -s 203.0.113.0/24 --dport 22 -j ACCEPT;接着允许已建立连接的相关流量,然后最后再 DROP 未授权的流量。对于 Windows,打开“高级设置”创建新的入站规则,指定端口、协议和来源 IP,确保规则优先级高于其他阻塞规则。
第六步应用层的白名单也不可忽视。若你的系统后端还搭了 WAF、API 网关、CDN 等组件,需要在这些组件上再设置一次白名单,确保外部请求在到达应用之前就被筛选。WAF 的 IP 白名单通常直接在策略配置里添加允许的源 IP,能有效抵御来自未授权源的攻击。CDN 也有相应的访问控制选项,配置时要确保域名、服务区域和端口的一致性,以免前端缓存错误导致的连不上问题。
第七步如果你使用了负载均衡,白名单的策略要与后端资源的安全策略协调。阿里云的 Server Load Balancer(SLB)通常需要在前端监听或后端服务之间协同控制。请在 SLB 的监听规则、后端服务器的安全组,以及后端实例的 OS 防火墙之间建立一致的端口开放策略。理想情况是把大门放在“入口点”——比如 SLB 或 WAF 上,后端只暴露必要的服务端口,并且都在白名单覆盖之下。
第八步关于自动化运维,若你的环境规模较大,手工逐台设置会很痛。可以使用阿里云 CLI 或 Terraform 进行批量化管理。示例命令如:aliyun ecs AuthorizeSecurityGroup --SecurityGroupId sg-123456 --IpProtocol tcp --PortRange 22/22 --SourceCidrIp 203.0.113.0/24;以及对应的撤销命令。通过脚本实现规则的追加、修改和审计,能让白名单随时可控、可回滚。记得把安全组规则变更日志留存,方便日后排错。
第九步测试和排错,测试阶段要从允许的 IP 端进行连接测试,验证 SSH/RDP、Web 服务等端口是否如预期开放;再用一个非白名单的 IP 尝试连接,确认被拒绝。常见问题包括:当前外网 IP 发生变化但规则没有更新、VPN/VPN 变换导致源地址变化、IPv6 与 IPv4 的混用导致规则不匹配、以及其他中间件(如代理、CDN、WAF)的额外限制。若遇到连接失败,先从最近的改动点排查:规则是否正确、CIDR 是否覆盖到位、端口是否写对、服务是否重启生效等。
第十步温柔提醒:别把白名单写成 0.0.0.0/0 或者把所有端口都放开,这样做只会让安全性大打折扣。IPv6 的存在也别忽视,若你的用户来自 IPv6 环境,记得在规则里同时覆盖 IPv6 段;动态 IP 的工作站用户可以考虑使用 VPN 入口、固定出口的网段,避免频繁改动规则。定期审查、定期清理,确保旧的、闲置的 IP 不再占用白名单位,系统也能轻松地保持清醒的安全边界。顺带给大家一个小彩蛋,玩游戏想要赚零花钱就上七评赏金榜,网站地址:bbs.77.ink
到底能不能连上,看看你现在的 IP 是否在白名单里就知道了