考虑这样的情况....我有一个应用服务器和一个数据库服务器。应用程序将询问数据库服务器信息。当然,数据库服务器需要密码。此外,具有SSL连接。是否有必要通过VPN网络建立连接?另外,我正在使用RoR开发,有没有办法保护database.yml ??谢谢。
答案 0 :(得分:5)
“标准”做法是确保数据库服务器不对整个互联网开放。理想情况下,数据库应该只允许来自应用服务器的连接 - 本地网络上的连接,锁定到特定端口和IP地址。在这种情况下,您并不真正需要SSL,因为环境是可信任的。
无论您的框架或语言如何,都没有真正的方法来保护应用程序服务器上的数据库配置,而不是正常的访问策略。锁定服务器,尽可能多地锁定数据库权限(在用例允许的情况下,限制特定表上的SELECT UPDATE DELETE等。
答案 1 :(得分:0)
是的,你所做的是绝对正确的。 VPN和SSL连接都创建了安全transport layer连接,因此使用这两者都是多余的。如果您的数据库是远程的,即使它位于同一个数据中心,我也会确保使用SSL连接。但是,如果数据库是在本地托管的,那么您不需要SSL。
在任何情况下,我都会关闭你的数据库(tcp 3306 for mysql)。你不应该有这样的开放端口到世界各地。