本文概述
- 创建一个私有和公共桶
- 加密静态和临时数据
- 利用CloudTrail
- CloudWatch和警报
- 设置生命周期策略
- S3 Block Public Access
- 收听AWS Trusted Advisor
在本文中, 我们将讨论确保AWS S3存储安全的最佳技巧。
在看到保护AWS S3存储安全的技巧之前, 我们应该知道为什么它至关重要。在2017年, 它公开了关键数据, 例如私人社交媒体账户和来自五角大楼的机密数据。
从那时起, 每个组织都密切注意保护存储在AWS S3中的数据。
这是否意味着S3是Amazon Web Services的不安全存储解决方案?根本不是S3是安全的存储解决方案, 但是它取决于用户如何保护其数据。
AWS共享责任模型
公共云提供的大多数解决方案都提供了” 共享责任模型” 。这意味着AWS负责云平台安全性的责任, 而云客户则负责云中的安全性。
此共享模型有助于缓解数据泄露。下图显示了AWS的一般责任和客户对数据保护的责任。
文章图片
研究上面的图以熟悉你必须承担的责任。确保S3存储安全的预防措施是必不可少的, 但是无法避免所有威胁。 AWS提供了几种方法来帮助你主动监控并避免数据泄露带来的风险。
让我们看看以下保护AWS S3存储安全的最佳实践。
创建一个私有和公共桶 创建新存储桶时, 默认存储桶策略为私有。这同样适用于上载的新对象。你将必须手动授予对要访问数据的实体的访问权限。
通过使用存储桶策略的组合, ACL和IAM策略为正确的实体提供了正确的访问权限。但是, 如果将私有和公共对象都放在同一个存储桶中, 这将变得复杂而困难。通过将公共对象和私有对象混合在同一存储桶中, 将导致对ACL进行仔细分析, 从而浪费你的生产时间。
一种简单的方法是将对象分为公共存储桶和私有存储桶。使用存储桶策略创建单个公共存储桶, 以授予对存储在其中的所有对象的访问权限。
{"Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::YOURPUBLICBUCKET/*"}
接下来, 创建另一个存储分区以存储私有对象。默认情况下, 所有对存储桶的访问都将被禁止公开访问。然后, 你可以使用IAM策略将对这些对象的访问权限授予特定用户或应用程序访问权限。
加密静态和临时数据 要在休息和运输期间保护数据, 请启用加密。你可以在AWS中进行设置, 以在服务器端加密对象, 然后再将其存储在S3中。
这可以使用默认的AWS托管S3密钥或在密钥管理服务中创建的密钥来实现。要在传输期间通过使用HTTPS协议对所有存储桶操作强制执行数据加密, 必须在存储桶策略中添加以下代码。
{
"Action": "s3:*",
"Effect": "Deny",
"Principal": "*",
"Resource": "arn:aws:s3:::YOURBUCKETNAME/*",
"Condition": {
"Bool": { "aws:SecureTransport": false }
}}
利用CloudTrail CloudTrail是一项AWS服务, 用于记录和维护在AWS服务中发生的事件的轨迹。 CloudTrail事件的两种类型是数据事件和管理事件。数据事件默认情况下处于禁用状态, 并且更加精细。
管理事件是指创建, 删除或更新S3存储桶。数据事件引用对对象(如PutObject, GetObject或GetObject)进行的API调用。
与管理事件不同, 数据事件每100, 000个事件的成本为$ 0.10。
你创建一个特定的跟踪以记录和监视给定区域或全局中的S3存储桶。这些跟踪会将日志存储在S3存储桶中。
CloudWatch和警报 【确保AWS S3存储安全的7个最佳实践】进行CloudTrail设置非常适合监视, 但是如果你需要控制警报和自我修复, 请使用CloudWatch。 AWS CloudWatch提供即时事件记录。
另外, 你可以在CloudWatch日志组中设置CloudTrail以创建日志流。在CloudWatch中具有CloudTrail事件会添加一些强大的功能。你可以设置指标筛选器, 以针对可疑活动启用CloudWatch警报。
设置生命周期策略 设置生命周期策略可以保护你的数据并节省资金。通过设置生命周期策略, 你可以移动不需要的数据以使其私有化, 然后再将其删除。这确保了黑客不再能够访问不需要的数据, 并通过释放空间来节省资金。启用生命周期策略以将数据从标准存储移至AWS Glacier以节省资金。
以后, 如果冰川中存储的数据对你或组织没有更多价值, 则可以删除。
S3 Block Public Access AWS采取了一些步骤来自动化功能, 以阻止对存储桶的公共访问, 以前曾使用过CloudWatch, CloudTrail和Lambda的组合。
在某些情况下, 开发人员会不小心将对象或存储桶公开。为避免意外使水桶或物件公开, 这些功能非常方便。
新的阻止公开访问设置功能将阻止任何人公开该存储桶。你可以在AWS控制台中启用此设置, 如上面的视频所示。你还可以在帐户一级应用此设置, 如以下视频中所述。
收听AWS Trusted Advisor AWS Trusted Advisor是一项内置功能, 可用于分析你账户中的AWS资源并推荐最佳实践。
文章图片
他们提供5类推荐;关键功能之一是安全性。自2018年2月以来, 当S3存储桶可公开访问时, AWS会提醒你。
第三方AWS安全工具
除Amazon外, 还有一些第三方提供安全工具来保护你的数据。它们可以为你节省大量时间, 并同时确保数据安全。下面提到一些流行的工具:
安全猴子
它是Netflix开发的工具, 用于监视AWS策略更改并在发现任何不安全配置时发出警报。安全猴子(Security Monkey)对S3进行了一些审核, 以确保采取最佳实践。它还支持Google Cloud Platform。
云托管人
云托管人可帮助你根据最佳实践管理云中的资源。简而言之, 一旦你确定了最佳实践, 就可以使用此工具扫描云中的资源, 以确保满足要求。
如果不符合要求, 你可以使用许多选项来发送警报或强制执行丢失的策略。
云映射器
Duo Security创建了Cloud Mapper, 这是一个出色的云可视化和审核工具。它具有Security Monkey的类似功能, 可以对S3存储桶进行扫描以检查是否有任何错误配置。它为你的AWS基础设施提供了出色的可视化表示形式, 以增强对更多问题的识别。
文章图片
它提供了出色的报告。
总结
由于大多数工作都是使用数据进行的, 因此保护数据安全应该是核心职责之一。
人们永远不会知道何时以及如何发生数据泄露。因此, 始终建议采取预防措施。安全要比后悔好。保护数据将为你节省数千美元。
如果你不熟悉云并且对学习AWS感兴趣, 请查看此Udemy课程。
推荐阅读
- 如何在Apache,Nginx和WordPress中阻止不需要的用户代理和引荐来源()
- 如何从URL获取'apple-touch-icon()
- html5视频无法与android webview一起使用
- 带Spinner的Android Studio对话框[关闭]
- EditText Android中的多语言问题
- Android EditText禁用编辑但允许滚动
- 在Android中的edittext中从textview获取价值
- In App Purchase产品ID是否必须以Reverse-DNS开头()
- Android Studio无法构建具有交叉模块依赖性的模块