2

我需要了解更多关于 MySQL 暴力攻击的信息。我在我们的 Linux 服务器上看到 MySQL 暴力攻击,但是还没有一台机器受到攻击。

从这个链接,我发现如果我得到了垃圾字符,而在另一台远程机器上使用 telnet 命令,这意味着端口 3306 对外界开放。我从这个链接中发现,如果我修改/etc/my.cnf以包含skip-networking,它将阻止到端口 3306 的所有外部连接。

我的问题是,

我有一个正在运行的程序,它使用某个用户名和密码(用户名不是root )连接到 MySQL 服务器(我在其中受到暴力攻击)。如果我在my.cnf文件中包含上述行(skip-networking),它会影响我当前正在运行的程序吗?

4

2 回答 2

5

规则#1:永远不要让你的 MySQL 端口随风飘扬。MySQL 中存在使安全层无效并允许任意远程代码执行的错误。

您绝对必须锁定 3306 才能仅对可能的最小 IP 列表开放,即使那样您仍然必须小心。默认情况下 MySQL 不加密这些连接,因此理论上可以从这里抓取身份验证信息。

更好的方法是为每台需要访问数据库的机器设置一个简单的 SSH 隧道,将远程机器桥接到本地 MySQL 端口。

skip-networking具有绑定到 127.0.0.1 (localhost) 的效果,这意味着它不会接受外部连接。这更安全,但如果没有一套严格的防火墙规则,你仍然生活在危险之中。

于 2013-08-26T22:30:32.893 回答
3

所以就像评论说你需要配置防火墙。编辑 my.cnf 文件与防火墙不同。

跳过网络选项基本上执行以下操作: 根本不侦听 TCP/IP 连接。与 mysqld 的所有交互都必须通过 Unix 套接字进行。对于只允许本地请求的系统,强烈建议使用此选项。由于您需要允许远程连接,因此应从 my.cnf 中删除此行或将其置于注释状态。

去安装防火墙,确保只有你的机器可以连接到 MySQL 数据库。是推荐的防火墙列表。

于 2013-08-26T22:02:35.753 回答