从端口 3306 查看我的网站时,我看到一些奇怪的 MySQL 信息
我在这里看到两个选项:
仅限本地访问
将 MySQL 服务器配置为仅侦听 127.0.0.1 (localhost) 上的 TCP 端口 3306。这样,内部 Web 服务器仍然可以与数据库服务器通信。
直接连接到数据库的服务器不再可用,但可以通过 SSH 隧道解决(如 mk444 的回答中所述)
这可以通过编辑my.cnf文件来实现。搜索“听”,很可能它设置为:
听 0.0.0.0:3306
这应该改为:
听 127.0.0.1:3306
不要忘记在更改生效之前重新启动 MySQL 服务器。
受限远程访问
另一种选择是保持配置不变,并使用 iptables 阻止所有传入 TCP 端口 3306 的连接,但您的(家庭)IP 地址除外。
但是,根据经验,这两个选项都可以使用,我知道通常不使用 iptables-persistent。这意味着如果您的 Web / 数据库服务器重新启动,iptables 规则集将丢失并且 TCP 端口 3306 再次对外界广泛开放。
如果不需要,那么一定要删除该服务。这是攻击者可能的入口点,您可以看到 MySQL 版本号。首先想到的是执行一些 Nmap 扫描、vuln-scans、mysql-brute 等......
如果您需要使用此服务,此 serverfault 帖子中有一些很好的答案: https ://serverfault.com/questions/283172/is-it-safe-to-open-port-3306-in-firewall-for-external -mysql-连接
另一种解决方案是从您的机器创建一个 ssh 隧道,以便您可以在本地连接。这是一篇关于如何使用 MySQL 创建 ssh 隧道的好文章。 http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/
