说明 AWS EC2 安全组的有状态规则、安全组引用、IPv4/IPv6 与连接跟踪,并按路由、NACL、系统防火墙和应用监听排查端口。
默认规则:在 AWS 中文控制台“EC2 → 网络与安全 → 安全组”编辑。公网网站只把 80/443 开给需要的来源;SSH 22 仅开放给固定管理 IP 或改用 Session Manager;数据库端口只允许应用安全组。安全组本身不单独收费,也不删除数据,但 0.0.0.0/0 开放管理或数据库端口会直接扩大攻击面。
最安全的做法不是把所有端口开放给 0.0.0.0/0,而是按业务角色拆分安全组,并把 SSH、RDP、数据库等管理端口限制到可信来源。
一次连接会经过哪些控制层

安全组规则应该怎样拆分
- Web 层:向公网开放 80/443,管理端口仅限运维来源;
- 应用层:只允许来自负载均衡或 Web 层安全组的业务端口;
- 数据库层:只允许来自应用层安全组,不直接向公网开放;
- 运维入口:优先评估 Systems Manager、VPN 或堡垒机。
规则来源可以使用 CIDR,也可以引用另一个安全组。引用表达的是关联该安全组的网络接口,不会自动授予其他权限,也不代表已经建立网络路由。
为什么返回流量不需要再开端口
AWS 安全组有状态。实例主动发起连接后,响应流量可根据连接状态返回;外部访问被入站规则允许后,响应也不需要额外添加对称规则。但网络 ACL 是无状态的,必须同时考虑两个方向和临时端口。
修改安全组后,已跟踪连接不一定立即断开。若必须立即阻断现有流量,需要评估网络 ACL 或终止连接,但错误的 NACL 规则也可能切断管理入口。
常见端口怎样限制来源
| 用途 | 端口 | 建议来源 |
|---|---|---|
| SSH | TCP 22 | 固定办公 IP、VPN 或跳板 |
| RDP | TCP 3389 | 固定办公 IP、VPN 或跳板 |
| HTTP/HTTPS | TCP 80/443 | 公网或负载均衡安全组 |
| MySQL | TCP 3306 | 应用层安全组 |
| PostgreSQL | TCP 5432 | 应用层安全组 |
IPv4 的 0.0.0.0/0 不包含 IPv6。启用 IPv6 后,要单独检查 ::/0 和 IPv6 路由。
端口不通时按什么顺序排查
- 确认实例状态、区域、公网 IP 或负载均衡地址;
- 确认子网路由具备正确的 Internet Gateway 或其他目标;
- 确认网络 ACL 两个方向允许业务端口和返回流量;
- 确认安全组附加到正确网络接口,协议、端口、IPv4/IPv6 来源正确;
- 检查应用是否监听预期地址和端口;
- 检查系统防火墙和容器端口映射;
- 从真实客户端测试。
Linux 可用以下只读命令检查监听,PORT 必须替换为实际端口:
sudo ss -lntup
sudo ss -lntup | grep ':PORT '
若应用只监听 127.0.0.1,即使安全组开放也不能从外部访问,应调整应用绑定地址而不是继续扩大来源。
常见问题
安全组能写拒绝规则吗?
不能。安全组只包含允许规则;需要显式拒绝或子网级控制时评估网络 ACL 或其他安全产品。
删除安全组规则会立即断开 SSH 吗?
不一定。已建立连接可能持续到超时;宽泛双向规则形成未跟踪流量时,修改又可能立即中断。变更前应保留恢复路径。
开放 80 端口为什么网站仍打不开?
还可能是公网路由、NACL、应用监听、系统防火墙、域名解析或反向代理配置异常。
端口不通的只读顺序
- 在实例详情确认实际关联的安全组,不按名称猜。
- 核对入站协议、端口和客户端当前公网 IP。
- 用
ss -lntup确认服务监听目标网卡。 - 检查子网路由、网络 ACL、主机防火墙和公网地址。
- 用流日志与应用日志判断包到哪一层。
安全组是有状态的,已允许连接的返回流量通常无需另开临时端口;NACL 是无状态的,规则逻辑不同。
验收与回退
从授权和未授权来源分别测试,确认前者可达、后者拒绝;检查 HTTPS、SSH 或应用真实结果。修改前导出旧规则并保留控制台连接,一次只改一项。异常恢复旧规则,不通过全网开放来“证明网络没问题”。
AWS EC2 安全组怎么配置现场验收单
- 入口或命令:EC2 → 网络与安全 → 安全组 → 入站规则/出站规则;实例详情核对关联组
- 提交前风险:安全组不单独收费;改规则不删数据,但过宽会暴露服务,过窄会中断
- 不能继续时:规则改错组、来源公网 IP 变、NACL/路由/防火墙拒绝、服务没监听、返回流量误判
- 完成证据:真实客户端连通,非授权来源被拒,流日志/应用日志和端口监听一致
- 退出办法:导出旧规则;一次改一条,失败恢复旧规则且保留控制台连接
完成这项任务后继续检查
官方资料
- AWS:Security groups for EC2 instances
- AWS:Security group rules for different use cases
- AWS:Security group connection tracking
如需确认 AWS 账户、充值或基础网络配置方向,可通过 Telegram 联系 @heishayun。排障时请提供区域、实例 ID、安全组规则和脱敏后的监听结果。

