nul*_*nce 3 security linux brute-force-attacks
我刚刚查看了我的 syslog 文件,并注意到以下大量条目:
8 月 25 日 13:06:17 ssrv001 mysqld: 150825 13:06:17 [警告] 用户“root”@“61.160.232.48”的访问被拒绝(使用密码:是)
该 ip 是恶意的,因为除了我自己之外没有人对这台服务器具有 root 访问权限。我将删除 root mysqld 用户的远程访问权限,但这足以阻止此类事情的发生吗?
我也在考虑实施一些禁止来自多次发出无效请求的 IP 地址的连接的东西。
首先,我建议您只允许从本地主机以 root 身份登录到 mysql。如果您必须从另一台服务器连接到 mysql - 创建新用户并仅授予它所需的权限。
此外,您可以使用 fail2ban 或类似方法在多次连接尝试失败后将黑客 IP 添加到黑名单。
最后,您可以更改您的 mysql 端口以避免愚蠢的蛮力攻击。
在此处了解有关在 linux 上保护 MySQL dbs 的更多信息:如何在 Linux VPS 中保护 MySQL 和 MariaDB 数据库
更新: 我忘了 MySQL 有自己的工具来在登录尝试失败后阻止 IP。您可以在 mysql 配置文件中使用它:
max_connect_errors = 5;
但默认情况下,mysqld 会在 10 次连接错误后阻止主机。
在此处阅读更多相关信息:服务器系统变量 #sysvar_max_connect_errors和此处:主机“host_name”被阻止
小智 6
我与 Maxim 和 Knowhy 在一起,只允许从本地主机以 root 用户身份登录 MySQL。我会进一步允许所有用户登录本地主机或特定 ip。
以本地用户身份连接到远程 MySQL 服务器的方法是 ssh 隧道。
像这样的东西应该适用于 UNIX 系统:
ssh -fNg -L 9999:127.0.0.1:3306 user@yourhost.com
Run Code Online (Sandbox Code Playgroud)
这将启用客户端端口 9999 作为远程 yourhost.com:3306 端口的“隧道”。
对于 Windows 系统,Putty 应该可以解决问题。看看这个:
http://www.ytechie.com/2008/05/set-up-a-windows-ssh-tunnel-in-10-minutes-or-less/
大多数当前的 MySQL 图形客户端都允许隧道连接,例如 MySQL Workbench,效果很好:
https://www.mysql.com/products/workbench/
| 归档时间: |
|
| 查看次数: |
1461 次 |
| 最近记录: |