写点什么

为了 S3 的安全性,亚马逊 AWS“操碎了心”

  • 2019-11-19
  • 本文字数:1555 字

    阅读完需:约 5 分钟

为了S3的安全性,亚马逊AWS“操碎了心”

早在 2006 年,亚马逊就推出S3。作为一个平台,它可以存储任何类型的数据。从那时起,S3 存储桶成为最常用的云存储工具之一,存储从服务器日志到客户数据的任何内容,其用户包括 Netflix、Reddit 和 GE Healthcare 等著名品牌。



虽然S3推出时很重视安全原则,但它在保障安全性的道路上并不是一帆风顺。


近年来,S3 存储桶的安全问题达到顶峰,Uber、埃森哲(Accenture)等公司,甚至美国国防部都受到重大数据泄露的影响。


几乎所有这些泄漏都有一个共同因素——负责管理云存储的管理员错误配置了安全设置,导致它们对公众开放。


你可能想知道,这种事情为什么一而再再而三地发生?难道不应该有可用的默认安全配置阻止这类事情发生吗?


值得称赞的是,S3 一直以来所采用的模型,使新创建的桶默认都是私有的。对公众和其他经过身份验证的 Amazon AWS 帐户,管理员可以控制其访问级别。


但问题在于,对某个特定的“桶”,要想判断公众应属于哪个访问级别并不容易。您可能会得到一个配置受限权限的桶,但该配置中可能包含了一些项,这些项可以覆盖这些限制,从而提供公开访问授权。


早在 2017 年,Amazon 就添加了额外的安全更改,以帮助解决由于 S3 存储桶配置错误而导致的日益增加的安全问题。首先,他们在所有公共桶上打上一个大大的橙色标签。此外,他们还为上传到桶的所有数据添加了默认加密和详细报告等设置,以帮助识别错误配置。


但这显然还不够。在这些变化之后的几个月里,很多企业仍然面临着来自完全开放存储导致的大量数据泄露威胁。


S3 用户面临的主要问题之一,涉及到所有的规则覆写和访问控制列表覆写,这些覆写行为是随着时间推移逐渐进行的。虽然 Amazon 仍然默认阻止所有公共 S3 访问,但是用户偶尔需要暂时公开访问一些数据。


为方便地实现这一点,管理员可以更新他们的访问控制列表,允许对数据进行读访问,并且想的是稍后删除该项规则。但不幸的是,数据访问需求发生了变化,人们又很健忘,这意味着规则可能会比预期停留更长时间,在不应该访问数据时却能访问数据。


嵌套目录(每个目录都有各自的权限)也可能进一步增加 S3 存储桶访问和安全的复杂性。最后,您可能会忘记存储敏感日志子目录的子目录实际上是可以公开访问的。


亚马逊在 2018 年 11 月遇到了这个问题,当时他们增加了一个选项来阻止全球范围内所有公共访问帐户中的每个 S3 桶。这为管理员提供了一个重置按钮来清除之前的设置,只需一次单击就可以覆盖所有自定义规则。



遗憾的是,这些安全更新只有在人们知道它们存在并正确使用它们的情况下才有用。不幸的是,由于用户错误和不正确的使用,只要服务还在运行,我们就可能继续看到源于错误配置的S3桶漏洞。


如果你的公司使用 Amazon S3(或任何云存储服务),你可以做几件事来确保数据不会泄露:


  • 首先,花一些时间彻底检查当前的存储权限。检查现有的存储桶,确保没有任何过时的规则,这些规则可能允许意外的数据访问。

  • 其次,在设置新的云存储或管理当前设置时,请遵循最佳实践原则。Amazon 的帮助系统有一个很好的指南,帮助用户保护 S3 的安全,类似于 Microsoft 的Azure存储服务

  • 最后,退一步考虑一下要上传到云中的数据类型。您可以在云上存储某些东西并不意味着您一定需要云存储。减少您的数据轨迹不仅降低了复杂性,更容易发现错误配置,而且还减少了您成为数据泄露受害者时的潜在损失。


对于公司数据的存储需求来说,云存储是一个非常棒且通常非常划算的工具,但如果不小心,它可能会给您的业务带来重大的安全问题。


建议您从上面的三个最佳实践开始最小化风险。当您有疑问时,在将敏感信息上传到云上之前,找一位 S3(或您使用的任何平台)的专家并与他们交流。


原文链接:


How data breaches forced Amazon to update S3 bucket security


关于作者:


Marc Laliberte 是一名高级安全分析师,来自 WatchGuard Technologies。


2019-11-19 15:282840

评论

发布
暂无评论
发现更多内容

火山引擎DataLeap的Data Catalog系统公有云实践

字节跳动数据平台

大数据 火山引擎 大数据研发

嵌入式系统概述及特点

timerring

嵌入式 11月月更

一个小而美的项目如何进行跨端选型

Onegun

移动端 跨端开发

为什么mysql不推荐使用雪花ID作为主键

京东科技开发者

MySQL 数据 雪花id 主键 自增

TCL 基于 StarRocks 构建统一的数据分析平台

StarRocks

#数据库

又一创新!阿里云 Serverless 调度论文被云计算顶会 ACM SoCC 收录

Serverless Devs

K3S +Helm+NFS最小化测试安装部署只需十分钟

京东科技开发者

Docker k8s 软件测试 k3s 应用程序

如何通过链路追踪进行定时任务诊断

阿里巴巴云原生

阿里云 云原生 SchedulerX

java培训学习中怎么来提升开发水平

小谷哥

web前端和java培训学编程哪个更好

小谷哥

New Features | NFTScan 推出 BlueChip、Watch List、Activity Overview

NFT Research

区块链 NFT 数据基础设施

基于云边协同架构的五大应用场景革新

阿里云CloudImagine

阿里云 边缘计算 边缘云

DTSE Tech Talk 第13期:Serverless凭什么被誉为未来云计算范式?

华为云开发者联盟

云计算 后端 华为云

AI技术实践|用腾讯云慧眼微信浮层H5解决黄牛抢票问题

牵着蜗牛去散步

人工智能 腾讯云 腾讯 腾讯云AI

参加大数据培训学习还来得及吗

小谷哥

前端培训程序员不好招吗,应该怎么学习

小谷哥

MobPush 推送查询API

MobTech袤博科技

华夏银行:详解iDo平台一体化运维的落地过程

嘉为蓝鲸

运维 金融 银行 数字化

云小课|云小课教您如何选择Redis实例类型

华为云开发者联盟

云计算 后端 华为云

面试合集:数据库+数据结构+JVM+网络+JAVA+分布式+操作系统

钟奕礼

Java 程序员 java面试 java编程

供应链-数字化招投标/采购/供应商管理系统

金陵老街

数字化 Java‘’ Vue 3 spring-boot

Service Mesh 的下一站是 Sidecarless 吗?

SOFAStack

MOSN

教你用JavaScript完成进度条

小院里的霍大侠

JavaScript 编程开发 初学者 入门实战

3.面向复杂度的架构设计模式

程序员小张

「架构实战营」

ansible2.4安装和体验

程序员欣宸

DevOps ansible 11月月更

磐久网络|揭秘阿里云HAIL数据中心网络

云布道师

阿里云 数据中心 基础设施建设

瓴羊Quick BI自助式报表分析工具,令企业的运营服务更高效

夏日星河

我们又重写了一个关键服务

Zilliz

人工智能 Milvus 向量数据库

我代码就加了一行log日志,结果引发了P1的线上事故

小小怪下士

Java 程序员 log 代码

前端培训程序员学习就业还有前途吗?

小谷哥

降价背后,函数计算规格自主选配功能揭秘

阿里巴巴云原生

阿里云 云原生 函数计算

为了S3的安全性,亚马逊AWS“操碎了心”_安全_Marc Laliberte_InfoQ精选文章