写点什么

用这三种方法,保护你的 Amazon RDS 实例安全

  • 2019-10-14
  • 本文字数:1993 字

    阅读完需:约 7 分钟

用这三种方法,保护你的Amazon RDS实例安全

导读:Amazon RDS(Amazon Relational Database Service)是让能够在云端中轻松设置、操作和扩展的关系数据库。它在自动执行耗时的管理任务(如硬件预置、数据库设置、修补和备份)的同时,可提供经济实用的可调容量。这使你能腾出时间专注于应用程序,为它们提供所需的快速性能、高可用性、安全性和兼容性。本文作者 Riley Smith 介绍了保护 RDS 实例安全的三种方法,很有实用性,InfoQ 中文站将其翻译并分享。



你已经先行一步,完成了成千上万家其他公司正在做的事情,并将数据库操作迁移到云端中。这可能是非常有利的,因为此举可以节省开发人员的时间,并简化修补和数据库维护的工作。


另一方面,它也带来了另一组问题:AWS 产品的复杂性可能会让你很难知道你是否遵循了最佳实践,并保持了数据库的安全。 为了保护数据和数据库操作,你应该确保执行以下三项事情:

1. 检查 RDS 实例是否无法公开访问

如果你在这份清单只做一件事的话,那么就应该是这件事了。公共互联网可能是一个可怕的地方,若无必要,不要让数据库实例向外界开放,因为那是没有意义的。有很多机器人会自动扫描数据库端口,以期找到安全漏洞来破坏你的数据。


解决方案是什么呢?那就是实施多层安全系统。保证数据库安全的任何多层安全系统的基础是,确保数据库不可公开访问。


那么,如何限制对 RDS 实例的访问呢?这要取决于你的具体用例,但保护 RDS 的一些最常见的方法如下:



在创建 RDS 实例期间限制对特定 VPC 安全组的访问


A. 删除其公网 IP 地址。你可以通过 IAM roles 直接设置与实例的通信,这比开放的 IP 地址和数据库端口更安全。


B. 使用安全组限制访问。 这将定义可以与 RDS 实例通信的入站和出站端口。确保将 IP 限制为需要一组访问数据库的已知 IP。


C. 使用私有子网。通过利用私有 VPC(Virtual Private Cloud,虚拟私有云),可以使数据库远离公共互联网。如果仍然需要访问数据库的话,那么你就需要使用 VPN 来接入你的实例。

2. 检查是否为 RDS 实例启用了加密

那么,下一步如何设置保护 RDS 实例的多层安全系统呢?确保在可行的情况下对数据进行加密。安全加密的数据确保了数据不会被恶意代理程序读取,除非这些代理程序也有加密密钥。


有几种不同的加密类型:对传输中的数据进行加密,以及对静态数据进行加密。在这种情况下,我们将讨论静态加密,因为这是通过 AWS 控制台最容易配置的,不过,在整个基础设施中利用加密显然是一个好主意。


你可以在创建 RDS 实例时为其启用加密,或加密已创建的 RDS 实例:



在创建 RDS 实例时启用加密


现在,这个级别的加密,会不会是可以防止任何人访问你的数据的灵丹妙药呢?非也。但是,它在某些情况下还是无价的。例如,如果有人找到了在 EC2 服务之外访问你数据的方法(比如 AWS 的前提遭到破坏的情况下),只要你确保加密密钥的安全,那么你的数据也将会保持安全。


RDS 在保持加密的隐蔽性方面做得很好:加密和解密将在虚拟机管理程序层中进行,因此你可以像以前一样使用 RDS 端点和 AWS API。


此外,据 AWS 的说法,在 RDS 实例中启用加密对性能的影响几乎为零。由于没有额外的开发成本,性能成本也可以忽略不计,因此,只要在可能的情况下,使用这种类型的加密方式是有意义的。

3. 检查是否正在自动备份 RDS 实例

最后,保护数据安全,也意味着保护数据的完整性。你不希望出现这样的一种情况:你不得不对客户道一声抱歉:你丢失了他们委托给你的几个月以来的数据。这意味着备份数据是有必要的,并确保备份本身不会暴露于其他安全漏洞。


在过去,备份数据库实例有些复杂,通常涉及一些 Cron 和外部数据备份系统。但是,如果你使用的是 RDS 的话,只需确保为实例打开了自动备份即可。


译注:Cron,即 crontab 命令,常见于 Unix 和类 Unix 的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文档中,以供之后读取和执行。该词来源于希腊语 chronos(χρόνος),原意是时间。通常,crontab 储存的指令被守护进程激活, crond 常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为 cron jobs。


你可以在创建实例时打开自动备份,也可以编辑现有实例的备份配置。



在创建 RDS 实例时启用自动备份


一旦启用了自动备份,就可以将数据库实例还原到保留窗口内的任何时间点,甚至到第二个时间点。最多保留 35 天的时间窗口,这应该会让你的开发团队感到安心。


最后,你还可以手动创建数据库快照。这些基本上是快照拍摄时数据库外观的时间点图像。你应该确保为了快照启用了加密,并且如果可以或者打算共享快照的话,那么就要控制对快照的访问(有关共享快照的更多信息,请查看 AWS 文档)。


作者介绍:


Riley Smith,Cloud Security Review(云安全评论)编辑。Cloud Security Review 专注于当今云安全的最佳内容,包括 AWS 等。由 Beacon Cloud Security 策划。


原文链接:


3 Ways to Keep Your RDS Instances Secure


2019-10-14 17:181849
用户头像

发布了 376 篇内容, 共 201.2 次阅读, 收获喜欢 949 次。

关注

评论

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

如何在 Web 应用里消费 SAP Leonardo 的机器学习 API

汪子熙

机器学习 前端开发 前端框架 SAP 5月月更

SUSE Rancher v2.6.5 社区版核心功能解读

Rancher

Kubernetes k8s rancher NeuVector

部署在Azure上的SAS Viya可为客户带来204%的投资回报率

E科讯

【直播回顾】OpenHarmony知识赋能第五期第五课——多媒体子系统之视频解读

OpenHarmony开发者

OpenHarmony 多媒体

飞书、钉钉和企微的三巨头之争下,其他厂商在移动平台赛道如何奋起直追?

BeeWorks

比渗透测试更有用,红队演练该如何开展?

青藤云安全

使用 jMeter 对需要 User Authentication 的 Restful API 进行并发负载测试

汪子熙

Java Jmeter 性能测试 SAP 5月月更

数据分析软件有哪些分类?

清林情报分析师

数据分析 数据可视化 知识图谱 分析软件 分析工具

最优的纯文本模型?GPT-4蓄势待发

OneFlow

人工智能 模型 预测 openai

FinClip SaaS 版上线啦

FinClip

JavaScript类型转换

源字节1号

520,解锁开发者的专属浪漫

葡萄城技术团队

情人节 520

Seata 企业版正式开放公测

阿里巴巴云原生

阿里云 开源 云原生 seata

年薪80W,在大厂呆了10年的我,被裁得心服口服

博文视点Broadview

架构实战营 第 6 期 模块六课后作业

火钳刘明

#架构实战营 「架构实战营」

业务逻辑的灵魂在哪里?

清林情报分析师

数据分析 数据建模 数据可视化 分析软件 分析思维

代码重构,真的只有复杂化一条路吗?

华为云开发者联盟

代码 代码重构 过度设计 代码设计

预约直播|阿里云CDP 产品发布会

阿里云大数据AI技术

CDP 产品发布

这知识点真细,Python获取HTTP响应头和响应体

梦想橡皮擦

5月月更

作为软件工程师,给年轻时的自己的建议(上)

禅道项目管理

程序员 工程师 职业成长

thinkphp 中 fetch 方法怎么用

CRMEB

FinClip 前端之 VUE 核心原理总结

FinClip

青云云原生沙龙线上集结,找到属于你的云原生实践之路!

青云技术社区

喜大普奔 | FinClip Hackathon 2022 结果宣布, Top3 项目出炉!

FinClip

盲盒APP开发的六大功能模式基础设置

WDL22119

盲盒商城 盲盒 盲盒开发 盲盒小程序开发 小程序开发

Google Guava中EventBus使用不当会导致什么故障?

BUG侦探

kafka Guava EventBus

许北林:我为什么加入OpenHarmony生态?又为什么要做“启航KP”开发套件?

OpenHarmony开发者

OpenHarmony 开发者故事

What? 从小程序反向生成App?!

FinClip

520,用Python定制你的《本草纲目女孩》

华为云开发者联盟

Python 华为云 modelarts 本草纲目女孩 MoXing

31点经验分享与吐槽

老白鹿

涛思数据与中天钢铁签署战略合作协议,加速钢铁行业的数字化发展

TDengine

数据库 tdengine

用这三种方法,保护你的Amazon RDS实例安全_安全_Riley Smith_InfoQ精选文章