mysql - 自动阻止 MySQL 暴力登录尝试

标签 mysql security

我注意到在我的一台 MySQL 服务器中,远程攻击者在一个晚上使用“root”和“admin”用户名在“mysql”系统数据库上尝试了大约 2000 次登录尝试。幸运的是,我已将 mysql 的查询日志设置为文件日志以进行监控,密码很难。

我的数据库服务器在那次攻击中幸存下来,尽管它在(晚上)的下类时间几乎每秒收到一次登录尝试。

大约有 10 个不同的 IP 具有相同的攻击行为,其中大多数在黑名单检查中具有“良好声誉”。

在这种情况下,更改数据库密码可能不是一个好的保护措施。

有没有办法阻止这种不当行为?比如短时间内错误登录5次左右,拒绝服务?

在MySQL端口开放远程登录的情况下,MySQL专家如何应对这种攻击? 许多服务器可能会面临这种静默登录尝试。

最佳答案

我推荐Fail2Ban .这是一个脚本,用于监视任何模式(例如登录失败)的日志文件,然后创建防火墙规则以防止该 IP 访问您的服务器。您可以配置需要多少次失败登录以及在删除防火墙规则之前应拒绝访问多长时间。

使用 fail2ban,您还可以监视 ssh 登录、邮件帐户或事件您自己的网络应用程序日志文件,以发现恶意登录/行为。

作为一般提示:将您的 root/admin 帐户重命名为其他名称,这样他们无论如何都不会成功并更改服务器的公共(public) mysql 端口(两者都只是默默无闻,但没有真正的安全性)。您还应该禁用帐户的远程登录(这是安全的)。

关于mysql - 自动阻止 MySQL 暴力登录尝试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23586419/

相关文章:

java - 使用 MySQL 存储和检索 Word 文档

android - 如何通过 android Volley 或 JSON 从 mysql 检索特定行数据?

MySQL-PDO 绑定(bind)参数

mysql - 将时间序列数据链接到关系数据库中的记录

asp.net - 对多个应用程序使用相同的应用程序标识

database - 在 OrientDB 中创建记录级安全性

Java 小程序 java.security.AccessControlException

php - YOURLS 插件过滤特定 MySQL 列的 API 调用

c# - 每个用户的 Entity Framework 行级安全性

security - CloudFlare "Flexible SSL"不如 "Off"安全?