【发布时间】:2019-09-11 17:04:03
【问题描述】:
我想将网站部署到 S3 存储桶并使用静态网站托管。但是,我有一些严格的安全限制:
- 必须使用HTTPS
- 对网站的访问必须限制在特定的 IP 范围内
这是我的计划:
- 使用 AWS WAF 限制可以访问网站的 IP
- 使用 CloudFront 来利用 HTTPS
- 格式化 CloudFront 分配以转发一个自定义标头,该标头将充当 S3 的访问密钥
- 将 S3 存储桶安全策略限制为仅允许包含来自上述 CloudFront 的自定义标头的流量。
这是一个图表:
但我有一个大问题:在 CloudFront 之间转发自定义标头真的是最好的方法吗? AWS 文档说原始访问身份不能用于充当网站的 S3 存储桶 (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html)。自定义标头似乎不如原始访问身份安全,并且更难维护。使用随机字符串作为防止有人绕过我的 CloudFront 分配并直接访问 S3 存储桶的唯一安全措施让我感到不舒服。如果恶意方猜到了
我的另一个选择是硬着头皮转移到我可以更好地控制大量安全性的服务器,但我想利用 S3 网站的便利性。
【问题讨论】:
标签: amazon-web-services security amazon-s3 amazon-cloudfront