MySQL远程访问安全注意事项

我一直使用套接字在本地使用MySQL。 现在我需要远程访问数据库。 它有多安全,我需要考虑什么? 仅使用绑定地址就足够了还是应该设置防火墙以阻止stream量?

您应该设置防火墙规则,只允许那些需要访问主机的主机,并阻止所有其他主机。 你可以做下面的事情,但这只是一个片段。

trusted_hosts="1.2.3.4 5.6.7.8 7.8.9.1" for host in $trusted_hosts; do iptables -A INPUT -p tcp -s $host --dport 3306 -j ACCEPT done 

这假设你已经用iptables -P INPUT DROP设置了一个默认的drop策略。 不要忘记添加像ssh远程访问规则iptables -A INPUT -p tcp --dport 22 -j ACCEPT

您应该始终在数据库服务器上设置防火墙。 让未经授权的人甚至试图连接到您的数据库是没有意义的。 过去,请确保您使用强密码(毕竟,您不需要记住密码)。

MySQL协议是通过networkingencryption的,所以如果你不信任你的networking,你可能想通过SSH隧道,或使用某种types的VPN。