我的mysql数据库托管在Amazon服务器上,我希望远程访问它以对其进行更改。由于我没有静态IP,所以我不能允许防火墙中的特定IP来安全地访问端口3306。
还有其他方法可以从远程机器安全地打开3306吗?一个解决方案可以是通过ssh的隧道端口3306,那么我们必须访问3306的其他安全访问解决方案呢?
谢谢
发布于 2012-04-14 18:50:09
SSH隧道可能是最容易设置的选项,因为它不需要更改您的MySQL配置。它与使用MySQL内置的SSL支持一样安全。
从您的工作站,只需运行:
$ ssh user@host -L3306:localhost:3306然后连接到localhost:3306,您就都设置好了。您可能需要为您将要连接的任何用户添加一个授权。
发布于 2012-04-14 15:11:39
您可能会发现MySQL SSL文档很有用:
http://dev.mysql.com/doc/refman/5.0/en/secure-connections.html
在您的情况下,我建议至少使用服务器端SSL来保护您的密码和数据,但是使用(在服务器上自签名和信任)客户端SSL证书也不是什么坏主意。
我通常不建议使用基于主机的身份验证或使用基于主机的ACL来保护您与任何东西的连接,因为IP(和DNS名称,有些人使用!)可以被欺骗和劫持,而且您也不需要对受信任的客户端进行管理访问才能对其进行足够的妥协,一般来说,这些事情比危及相当长的私钥更容易做。此外,如果不使用SSL,则容易受到流量嗅探攻击。
发布于 2012-04-14 19:39:51
如果您谈论的是亚马逊的RDS实例,那么您已经可以让连接使用SSL连接。如果您相应地配置您的DB用户,您也可以将其作为一个要求。
https://serverfault.com/questions/379472
复制相似问题