我的公司正在考虑更改我们的应用程序以开始使用云数据库。目前客户在本地安装了一个数据库,这个本地数据库将变成云数据库。这意味着每个客户端都将拥有自己的数据库。我们也无法控制所有客户端的网络,因此使用 Amazon VPC 来控制它是不可能的。
我一直在寻找,似乎数据库需要一个公共(public)数据库,因为客户端可能有 DHCP IP 地址。
保护数据库的最佳方法是什么?使用 SSL 进行连接是显而易见的。对 MySQL 使用强用户名和密码也是显而易见的。当然,将默认端口更改为其他端口。还应该做什么?
最佳答案
您已经实现了大部分容易实现的目标(使用 SSL、强密码等)。由于 VPC 是不可能的,所以立即想到的唯一一件事就是尽可能严格地为数据库配置安全组。如果您知道您的客户端将始终从与该客户端关联的单个 IP 或子网进行连接,则仅允许从这些 IP/子网连接到 RDS 实例。但是,如果您需要保持对大多数互联网开放的数据库访问权限,那么您概述的几乎是您唯一的选择。
不幸的是,在 mysql 中启用双因素身份验证之类的操作需要能够安装 PAM 模块、编辑服务器的 my.cnf 文件等,而这些事情对于 RDS 来说是不可能的,因为它是一个完全托管的数据库解决方案。
关于mysql - 安全地使用 Amazon RDS 和客户端 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26639060/