全新 GGL 云 SFTP 服务器上来自世界各地的大量身份验证请求失败

全新 GGL 云 SFTP 服务器上来自世界各地的大量身份验证请求失败

我创建了我的第一个公共服务器 - 一个托管在 Google Cloud 上的 SFTP 服务器。我在测试的第二天检查了身份验证日志,发现我每分钟都会收到来自随机人员的 4-10 次点击!!16 小时内有 3700 次失败的请求 - 这看起来很荒谬,所以我想知道是否有任何方法可以阻止它们。我几乎没有使用防火墙的经验 - 我希望避免默认拒绝所有人并仅允许白名单 IP,但也许我必须考虑一下。

Apr  4 13:34:05 nfp sshd[12034]: Failed password for invalid user tjkim from 134.122.9.249 port 48930 ssh2
Apr  4 13:34:13 nfp sshd[12107]: Failed password for invalid user barman from 198.58.119.132 port 39626 ssh2
Apr  4 13:34:16 nfp sshd[12119]: Failed password for invalid user rscreen from 203.205.37.233 port 33740 ssh2
Apr  4 13:34:16 nfp sshd[12121]: Failed password for invalid user oakda from 164.90.194.36 port 41566 ssh2
Apr  4 13:34:18 nfp sshd[12123]: Failed password for invalid user lia from 43.130.60.190 port 46610 ssh2
Apr  4 13:34:20 nfp sshd[12125]: Failed password for invalid user hongphong from 193.106.60.145 port 33020 ssh2
Apr  4 13:34:23 nfp sshd[12127]: Failed password for invalid user uucpsh from 157.245.101.31 port 59112 ssh2
Apr  4 13:34:27 nfp sshd[12129]: Failed password for invalid user legaltech from 43.154.249.125 port 33970 ssh2
Apr  4 13:34:51 nfp sshd[12132]: Failed password for invalid user dhamu from 164.90.198.71 port 36212 ssh2
Apr  4 13:34:57 nfp sshd[12134]: Failed password for invalid user onapp from 115.182.105.68 port 46286 ssh2

对新手有什么指导吗?

答案1

您的服务器位于公共互联网上。黑客会试图入侵任何东西,因此您看到的情况很正常,也很烦人。

只要您只启用了 SSH 密钥对而不是基于密码的身份验证,您的安全性就没问题。

我倾向于仅允许通过以下方式从已知 IP 地址进行 SSHVPC防火墙设置。修改默认允许 ssh规则只允许您的公共 IP 地址(来自家里、办公室等)。

答案2

尝试使用以下设置来运行 fail2ban:

[sshd]
enabled = true
filter = sshd
logpath = /var/log/auth.log
maxretry = 2
bantime = -1

这不起作用。尽管 bantime = -1,但它只会在很短的时间内禁止 IP。

修复它之后(通过jail.local如上所述创建和调整)它可以按预期工作。 /var/log/fail2ban.log

2022-04-06 18:23:42,470 fail2ban.filter         [578]: INFO      maxLines: 1
2022-04-06 18:23:42,471 fail2ban.filter         [578]: INFO      maxRetry: 2
2022-04-06 18:23:42,471 fail2ban.filter         [578]: INFO      findtime: 600
2022-04-06 18:23:42,471 fail2ban.actions        [578]: INFO      banTime: 691200
2022-04-06 18:23:42,471 fail2ban.filter         [578]: INFO      encoding: UTF-8
2022-04-06 18:23:42,471 fail2ban.server         [578]: INFO    Jail 'sshd' reloaded

还尝试通过以下方式减少攻击:

sudo grep "Apr  4.*Fail.*from.*port" /var/log/auth.log | sed 's/.*from //g;s/ port.*//g'|sed '/.*COMMAND.*/d' | sort | uniq > ban_these

while read ip; do sudo ufw deny from $ip to any; done < ban_these

这没什么帮助。流量在一天后就恢复了(不同的 IP)。

最后不得不跑:

sudo ufw default deny incoming
sudo ufw allow from m.y.i.p/24

这可以阻止害虫,但现在我必须将所有我想授予访问权限的人列入白名单。所以这是一种权衡。

不幸的是,当我将笔记本电脑带到其他地方时,这导致我被锁定在服务器之外。如果您遇到这种情况,以下链接可以帮助您:因 ufw 被锁定后如何访问 GCP 服务器

更新:

事实证明,我最初遵循的教程并不好(它有设置fail2ban.local)。这就是为什么我对fail2ban的实现没有按预期工作。这是一个很好的教训,关于官方文档的重要性!在找到官方文档后这里监狱设置应该在jail.local(以 的副本开始jail.conf),并且不是 fail2ban.local

相关内容