MySQL,远程连接和安全性

时间:2016-02-18 08:12:52

标签: mysql security amazon-web-services ssl

默认情况下,当您打开bind-address以收听外部时,MySQL客户端与客户端之间的默认通信;服务器不安全,这意味着任何可以进行MitM攻击的人都可以查看所做的每笔交易。

有一些选项可以防止这种类型的攻击(SSH隧道或在MySQL中启用SSL),但据我所知,Amazon RDS没有实现by default任何SSL安全性。

所以我想知道,当你创建一个RDS实例时,是在服务器上安装MySQL并打开3306端口还是我错过了什么?

2 个答案:

答案 0 :(得分:2)

几点。首先,AWS RDS for mysql确实支持ssl。这将在这里讨论

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.SSLSupport

其次,在AWS VPC中安排服务器的常用方法是拥有“私有”和“公共”子网。私有子网路由到其他私有主机,也可能路由到同一VPC中的其他主机。但它们没有弹性IP,也没有直接访问Internet网关。通常将数据库放在私有子网上,以便不暴露其端口

此页面上有一个很好的图表显示了这个概念

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Security.html

最后,AWS RDS存在于the shared responsiblity model

的语言中

这试图明确AWS服务提供的安全性以及客户应负责的内容

答案 1 :(得分:1)

如果您正在创建实例,则还必须允许端点3306在端点处打开。这意味着您还要配置安全设置,以确定您为此连接允许的IP。关于SSL安全性或SSH,作为一种好的做法,您应该依赖带密码短语的ssh密钥。