MySQL - 连接和安全

MySQL - 连接和安全

我想知道是否有人可以告诉我,通过连接到不在“localhost”即通过 ip 地址的 sql 数据库是否存在潜在的安全漏洞?

答案1

如果在 MySQL 中发现此类安全漏洞,则数据库中包含的任何数据都可能受到损害,甚至整个系统都可能受到损害。

通常最好不要让数据库在公共路由 IP 上可访问。如果无法在私有网络上隔离,建议至少通过本地系统的防火墙阻止访问。

如果您过滤访问、正确管理访问并定期升级,您将能够最大限度地降低风险。

答案2

有 2 个安全问题与任何网络应用程序类似。

  1. 密码——您的密码很难猜到吗?
  2. 网络嗅探 - 您的计算机和 MySQL 服务器之间的网络是否安全?如果不安全,则数据可能会被嗅探。(如果您使用的是较新版本的 MySQL,则密码已加密,但数据未加密。)如果您担心这一点,您可以考虑SSL

答案3

我不确定你的意思是:A - 你的计算机是否会因连接到远程 SQL 数据库而受到攻击 B - 让 SQL 数据库监听 IP 地址是否是一种好的安全做法

对于 A 的情况,如果您使用易受攻击的客户端连接到 SQL 数据库,那么是的,您可能会受到攻击。

在案例 B 中,通过连接远程 SQL 数据库可能会发生许多潜在的安全漏洞。

答案4

是的,不保护与数据库的连接确实会导致违规。这是一个网络安全问题,而不是应用程序安全问题。因此,这个答案完全取决于您的网络拓扑。

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

您应该使用以下方式连接到 MySQL 数据库MySQL 的内置 SSL 功能。这确保所有传输的数据都受到高度保护。您应该创建自签名 x509 证书并对其进行硬编码。这是免费的,您不需要像 Verisign 这样的 CA 来实现这一点。如果存在证书异常,则存在 MITM,因此这会阻止您泄露密码。

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

相关内容