我创建了我的第一个公共服务器——托管在谷歌云上的 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
对新手有什么指导吗?
您的服务器位于公共 Internet 上。黑客会试图闯入任何东西,所以你所看到的很正常而且很烦人。
如果您只启用了 SSH 密钥对而不是基于密码的身份验证,那么您在安全性方面是可以的。
我更喜欢通过VPC 防火墙设置只允许来自已知 IP 地址的 SSH。修改default-allow-ssh规则以仅允许您的公共 IP 地址(来自家里、办公室等)。
使用以下设置尝试了 fail2ban:
那没有用。即使bantime = -1,它也只会在很短的时间内禁止IP。
修复它(通过创建和调整
jail.local
如上所述)后,它按预期工作。/var/log/fail2ban.log
还试图通过以下方式减少攻击:
那没有多大帮助。流量在一天内恢复(不同的 IP)。
不得不最终运行:
这阻止了害虫,但现在我必须将我想要访问的每个人列入白名单。所以要取舍。
不幸的是,当我将笔记本电脑带到别处时,这导致我被锁定在服务器之外。如果您遇到这种情况,这里有一个链接可以帮助您:How to access GCP server after being locked out due to ufw
更新:
原来我最初遵循的教程不是很好(它的设置在 中
fail2ban.local
)。这就是为什么我的fail2ban 实现没有按预期工作的原因。这是关于官方文档重要性的一个很好的教训!在此处找到官方文档后,jail 设置应位于jail.local
(以 的副本开头jail.conf
),而不是fail2ban.local
.