【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

发布了 370 篇内容, 共 170.9 次阅读, 收获喜欢 939 次。

关注

评论

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

EBean ORM 框架介绍-2.字段加密、更新日志和历史记录

Barry的异想世界

jpa Ebean 字段加密 更新日志 历史记录

外包3年凭借一手“秒杀架构”成功上岸阿里

Java架构师迁哥

手滑党福音,意外删除重要文件怎么办?

淋雨

数据恢复 EasyRecovery 文件恢复

备战金九银十,2021年最全999道Java岗高频面试题分享

Java架构师迁哥

Python——注释和字符串的拼接

在即

6月日更

应用,才是区块链的终极归宿

CECBC

架构训练营模块 5 作业 - 江哲

江哲

阿里架构师手肛6个月,总结出17W字操作系统、网络教程(导图+笔记)

Java架构师迁哥

Java--JVM内存结构

是老郭啊

Java JVM简介 JVM内存结构 JVM运行时数据区

C语言从入门到精通(四)

代码情缘

编程 C语言 变量 编程之路 6月日更

区块链能否为应对气候变化 提供解决方案?

CECBC

C语言从入门到精通(一)

代码情缘

c++ 编程 开发 C语言 硬件开发

从事开发5年以上的Java程序员,面试会被问到哪些?

Java架构师迁哥

【Redis】概览

awen

redis

工厂里三个质检车间缩减为一个,飞桨企业版EasyDL助力降本增效

百度大脑

飞桨

新手模拟实现bind

前端树洞

面试 大前端 js this

架构解析|网易自研新一代大规模分布式传输网

网易云信

分布式 音视频

C语言从入门到精通(二)

代码情缘

开发 C语言 编程、

Bzz节点分币系统搭建,Bzz矿机挖矿系统

新思科技连续五年获Gartner魔力象限应用安全测试领导者殊荣

InfoQ_434670063458

新思科技 Gartner 魔力象限

程序员必知的硬核基础知识

Java架构师迁哥

区块链+数字政务:成都高新区如何创新

CECBC

Redis 缓存的三大问题及其解决方案

xcbeyond

redis 缓存 6月日更

用了这么多年 Gitlab,可能还不了解这些知识

郭旭东

DevOps gitlab 极狐GitLabs

2021全球人工智能技术大会开幕 百度王海峰:跨语言沟通正在成为现实

百度大脑

人工智能 沟通 跨语言

轮胎行业遇上AI,百度智能云携手固铂轮胎智能化转型

百度大脑

智能云 轮胎

深入讲解RxJava响应式编程框架,背压问题的几种应对模式

小Q

Java 学习 编程 架构 面试

iOS APP 架构漫谈

iOSer

ios ios开发 iOS架构

阿里开源三天就被狂转50w次的《Java面试突击》限时下载!

Java架构师迁哥

Java中String类的前世今生

卢卡多多

Java string 6月日更

C语言从入门到精通(三)

代码情缘

编程 开发 C语言 编程之路 硬件开发

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