Linux
將 MySQL 的綁定地址設置為 0.0.0.0 有多糟糕?
我正在嘗試允許遠端伺服器訪問目前與 Web 應用程序共享 Linux 伺服器的 MySQL 實例。根據文件,這可能的唯一方法(除非我沒有正確理解)是如果將bind-address指令設置為0.0.0.0,這將導致 MySQL 允許從可以產生有效使用者的任何 IP 進行訪問。
所以,兩個問題:
- 這對安全有多大危害?
- 是否有更好的方法來允許與 MySQL 進行本地和遠端互動?
我認為您對綁定地址設置有點誤解。這些是 MySQL 將偵聽連接的本地地址。預設值為 0.0.0.0,即所有介面。此設置不限制哪些 IP 可以訪問伺服器,除非您僅為 localhost 指定 127.0.0.1。
如果您需要限制特定 IP 地址的某些使用者,請像這樣使用創建/授予使用者
CREATE USER 'bobdole'@'192.168.10.221';
一種。這不好。即使您可以通過每個數據庫上的 ip 限制使用者訪問,我認為讓所有連接都進入本地更安全。在我的伺服器上,我允許 MySQL 只接受本地連接,預設配置為 127.0.0.1。要遠端訪問數據庫,您需要做的就是在連接到數據庫之前創建一個 ssh 隧道,然後在本地連接。如果您使用 php 進行編碼,則很容易做到這一點。如果您使用的是桌面應用程序,在 Linux 上很容易做到(查找 ssh 隧道),在 Windows 上,我通常使用像 Putty 這樣的程序為我建立隧道。