将 MySQL 的绑定地址设置为 0.0.0.0 有多糟糕?

将 MySQL 的绑定地址设置为 0.0.0.0 有多糟糕?

我正在尝试允许远程服务器访问当前与 Web 应用共享 Linux 服务器的 MySQL 实例。根据文档唯一可能的方法(除非我理解不正确)是绑定地址指令设置为0.0.0.0,这导致 MySQL 允许从任何可以产生有效用户的 IP 进行访问。

因此,有两个问题:

  1. 这对安全有多大的危害?
  2. 有没有更好的方法来允许本地和远程与 MySQL 交互?

答案1

我认为你误解了绑定地址设置一点。这些是 MySQL 将监听连接的本地地址。默认值为 0.0.0.0,即所有接口。此设置不限制哪些 IP 可以访问服务器,除非您仅为 localhost 指定 127.0.0.1。

如果需要限制某些用户特定的 IP 地址,利用创建/授予用户这样的CREATE USER 'bobdole'@'192.168.10.221';

答案2

a. 这很糟糕。尽管您可以通过每个数据库上的 IP 限制用户访问,但我认为让所有连接都从本地进入更安全。在我的服务器上,我允许 MySQL 仅接受本地连接,默认配置为 127.0.0.1。要远程访问数据库,您需要做的就是在连接到数据库之前创建一个 ssh 隧道,然后进行本地连接。如果您使用 php 编码,那么做到这一点非常容易。如果您使用的是桌面应用程序,那么在 Linux 上很容易做到这一点(查找 ssh 隧道),在 Windows 上,我通常使用 Putty 之类的程序来为我创建隧道。

相关内容