ECS 安全组配置实战

举报
赛博大妈 发表于 2026/10/28 20:24:12 2026/10/28
【摘要】 买好 ECS、装好系统、配好域名之后,第一道真正的安全防线往往不是应用本身,而是安全组。很多服务器被扫、被爆破,并不是系统本身有漏洞,而是安全组一开始就把大门敞开了。本文结合华为云官网 ECS 文档的做法,从概念讲到三组实战,再讲排错与收尾清单,帮你把安全组配成“只开必要的门”。 一、安全组是什么安全组可以理解为一台 ECS 外面的虚拟防火墙。它按实例分组,控制进出实例的网络流量:入站规则决...

买好 ECS、装好系统、配好域名之后,第一道真正的安全防线往往不是应用本身,而是安全组。很多服务器被扫、被爆破,并不是系统本身有漏洞,而是安全组一开始就把大门敞开了。本文结合华为云官网 ECS 文档的做法,从概念讲到三组实战,再讲排错与收尾清单,帮你把安全组配成“只开必要的门”。

一、安全组是什么

安全组可以理解为一台 ECS 外面的虚拟防火墙。它按实例分组,控制进出实例的网络流量:入站规则决定哪些外部流量可以进来,出站规则决定实例可以主动访问哪些外部地址。

先记住三条基本规则:

  • 默认拒绝外部请求:新建的安全组默认不放行任何入站流量,外部访问不到实例,这是最安全的起点。
  • 组内实例默认可互通:同一安全组内的实例之间默认可以互相访问,不需要再为组内通信单独放行。
  • 规则是允许,不是拒绝:安全组只做“放行”配置,不放行的流量默认丢弃;想收紧权限,删掉多余的放行规则即可。

所以正确思路不是“先全放行、出了问题再堵”,而是“默认全关,按需只开必要的端口和来源”。

二、默认模板对照:Sys-WebServer 与 Sys-FullAccess

创建 ECS 时,华为云提供了默认的安全组模板,最常见的两个对照如下:

模板 入站放行内容 适用场景
Sys-WebServer 22、3389、80、443 端口,以及 ICMP 对外提供 Web 服务,同时保留远程管理入口
Sys-FullAccess 入站全部放行 仅限临时测试、排查问题时使用

Sys-WebServer 是一套相对克制的起点:80 和 443 对外提供网站访问,22 用于 Linux 的 SSH 管理,3389 用于 Windows 的 RDP 管理,ICMP 用于 ping 连通性测试。

Sys-FullAccess 则相当于把防火墙整个拆掉,任何端口、任何来源都能直接访问实例。千万不要直接用 Sys-FullAccess 上生产:数据库端口、中间件管理端口、应用后台端口都会暴露在公网,扫描器几分钟就能发现。测试用完一定要立刻换回最小放行的安全组。

三、实战一:Web 服务器最小放行

一台只对外提供网站的 Web 服务器,安全组应该这样配:

  • 入站:只放行 80(HTTP)和 443(HTTPS),来源 0.0.0.0/0;再放行管理端口 22,但来源必须限制为自己的出口 IP,不要写 0.0.0.0/0。
  • 出站:默认全放行即可。服务器需要主动访问外部,比如拉取系统更新、下载软件包、调用第三方接口,出站收得太紧反而会让正常业务出问题。

这样配完,公网只能访问网站本身和管理端口,而且管理端口还只认你的 IP。

四、实战二:SSH 与 RDP 只放自己的出口 IP

22 端口是 Linux 的 SSH 管理入口,3389 端口是 Windows 的 RDP 远程桌面入口,这两个端口是全网扫描最密集的目标。把它们对 0.0.0.0/0 放行,等于告诉全世界“这里有一台可以登录的服务器,请来试密码”。

正确的做法是:入站规则只放行 22 或 3389,源地址写自己出口 IP 的 /32 地址,例如 203.0.113.10/32。出口 IP 不固定时,先查自己当前的公网出口 IP 再填;IP 变了就及时更新规则,不要为了省事改回 0.0.0.0/0。

0.0.0.0/0 放行 22 或 3389 的风险非常直接:自动化扫描器会全天候尝试弱口令与常见账号,一旦撞库成功,轻则服务器被当作挖矿或发垃圾邮件的跳板,重则数据被加密勒索。很多安全事件的起点,就是一条图省事的 0.0.0.0/0 规则。

五、实战三:组内互通——Web 层与数据库层分开分组

真实业务很少只有一台服务器。常见的做法是把不同层次的实例分到不同的安全组,只放行必要的端口:

  • Web 安全组:放 Web 服务器,入站只开 80、443,以及限源的管理端口。
  • 数据库安全组:放数据库实例,入站不对外网开放,只允许 Web 安全组访问数据库端口。

关键操作是:给数据库安全组加一条入站规则时,源地址不要填某个固定 IP,而是选择“当前安全组”或 Web 层所在的安全组,协议端口只填数据库端口,例如 MySQL 的 3306。这样一来,只有 Web 层的实例能连数据库,公网和其他无关实例都连不上。

六、排错:规则加了还不通,先别急着再放行

安全组规则加了、端口还是不通,是最常见的困惑。排查要按顺序来,不要一上来就把规则改成全放行:

第一步:查实例本机端口是否在监听。 安全组放行不等于本机端口已开。先确认服务本身已经启动、端口正在监听。Linux 上可以用 ss -tlnp 查看监听端口,确认 80 或 443 是否在列表里;Windows 上可以用 netstat -ano 查看 3389 等端口。如果本机根本没有监听,放行再多规则也不会通。

第二步:查网络 ACL。 安全组是实例级别的防火墙,网络 ACL 是子网级别的防火墙。安全组放行了,但子网的网络 ACL 把流量拦住了,同样不通。两边的方向、端口、来源都要对照检查。

第三步:查规则方向,别把入站和出站配反。 需要外部访问实例,却把规则加到了出方向,或者需要实例访问外部,却只配了入方向,都会不通。入站是“别人访问我”,出站是“我访问别人”,方向配反了,规则再多也没用。

七、收尾清单

  • 最小权限:只放行业务必需的端口和来源,不用的规则及时删除。
  • 定期清理 0.0.0.0/0 的高危端口:重点检查 22、3389、3306、6379 等管理与数据库端口,凡是来源为 0.0.0.0/0 的,能收紧就收紧,能删除就删除。
  • 改规则前先截图备份:记录改之前的规则清单,万一改错导致业务中断,可以按截图快速恢复。

小结

安全组并不复杂,难的是克制:默认拒绝、按需放行、分层隔离、定期清理。把 Web 服务器只开 80、443,把管理端口只放给自己的 IP,把数据库藏在 Web 层之后,大多数针对 ECS 的扫描与爆破就已经被挡在门外了。

下一篇:系统初始化。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。