身份认证和权限管理混乱
很多企业在上云初期,习惯性地把本地的用户体系直接搬上去,结果导致权限分配不清。比如开发人员误删生产数据库,往往就是因为拥有过高权限。更常见的是临时开通的访问密钥长期未回收,相当于给外人留了把备用钥匙。
正确的做法是遵循最小权限原则,结合角色分离机制。比如通过 IAM 策略限制某运维账号只能查看日志,不能修改配置。同时启用多因素认证(MFA),特别是对管理员账户。
网络边界模糊带来的安全隐患
传统机房有明确的防火墙边界,而云环境里服务之间频繁调用,VPC 之间打通、安全组规则开放过多,容易形成“内部全通”的局面。一旦某个边缘服务被攻破,攻击者就能横向移动到核心系统。
建议采用微隔离策略,按业务单元划分安全域。例如订单服务和支付服务之间只允许特定端口通信,其他一律拒绝。安全组规则要定期审计,清理过期的放行条目。
数据存储配置不当引发泄露
S3、OSS 这类对象存储用起来方便,但默认设置往往是私有的,一不小心就会设成“公共读”。曾经有公司把客户信息存进公开可读的存储桶,搜索引擎几天内就收录了链接,造成严重数据外泄。
部署时应强制开启存储加密,并使用策略模板防止公开访问。可以设置如下策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bucket/*",
"Condition": {
"Bool": {
"s3:x-amz-public-read": "true"
}
}
}
]
}缺乏监控和日志统一管理
云上资源动态变化快,实例随时创建销毁。如果没做好集中日志收集,出事之后根本查不到谁在什么时候做了什么操作。比如某台虚拟机突然对外发起大量扫描请求,没有审计日志的话很难定位源头。
应该尽早部署云原生日志服务,把 API 调用、登录行为、配置变更全部记录下来。设置异常行为告警,比如非工作时间的管理员登录,或从非常用地 IP 发起的控制台访问。供应链风险被忽视
越来越多企业使用第三方镜像或托管服务加速部署,但这些组件可能自带后门或已知漏洞。曾有团队直接从公共市场拉取一个“优化版”Nginx 镜像,结果里面预装了挖矿程序。
所有外部引入的组件必须经过安全扫描,建立可信镜像库。CI/CD 流程中加入静态代码分析和依赖检查,自动拦截高风险版本上线。