本文概述
- 创建一个私有和公共桶
- 加密静态和临时数据
- 利用CloudTrail
- CloudWatch和警报
- 设置生命周期策略
- S3 Block Public Access
- 收听AWS Trusted Advisor
在本文中, 我们将讨论确保AWS S3存储安全的最佳技巧。
在看到保护AWS S3存储安全的技巧之前, 我们应该知道为什么它至关重要。在2017年, 它公开了关键数据, 例如私人社交媒体账户和来自五角大楼的机密数据。
从那时起, 每个组织都密切注意保护存储在AWS S3中的数据。
这是否意味着S3是Amazon Web Services的不安全存储解决方案?根本不是S3是安全的存储解决方案, 但是它取决于用户如何保护其数据。
AWS共享责任模型
公共云提供的大多数解决方案都提供了” 共享责任模型” 。这意味着AWS负责云平台安全性的责任, 而云客户则负责云中的安全性。
此共享模型有助于缓解数据泄露。下图显示了AWS的一般责任和客户对数据保护的责任。
![确保AWS S3存储安全的7个最佳实践](http://img.readke.com/220519/204102I36-0.jpg)
文章图片
研究上面的图以熟悉你必须承担的责任。确保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资源并推荐最佳实践。
![确保AWS S3存储安全的7个最佳实践](http://img.readke.com/220519/2041023116-1.png)
文章图片
他们提供5类推荐;关键功能之一是安全性。自2018年2月以来, 当S3存储桶可公开访问时, AWS会提醒你。
第三方AWS安全工具
除Amazon外, 还有一些第三方提供安全工具来保护你的数据。它们可以为你节省大量时间, 并同时确保数据安全。下面提到一些流行的工具:
安全猴子
它是Netflix开发的工具, 用于监视AWS策略更改并在发现任何不安全配置时发出警报。安全猴子(Security Monkey)对S3进行了一些审核, 以确保采取最佳实践。它还支持Google Cloud Platform。
云托管人
云托管人可帮助你根据最佳实践管理云中的资源。简而言之, 一旦你确定了最佳实践, 就可以使用此工具扫描云中的资源, 以确保满足要求。
如果不符合要求, 你可以使用许多选项来发送警报或强制执行丢失的策略。
云映射器
Duo Security创建了Cloud Mapper, 这是一个出色的云可视化和审核工具。它具有Security Monkey的类似功能, 可以对S3存储桶进行扫描以检查是否有任何错误配置。它为你的AWS基础设施提供了出色的可视化表示形式, 以增强对更多问题的识别。
![确保AWS S3存储安全的7个最佳实践](http://www.srcmini.com/wp-content/uploads/2020/04/cloudmapper-findings.png)
文章图片
它提供了出色的报告。
总结
由于大多数工作都是使用数据进行的, 因此保护数据安全应该是核心职责之一。
人们永远不会知道何时以及如何发生数据泄露。因此, 始终建议采取预防措施。安全要比后悔好。保护数据将为你节省数千美元。
如果你不熟悉云并且对学习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无法构建具有交叉模块依赖性的模块