写点什么

用这三种方法,保护你的 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:181689
用户头像

发布了 375 篇内容, 共 187.5 次阅读, 收获喜欢 945 次。

关注

评论

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

想了解表格问答,我们先看看TA的前世

华为云开发者联盟

数据库 规范 表格

设备常用网管配置举例

同步与异步,回调与协程

Linux服务器开发

线程 后端 协程 底层应用开发 Linux服务器开发

深入了解进程间通信:System V信号量+共享内存

ShenDu_Linux

Linux 进程 内存管理 通信协议

「云原生上云」后的聚石塔是如何应对 双11 下大规模应用挑战的

阿里巴巴云原生

阿里云 云原生

区块链技术应用打造智慧物流

13828808769

区块链技术应用开发

关于物联网规则引擎技术,你想要知道的都在这儿!

华为云开发者联盟

数据 联动 iotda

大企软件系统问题多?归乡名企工程师:解决很简单,分分钟做个新系统

Learun

敏捷开发 快速开发 企业开发 CRM 企业应用

OPPO技术开放日第六期丨OPPO安全解析“应用与数据安全防护”背后的技术

OPPO安全

OPPO安全

美团T8级架构师剖析Spring Boot源码:日志、缓存、消息、Web服务等

Java架构追梦

Java 源码 架构 微服务 springboot

你敢信?就是这个Netty的网络框架差点把我整疯了,哭jj

小Q

学习 编程 面试 Netty 网络

cncf serverless 所有项目全解读

coldTea214

云计算 Serverless 容器 cncf

技术应用丨DWS 空间释放(vacuum full) 最佳实践

华为云开发者联盟

内存 存储 磁盘

精心总结C++智能指针用法详解(完整版)附带视频讲解

ShenDu_Linux

c++ 程序员 指针 智能指针

PGAS模型编程语言

星际行者

为什么从蚂蚁离职?base拉胯,高潜也被倒挂,就是酸,忍不了

Java架构师迁哥

linux后台开发必知的linux系统内存知识总结

linux大本营

c++ Linux 后台开发 架构师 内存管理

测试过程中如何快速定位一个bug

测试人生路

软件测试

Serverless 应用引擎的远程调试和云端联调

阿里巴巴云原生

Java Serverless 云原生 后端

在K8S/OpenShift上开发应用程序的14种最佳实践

东风微鸣

Kubernetes 最佳实践 k8s最佳实践 openshift

精彩回顾 | 一张图读懂OPPO应用与数据安全防护

OPPO安全

OPPO安全

LeetCode题解:455. 分发饼干,贪心while循环,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

AWS IoT Greengrass设计解析

soolaugust

边缘计算 工业4.0 工业物联网 iiot

架构师 3 期 3 班 -week2- 总结

zbest

总结 week2

架构师 3 期 3 班 -week2- 作业

zbest

作业 week2

中国CRM突围指南

ToB行业头条

CRM

从零做网站开发:基于Flask和JQuery,实现表格管理平台

华为云开发者联盟

jquery flask 框架

智能视频监控的发展和优势

anyRTC开发者

安全 监控 音视频 WebRTC RTC

go-zero 之 rest 实战与原理

万俊峰Kevin

RESTful api 网关 microservice Go 语言

跟随杠精的视角一起来了解Redis的主从复制

leonsh

redis redis高可用 redis主从

《迅雷链精品课》第九课:区块链P2P网络

迅雷链

区块链

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