跳至内容

出海新加坡第一年,我用血泪教训整理出这份 EC2 安全与合规实战手册

出海新加坡第一年,我用血泪教训整理出这份 EC2 安全与合规实战手册 ! 2019 年 Capital One 那次事件,我至今记得攻击链的第一步是什么——一个运行在 EC2 上的 Web 应用存在 SSRF 漏洞,配合默认启用的 IMDSv1,攻击者在几秒内就拿到了实例的 IAM 凭据。那一年我在拉合尔的团队刚刚开始服务东南亚...

2026-05-21 5 MIN 修订: 1.0.0
出海新加坡第一年,我用血泪教训整理出这份 EC2 安全与合规实战手册

出海新加坡第一年,我用血泪教训整理出这份 EC2 安全与合规实战手册

!

Close-up of a hand holding an external hard drive over a laptop keyboard.
Photo by Jakub Zerdzicki on Pexels

2019 年 Capital One 那次事件,我至今记得攻击链的第一步是什么——一个运行在 EC2 上的 Web 应用存在 SSRF 漏洞,配合默认启用的 IMDSv1,攻击者在几秒内就拿到了实例的 IAM 凭据。那一年我在拉合尔的团队刚刚开始服务东南亚客户,EC2 是我们主要的算力来源。那次事件让我意识到:在 ap-southeast-1 部署 EC2 实例,如果只把它当成"云端虚拟机"来理解,危险远比你想象的大。

EC2 的安全攻击面不是一个点,而是一条链。从实例层到网络层,从 IAM 凭据到底层镜像,每一层都有独立的攻击向量。出海新加坡的第一年,我在这条链上摔过不止一次跤,也因此积累了一套实打实的控制清单。

EC2 四层攻击面:不是虚拟机,是一整个攻击链

EC2 实例在 ap-southeast-1 运行,面临的安全威胁来自四个维度:

实例层——操作系统、应用代码、监听端口。这层的风险和物理服务器没有本质区别:未修补的系统漏洞、弱密码、暴露的 SSH 端口。攻击者通过 Web 应用漏洞或者爆破弱口令进入实例。

IAM 与凭据层——附加到实例的 Instance Profile 决定了它能调用哪些 AWS API。Instance Metadata Service(IMDS)是这层最容易被忽视的入口。IMDSv1 只要一个 HTTP 请求就能读取元数据,不需要任何认证;IMDSv2 要求先通过 PUT 请求获取 session token 才能访问,显著提升攻击门槛。AWS 现在新建实例默认 IMDSv2,但很多旧实例依然是 IMDSv1,需要手动迁移和审计。

网络层——Security Group 是实例级别的有状态防火墙,NACL 是子网级别的无状态防火墙,VPC Flow Log 记录每一个网络会话。网络层最常见的错误是安全组规则过于宽松——开放了 0.0.0.0/0 的 SSH 访问,或者允许任意出站流量。

AMI 与镜像层——你启动实例用的那个 AMI,是否包含已知漏洞?是否经过安全加固?很多团队用的是社区 AMI 或者云厂商默认镜像,没有对基础镜像做定期重建和补丁管理。漏洞就这样被"固化"在镜像里,年复一年。

Detailed close-up of ethernet cables and network connections on a router, showcasing modern technology.
Photo by Pixabay on Pexels

对出海新加坡的团队来说,还有一个合规维度必须纳入:PDPA(个人数据保护法)与 IMDA 监管要求实例日志至少保留 12 个月,VPC Flow Log 不能存储在生产账户里——应该输出到独立的安全账户,防止生产环境被攻破后日志一并被删除。这不是可选项,是合规底线。

从威胁建模到控制清单:我在新加坡踩过的坑

理解了攻击面,下一步就是建控制清单。这套方法论来自我和团队在 ap-southeast-1b 可用区的一次真实事件——某个凌晨两点,值班工程师发现服务偶发超时,追查了两小时,发现是 AWS 在该可用区做了后台网络维护,但我们的健康检查没有设置合理的重试机制,导致部分实例被误判为不健康并提前终止。

那次事件之后,我们重新梳理了 EC2 的补偿性控制:

实例层——SSM Patch Manager 做自动补丁管理,CloudWatch Agent 收集系统级指标和日志,GuardDuty 开启异常行为检测。我见过很多团队忽视补丁管理,觉得"实例跑着没问题就不动它"——这是最大的隐患。漏洞不会因为你不修就不存在。

IAM 层——强制 IMDSv2 是第一优先级;Instance Profile 遵循最小权限原则,实例能访问的 AWS API 应该是它实际需要的超集,而不是 AdminPolicy;定期审计 unused permissions 也是必要的。

网络层——Security Group 默认拒绝所有入站流量,按需开放白名单;VPC Flow Log 开启并接入 GuardDuty;多可用区部署确保单可用区故障不会导致全局不可用。

AMI 层——使用 AWS Marketplace 的 hardened image,或者自行维护基于 AWS 官方基准的加固镜像;定期重建 AMI,把最新的补丁"烧"进基础镜像,再用新镜像滚动更新实例。

这些控制加起来,能覆盖绝大多数外部攻击者和部分内部威胁场景。如果你的威胁模型包含"物理访问 AWS 数据中心"或"AWS 内部人员滥用权限"这类极端假设,那需要更上层的物理和治理控制——但对大多数出海企业来说,上面的清单已经足够。

AWS Marketplace 采购避坑:账单里的隐藏细节

说完安全,再聊一个我踩过的采购坑。出海新加坡后,团队需要采购一批安全工具和数据库加速组件,我们直接在 AWS Marketplace 订阅了几个产品,心想"走 AWS 账单统一结算,财务流程更简单"。

结果第一个月账单来了,Marketplace Charges 那栏的数字比预期高了 30%。后来才明白几个机制:Marketplace 按订阅模式计费,有小时计费、月费、年度承诺等多种模式;部分 ISV 产品支持自带许可(BYOL),买了许可证之后只需要付基础设施使用费;更重要的是,AWS Enterprise Discount Program(EDP)的承诺消费额度只能覆盖约 25%~50% 的 Marketplace 支出,具体比例写在你的 EDP 合同附录里——很多采购人员根本不知道这一点。

对合规团队来说,Marketplace 采购还有一个容易被忽视的维度:如果订阅的产品涉及客户数据处理(比如日志分析、安全监控类 SaaS),需要把 ISV 的数据处理位置、合规认证、SCC(标准合同条款)签署纳入审计链。尤其是涉及 PDPA 合规的数据产品订阅,ISV 是否在新加坡有数据驻留安排、是否签署过数据处理协议,这些都要在采购前确认清楚。

A group of professionals working together on laptops in a modern office setting.
Photo by Ofspace LLC, Culture on Pexels

大企业通常不走公开价格订阅,而是通过 Private Offer 谈判——ISV 向你特定的 AWS account ID 发送定制报价,按谈定价格计费。如果你在 AWS Organizations 内有多个 member accounts,可以让 master account 集中订阅,通过 License Manager 分发给各成员账户,避免每个账户重复订阅。集中采购还能统一谈判价格和条款。

PDPA 合规不是选择题:新加坡出海的硬门槛

很多中国团队出海新加坡,最容易低估的就是 PDPA 合规要求。PDPA(个人数据保护法)不只是一条法律条文,它对云端基础设施的日志保留、访问控制、数据跨境传输都有具体的技术要求:

日志保留——CloudWatch Logs 至少保留 12 个月,不能设置 90 天自动过期。实例登录记录、API 调用记录、安全组变更记录,这些日志在 PDPA 审计时是必不可少的证据。

访问隔离——涉及客户数据的实例必须有独立的网络隔离方案,VPC 私有子网 + 安全组白名单是最基础的要求。不能把客户数据处理实例和内部工具实例混在同一个 VPC 里。

跨境传输——如果新加坡收集的数据需要传回中国大陆,必须有合法的跨境传输机制,包括标准合同条款(SCCs)或充分性认定。这不是技术问题,是合规前置条件。

代码托管双轨架构:中国团队 + 海外合规如何共存

出海企业通常有两支团队在同时运转:中国大陆的研发团队负责核心代码开发,东南亚或新加坡的运营团队负责本地化适配和客户支持。两边的代码托管怎么做?

我们的实际方案是码云 + GitHub Enterprise 双轨:中国大陆境内代码和内部协作走码云,数据驻留满足等保 2.0 三级要求;海外客户相关的敏感代码走 GitHub Enterprise,数据在美国或新加坡 region。两套系统之间通过镜像同步和人工 code review 控制流向,CI/CD 流水线在两个平台各自独立运行,secrets 管理严格分离。

这听起来复杂,但它是目前最务实的解法。对于同时有中国大陆监管要求和海外合规约束的出海企业来说,单一平台几乎不可能同时满足两边,双轨架构不是过度设计,是现实约束下的最优解

Close-up of romantic love padlocks hanging on a metal wire mesh fence by a river.
Photo by max laurell on Pexels

FAQ

Q:出海新加坡部署 EC2,第一步应该做什么?

A:先做安全审计。确认所有实例是否已强制启用 IMDSv2,Security Group 规则是否遵循最小权限原则,CloudWatch Logs 是否配置了 12 个月以上的保留策略。这三项是 PDPA 合规的基础,也是最容易留有隐患的地方。

Q:Agilewing 能帮我们做什么?

A:Agilewing 是首家获得 APN Security 资质的合作伙伴,专注于出海合规与云端安全托管。涵盖 GDPR、PCI-DSS、PDPA、等保 2.0 等多重合规框架的评估与实施,以及 EC2 层面的 24×7 SOC 监控与事件响应。CTO 和 CIO 最关心的事情——安全合规不遗漏、事件响应有人兜底——是他们最直接的价值。

Q:AWS Marketplace 采购如何控制成本?

A:优先评估 BYOL 模式(已有商业许可证的企业);大企业走 Private Offer 谈判定制价格;利用 EDP 承诺消费额度覆盖部分 Marketplace 支出;通过 AWS Organizations master account 集中订阅再分发,避免重复采购。

出海新加坡,技术选型只是起点,合规和安全才是决定你能走多远的关键。在 ap-southeast-1 跑实例不难,跑得安全、跑得合规,才是真正的竞争力。

Agilewing / 敏捷云 · System Archive · Entry Complete