EC2 Windows 无法挂载 SMB:EDR 拦截与 Workgroup 认证
EC2 Windows 无法挂载 SMB:EDR 拦截与 Workgroup 认证
两台同 VPC 的 EC2 Windows 实例通过 SMB 访问共享失败,安全组和 NACL 都放行,Windows 防火墙也关闭,但 net use 报 1792,抓包看到 STATUS_NETLOGON_NOT_STARTED。最终根因不是 VPC 网络,而是安全软件拦截了 SMB 认证流程。
现象
客户端访问:
\\<server-private-ip>\share无法打开,也不弹出认证窗口。命令行执行:
net use Z: \\<server-private-ip>\share报错:
发生系统错误 1792
试图登录,但是网络登录服务没有启动之后甚至出现 445 端口连接超时、ping 不通等现象。
排查过程
1. 先排除 AWS 网络
确认:
- 两台实例在同 VPC 或路由可达。
- 安全组放行 TCP 445。
- NACL 未拦截。
- 路由表有 local 或正确路由。
- Windows Defender 防火墙策略不拦截。
2. 双端抓包
抓包可以看到 SMB 协议已经开始协商:
SMB2 Negotiate Protocol Request
SMB2 Negotiate Protocol Response
SMB2 Session Setup Request
SMB2 Session Setup Response: STATUS_NETLOGON_NOT_STARTED这说明流量已经到达服务端,不是 AWS 底层网络丢包。
3. 理解 Netlogon
Workgroup 环境下,Netlogon 服务默认不运行是正常的。本地账户 SMB 认证通常通过本地 SAM + NTLM 完成,不应该因为 Netlogon stopped 就必然失败。
如果返回 STATUS_NETLOGON_NOT_STARTED 后又出现所有流量被阻断,应该怀疑安全软件或 EDR 对 SMB 认证流量做了拦截。
解决方法
1. 临时停用 EDR 验证
在变更窗口内临时停用安全软件,验证 SMB 是否恢复。如果停用后 445 和 ping 都恢复,基本可以确认根因。
2. 使用本地账户显式认证
在 Workgroup 环境中,不要依赖隐式凭据。使用服务器本地账户:
net use Z: \\<server-private-ip>\share /user:<server-computer-name>\Administrator注意 <server-computer-name> 必须是服务端计算机名,不是客户端。
3. 调整 EDR 策略
联系安全软件厂商或安全团队,把正常 SMB/NTLM 认证流量加入白名单,避免误拦截。
4. 长期建议加入域
如果多台 Windows 实例频繁共享文件,建议加入 Active Directory,使用域账户和组权限统一管理,减少 Workgroup + 本地账户认证的复杂度。
总结
EC2 Windows SMB 不通时,不能只看安全组。抓包如果已经看到 SMB 协议协商和认证阶段错误,就说明问题进入 OS 或安全软件层。
STATUS_NETLOGON_NOT_STARTED 在 Workgroup 场景下不一定代表 Netlogon 本身是根因。结合后续流量被阻断,EDR 或安全软件拦截是重点排查方向。
