AWS安全最佳实践 #

一、安全责任共担模型 #

1.1 责任共担模型概述 #

text
AWS责任共担模型:
├── AWS责任(云的安全)
│   ├── 物理基础设施
│   ├── 网络基础设施
│   ├── 虚拟化层
│   └── AWS服务安全
│
└── 客户责任(云中的安全)
    ├── 数据加密
    ├── 访问控制
    ├── 网络配置
    ├── 操作系统配置
    └── 应用安全

1.2 不同服务模型的责任 #

服务类型 AWS责任 客户责任
IaaS(EC2) 基础设施 OS、应用、数据
PaaS(RDS) 基础设施+OS 数据、访问控制
SaaS 全部 数据、访问控制

二、身份安全 #

2.1 根账户保护 #

text
根账户安全措施:
├── 启用MFA
├── 不创建访问密钥
├── 使用强密码
├── 仅用于账户管理
├── 启用账单告警
└── 定期检查活动

2.2 IAM最佳实践 #

text
IAM安全建议:
├── 最小权限原则
│   └── 只授予必要的权限
│
├── 使用角色而非用户
│   └── 应用程序使用角色
│
├── 启用MFA
│   └── 所有用户启用MFA
│
├── 定期轮换凭证
│   └── 访问密钥定期更换
│
├── 使用组管理权限
│   └── 通过组分配权限
│
├── 使用条件限制
│   └── IP、时间、MFA条件
│
└── 启用CloudTrail
    └── 记录所有API调用

2.3 密码策略 #

text
密码策略配置:
├── 最小长度(至少14位)
├── 复杂度要求
│   ├── 大写字母
│   ├── 小写字母
│   ├── 数字
│   └── 特殊字符
│
├── 密码过期
├── 防止密码重用
└── 密码历史记录

三、网络安全 #

3.1 VPC安全 #

text
VPC安全建议:
├── 使用私有子网
│   └── 敏感资源部署在私有子网
│
├── 安全组最小权限
│   └── 只开放必要端口
│
├── 网络ACL
│   └── 作为额外防护层
│
├── 启用VPC Flow Logs
│   └── 记录网络流量
│
├── 使用NAT网关
│   └── 私有子网访问互联网
│
└── 网络隔离
    └── 不同环境使用不同VPC

3.2 安全组配置 #

text
安全组最佳实践:
├── 最小权限原则
│   └── 只开放必要端口
│
├── 使用安全组引用
│   └── 引用其他安全组
│
├── 避免使用0.0.0.0/0
│   └── 限制特定IP范围
│
├── 分层安全组
│   ├── Web层安全组
│   ├── 应用层安全组
│   └── 数据库层安全组
│
└── 定期审计
    └── 检查和清理规则

3.3 网络ACL配置 #

text
NACL最佳实践:
├── 作为安全组的补充
├── 阻止恶意IP
├── 限制特定协议
├── 使用规则编号管理
└── 无状态配置双向规则

四、数据安全 #

4.1 数据加密 #

text
加密最佳实践:
├── 静态加密
│   ├── S3加密
│   ├── EBS加密
│   ├── RDS加密
│   └── KMS密钥管理
│
├── 传输加密
│   ├── TLS/SSL
│   ├── VPN
│   └── HTTPS
│
└── 密钥管理
    ├── 使用KMS
    ├── 密钥轮换
    └── 密钥访问控制

4.2 S3安全 #

text
S3安全建议:
├── 启用阻止公有访问
├── 使用存储桶策略
├── 启用服务器端加密
├── 使用版本控制
├── 启用访问日志
├── 使用预签名URL
└── 定期审计权限

4.3 数据库安全 #

text
数据库安全建议:
├── 部署在私有子网
├── 使用安全组限制访问
├── 启用加密
├── 使用强密码
├── 定期备份
├── 启用审计日志
└── 使用IAM认证

五、监控与审计 #

5.1 CloudTrail #

text
CloudTrail配置:
├── 启用多区域跟踪
├── 启用日志文件验证
├── 加密日志文件
├── 发送到S3存储
├── 集成CloudWatch Logs
└── 设置日志保留策略

5.2 CloudWatch #

text
CloudWatch监控:
├── 关键指标告警
│   ├── CPU使用率
│   ├── 网络流量
│   └── 错误率
│
├── 日志监控
│   ├── 应用日志
│   ├── 系统日志
│   └── 访问日志
│
└── 异常检测
    └── 自动检测异常

5.3 AWS Config #

text
Config功能:
├── 资源配置记录
├── 配置变更跟踪
├── 合规规则检查
├── 配置快照
└── 合规报告

5.4 GuardDuty #

text
GuardDuty功能:
├── 威胁检测
├── 异常行为分析
├── 恶意IP检测
├── 加密货币挖矿检测
└── 自动响应

六、安全服务 #

6.1 AWS Shield #

text
Shield保护:
├── Shield Standard
│   ├── 免费自动启用
│   ├── 网络层保护
│   └── 传输层保护
│
└── Shield Advanced
    ├── 付费服务
    ├── DDoS响应团队
    ├── 成本保护
    └── 高级检测

6.2 AWS WAF #

text
WAF功能:
├── Web请求过滤
├── SQL注入防护
├── XSS防护
├── 地理位置限制
├── 速率限制
└── 自定义规则

6.3 AWS Security Hub #

text
Security Hub功能:
├── 安全状态汇总
├── 安全标准检查
├── 发现整合
├── 优先级排序
└── 自动修复

6.4 Amazon Inspector #

text
Inspector功能:
├── 漏洞扫描
├── 网络可达性分析
├── 安全评估
├── 合规检查
└── 修复建议

七、合规要求 #

7.1 常见合规标准 #

text
合规标准:
├── SOC 1/2/3
├── PCI DSS
├── HIPAA
├── ISO 27001
├── FedRAMP
├── GDPR
└── CIS基准

7.2 AWS合规工具 #

text
合规工具:
├── AWS Artifact
│   └── 合规报告下载
│
├── AWS Config
│   └── 配置合规检查
│
├── AWS Audit Manager
│   └── 自动化审计
│
└── Security Hub
    └── 安全标准检查

八、安全事件响应 #

8.1 事件响应流程 #

text
事件响应步骤:
├── 准备
│   ├── 制定响应计划
│   ├── 配置监控
│   └── 建立团队
│
├── 检测
│   ├── 监控告警
│   ├── 日志分析
│   └── 异常检测
│
├── 分析
│   ├── 确定影响范围
│   ├── 分析原因
│   └── 评估风险
│
├── 遏制
│   ├── 隔离受影响资源
│   ├── 撤销访问权限
│   └── 阻止攻击源
│
├── 根除
│   ├── 修复漏洞
│   ├── 清除恶意软件
│   └── 恢复服务
│
└── 恢复
    ├── 恢复数据
    ├── 恢复服务
    └── 总结经验

8.2 AWS支持 #

text
AWS安全支持:
├── AWS Support
│   └── 技术支持
│
├── AWS Abuse
│   └── 报告滥用
│
└── AWS事件响应
    └── 紧急响应支持

九、安全检查清单 #

9.1 账户安全 #

text
账户安全检查:
├── [ ] 根账户启用MFA
├── [ ] 根账户无访问密钥
├── [ ] 所有IAM用户启用MFA
├── [ ] 定期轮换访问密钥
├── [ ] 删除未使用的用户
├── [ ] 设置密码策略
└── [ ] 启用CloudTrail

9.2 网络安全 #

text
网络安全检查:
├── [ ] 敏感资源在私有子网
├── [ ] 安全组最小权限
├── [ ] 启用VPC Flow Logs
├── [ ] 使用NAT网关
├── [ ] 定期审计安全组
└── [ ] 启用网络ACL

9.3 数据安全 #

text
数据安全检查:
├── [ ] S3启用加密
├── [ ] EBS启用加密
├── [ ] RDS启用加密
├── [ ] 启用备份
├── [ ] 定期测试恢复
└── [ ] 启用访问日志

十、小结 #

本章介绍了AWS安全最佳实践:

内容 要点
责任共担 AWS和客户各自责任
身份安全 IAM、MFA、最小权限
网络安全 VPC、安全组、NACL
数据安全 加密、访问控制
监控审计 CloudTrail、GuardDuty

下一步学习 #

了解安全最佳实践后,接下来可以:

  1. Web应用部署 - 实践安全配置
  2. 无服务器应用 - 学习无服务器安全
  3. 微服务架构 - 学习服务间安全
最后更新:2026-03-28