亚马逊AWS官方博客
使用 OTS 体检工具完善云上安全之旅
随着企业不断发展,云安全在业务运营中的重要性也在持续提高。为了让客户便捷的了解账号及应用的安全状态,系统的进行安全加固,亚马逊云科技解决方案架构师团队开发了安全体检工具 OTS(OneTimeScanTool)。OTS 是一款开源的安全体检工具,同时支持在中国区和海外区一键部署运行。本文将从背景、功能、部署三方面介绍 OTS 安全体检工具。
背景
以经典的三层架构网站为例,当讨论安全防护时,我们可以从网站后端架构的各个层级进行立体、冗余的安全防护:
- Layer 1: 流量接入层,DDoS、SQL 注入、跨站点脚本 XSS 注入等常见攻击,都可以在这一层利用亚马逊云科技 WAF 托管规则及 Shield 进行防护;
- Layer 2: 应用服务层,黑客通过后门与漏洞非法入侵系统,然后内部扩散攻击。面向这种攻击,可以通过 VPC 有效隔离并减少攻击面,同时也可以参考 EC2 最佳实践进行应用服务器安全配置优化,降低风险;
- Layer 3: 数据层,黑客通过各种手段获取业务核心数据,此时可以参考数据层安全防护最佳实践,进行安全配置优化,保护数据安全;
- 在业务的 3 层架构之外,我们还需要对整个服务所在的账号进行安全防护,避免由于密码被破解、社会工程渗透、权限泄漏等问题威胁到业务安全,建议参考 IAM 中的最佳安全实践完善账号权限控制。
要实现多层次立体的防护,需要对业务的安全诉求有深入洞察,同时对云安全服务有全面的了解。亚马逊云科技提供了五大类安全服务,辅助客户提升安全等级:
- 身份&权限管理:AWS IAM、AWS IAM Identity Center、AWS Directory Service、AWS Cognito、AWS Organizations、AWS Resource Access Manager 等;
- 检测控制:AWS Security Hub、Amazon GuardDuty、AWS Config、AWS CloudTrail、Amazon CloudWatch、VPC Flow Logs 等;
- 基础设施保护:AWS System Manager、AWS Shield、AWS WAF、AWS Firewall Manager、Amazon Inspector、Amazon VPC 等;
- 数据保护:AWS KMS、AWS CloudHSM、AWS Certificate Manager、Amazon Macie、Server-Side Encryption、AWS Secrets Manager 等;
- 事件响应:AWS Config Rules、AWS Lambda 等。
为了让客户能更好的评估和优化自身安全状况,亚马逊云科技总结了安全成熟度模型将企业的安全成熟程度分成了四个阶段:
亚马逊云科技安全成熟度模型总结的四个阶段:
- 第一阶段,快速制胜,通过利用免费安全服务,客户可以在一周内完成账号及服务的基本防护,极大的保障账号安全;
- 第二阶段,基线配置,这一阶段的安全服务配置的时间和消费比第一阶段更高,但是是保障业务数据安全的重要手段;
- 第三阶段,持续高效,安全从来不是一蹴而就的,亚马逊云科技提供了多种全托管服务为客户提供高效的安全管理能力;
- 第四阶段,日臻完善,针对有更定制化的业务需求的客户,亚马逊云科技提供了更高级的解决方案,可以满足客户在欺诈检测、数据脱敏等场景的需求。
在缺乏安全专家的中小企业,一般很难系统性的完成系统各个层面的安全防护配置。OTS 就是为了解决这个问题而出现的。利用 OTS,没有安全专家的中小企业和希望对安全状况进行初步检查的大企业都可以以极低的成本进行全面的安全体检。下面我们将对 OTS 的功能及使用进行详细的介绍。
OTS 功能介绍
OTS 针对亚马逊云科技账号,从身份&权限管理、基础设施保护、数据保护及监控审查四个方面进行 70 多项安全扫描,扫描项目汇总列表如下:
身份&权限管理 | 身份权限相关检测 4 大类 19 项: 1. 多因素认证(MFA)检测: 利用 MFA 保护 root 账号、管理员账号; 2. 权限策略检测:避免配置过于宽松的权限策略; 3. 密码明文检测:在 EC2、SSM Document、Lambda function 中检测是否有明文密码; 4. Accesskey 检测:建议使用 IAM Role,Root 账号不建议配置 Accesskey。 |
基础设施保护 | 基础设施安全检测 4 大类 33 项: 1. 利用安全组限制常见端口的公开访问,如 mysql 的 3306 端口、kafka 的 9092 端口; 2. 限制 ES、SQS、SNS 等服务的公开访问; 3. 利用 WAF 保护 Cloudfront、ALB、APIGateway 等需要开放访问的服务; 4. 利用 AWS shield Advanced 保护 Cloudfront、ALB。 |
数据保护 | 数据保护相关检测 3 大类 19 项: 1. 限制数据服务的公开访问:如 Redshift、EFS、S3 bucket 等; 2. 使用加密服务,在存储中保护数据:如 EBS 快照、RDS 实例; 3. 开启数据备份,保护业务核心资产,在异常发生时确保可以恢复数据。 |
监控审查 | 监控审查相关检测 4 大类 7 项: 1. 开启 CloudTrail 监控审查用户操作; 2. 开启 AWS Config 监控审查资源配置变更; 3. 开启 GuardDuty 智能检测,发现安全隐患; 4. 开启 SecurityHub, 自动执行安全检查并集中安全警告。 |
一般应对安全事件时,涉及到事前加固、事中防御、事后恢复和分析几个过程。如上表格所示,OTS 静态扫描提供了事前加固的建议,配置后 WAF、Shield、CloudTrail、GuardDuty 等服务能满足事中防御和事后恢复和分析的需求,建议按照扫描结果完善服务配置。
OTS 部署
OTS 同时支持在中国区和海外区部署。参考相关技术文档,只需几分钟配置即可触发一次 OTS 检查。OTS 体检结束会输出中文体检报告。按照报告引导,即使不了解亚马逊云科技安全服务的技术人员也可以快速识别并修正账号配置里的安全问题。如果对 OTS 产出的报告有进一步解读的需求,或者有安全方面的其他需求,欢迎邮件发送体检报告到 otst-support@amazon.com 咨询。
随着业务不断的发展,服务配置也会不断的变化,建议采用 AWS Security Hub, AWS Config 等服务对云上资源和配置进行持续的扫描和监控。网站安全是防护手段与攻击手段之间不断交锋的过程。亚马逊云科技建议对账号及账号中的服务实施立体、冗余的防护,通过增加黑客的攻击成本、降低攻击影响面对系统实现持续的安全防护。
参考资料
1. Well-Architected – 安全性支柱介绍:https://docs.thinkwithwp.com/zh_cn/wellarchitected/latest/security-pillar/security.html
2. OTS 代码及文档:https://github.com/xd6wang/smbsecassessment
3. AWS 安全成熟度模型:https://maturitymodel.security.aws.dev/en/