首页/云/云网络与负载均衡速查/安全组拦截的排查步骤

安全组拦截的排查步骤

怀疑被安全组拦截时按顺序核对:流量方向 → 实例关联的全部安全组 → 规则优先级与授权对象 → 对端出入方向 → 用流日志或抓包确认丢包位置。按顺序推进,能避免在十几条规则里反复打转。

排查思路

怀疑被安全组拦截时按固定顺序核对:流量方向 → 实例关联的全部安全组 → 规则优先级与授权对象 → 对端出入方向 → 用流日志或抓包确认丢包位置。安全组是白名单模型,未匹配放行规则的流量被静默丢弃,因此现象通常是超时而不是拒绝,按顺序推进比在十几条规则里反复打转快得多。

基本信息

典型现象连接超时、无响应;ICMP 不通;部分端口通、部分端口不通
易混淆点超时≈被安全组或 ACL 丢弃;connection refused≈报文已到达,主机侧拒绝
核对范围实例可能关联多张安全组,实际生效结果是各张规则的并集
对端方向本端入方向与对端出方向都要放行;回包由有状态机制自动放行
定位工具VPC 流日志(可筛 action=REJECT)、tcpdump 抓包、连接测试工具

标准排查步骤

  • 确认方向:入方向管进入、出方向管发出,回包由状态机制处理
  • 列全实例关联的所有安全组,不要只看默认那一张
  • 检查优先级与授权对象是否覆盖实际来源网段或来源安全组
  • 对端也有安全组时,核对对端出方向与本端入方向是否同时放行
  • 用 VPC 流日志(action=REJECT)或 tcpdump 确认在哪一跳被丢弃

典型验证命令

典型验证命令
# 在目标机抓包,确认 SYN 是否到达
sudo tcpdump -ni any 'tcp port 3306' -c 20
# 从来源机发起连接测试,观察是超时还是被拒绝
nc -zv -w 3 10.10.3.20 3306 || echo 'connect failed'
# 确认本机服务确实在监听(排除应用层原因)
ss -lntp | grep 3306
# 流日志中检索被拒绝的流量(日志服务查询片段)
# * | select srcaddr, dstport, action where action='REJECT' limit 20

抓包结果对照

抓包现象结论与下一步
完全看不到 SYN流量在到达主机前被丢弃,回到安全组与网络 ACL 检查
看到 SYN 无 SYN-ACK报文已到达,查主机侧服务监听与系统防火墙
有 SYN-ACK 但应用无响应网络已通,属于应用层问题
只有单向流量检查对端出方向或路由回程路径
同一时刻只改一处配置:同时调整安全组与路由后如果现象变化,无法判断是哪一项生效,事后追溯会浪费大量时间。
排查期间临时放行 0.0.0.0/0 是最容易留下隐患的操作,务必记录并在完成后立即收回。

变更与留档习惯

  • 变更前导出或截图当前规则,出问题时能快速比对差异
  • 一次只改一处:安全组与路由不要同时调整
  • 临时放行标注原因与到期时间,事后统一回收
  • 把安全组变更与发布时间记在同一时间线上,便于事后归因
  • 影响面大的变更先在测试环境复现验证再上生产

两端同时抓包对比

两端同时抓包对比
# 目标机抓包:确认 SYN 是否到达本机
sudo tcpdump -ni any 'tcp port 3306 and tcp[tcpflags] & tcp-syn != 0' -c 10
# 来源机抓包:对比两端看到的内容差异
sudo tcpdump -ni any host 10.10.3.20 -c 10
# 结合流日志筛选被拒绝的连接,确认丢包发生在哪一跳
两端同时抓包是最有效的对比手段:只有来源侧看到 SYN 说明报文丢在途中,回到安全组与 ACL;两端都看到则问题在主机侧或应用层。

快速定位矩阵

连接测试结果目标机抓包结论
连通正常——链路无问题,问题不在访问控制层
超时看不到 SYN报文被安全组或网络 ACL 丢弃
超时能看到 SYN主机侧服务未监听或系统防火墙拦截
被拒绝能看到 SYN报文已到达,检查监听地址与端口

易错点

  • 只核对入方向,忽略对端出方向同样可能拦截,导致排查方向完全偏掉
  • 同时改安全组与路由,事后无法归因;变更前留档、一次只动一处能省下大量时间
  • 只看了「默认安全组」,漏掉实例绑定的其他安全组,实际上生效的是全部规则的并集
  • 把超时归因于云平台抖动,实际是安全组把探测来源网段排除在授权对象之外
  • 排查结束后忘记回收临时放行的规则,安全组逐渐变成「全部放行」,失去了访问控制的作用

数据来源与参考

  • 阿里云 安全组文档
  • 阿里云 流日志文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌