MySQL连接和安全性

时间:2010-04-14 16:35:21

标签: mysql security encryption

我想知道是否有人可以通过连接到不在“localhost”的MySQL数据库(即通过IP地址)来确定是否存在任何潜在的安全性问题?

3 个答案:

答案 0 :(得分:6)

是的,通过不保护与数据库的连接确实发生了泄露。这是一个网络安全问题,比应用程序安全问题更多。因此,这个答案完全取决于您的网络地形。

如果攻击者可以访问您网络的某个部分,那么您必须使用加密技术保护自己。例如,您有一个恶意的个人已经破坏了您网络上的计算机,然后他们可以对交换网络上的“嗅探”甚至MITM设备进行ARP Spoofing攻击。这可用于查看流入和流出数据库的所有数据,或修改数据库对特定查询的响应(如登录!)。如果与数据库的网络连接是与httpd服务器的单个rj45双向连接,所有这些连接都位于锁定的机柜内,那么您不必担心黑客会嗅探这个。但是如果你的httpd在wifi网络上,然后连接到中国的数据库,那么你可能想要考虑加密。

您应该使用MySQL's built-in SSL ability连接到MySQL数据库。这可确保传输的所有数据都受到高度保护。您应该创建自签名的x509证书并对其进行硬编码。这是免费的,您不需要像Verisign这样的CA.如果存在证书异常,则存在MITM,因此这会阻止您泄漏密码。

另一个选项是VPN,如果您有多个需要安全点对点连接的守护进程,这更适合。

答案 1 :(得分:2)

更大的问题通常是另一回事,MySQL服务器中的漏洞被不值得信任的客户利用。

但是,是的,过去也有客户端漏洞(eg.)允许不值得信任的服务器攻击客户端。

当然,你应该让你的MySQL客户端库保持最新,以避免这种可能性,以及更新服务器。

如果您与服务器的连接是通过互联网(而不是专用网络),则应考虑通过加密链接(MySQL自己的SSL方案或使用隧道)运行它。否则,任何中间人都可以摆弄进出数据库的数据,如果存在客户端或服务器漏洞,那么这些漏洞也可能成为目标。

答案 2 :(得分:0)

如果服务器位于同一机架中,您可以使用专用的高速MySQL电缆,或使用交换机VLAN隔离,并保护数据库操作系统。在具有虚拟云网络的云中,您可以按照arp欺骗的方式连接它,对于geo-ip复制,您可以使用用户/密码和防火墙,然后测量性能,然后设置隧道并测量再次表现,如果它还不错,它可能值得抵御未知威胁,或者只是在使用备用cpu周期时非常有用。

简单的SQL服务器必须位于隔离的网络上,而不是公众,根据经验,您永远不会向任何人发布开放式数据库连接,并在单独的子网上保持严重的防火墙过滤,以便处理敏感数据非常好的arp欺骗保护,否则它是可破解的,并且系统的主要部分可以使用几种技术来妥协,并且它非常好,有时很容易以这种方式处理它,例如使用硬件层来控制,监控和策略MySQL流量 - 它确实能够完成工作并发挥真正的作用。

除此之外,您可以将其与开关一起保存在物理安全的加密硬盘驱动器上,因此在关闭电源时,关闭私钥,从而保护第1层和第2层。< / p>

在交换机上使用静态ARP表加上静态条目与端口的过滤非常容易,因为它也是物理层 - 端口号。