几年前,OpenSSH 出现了几个远程漏洞,这促使包括我在内的许多管理员开始在网络边界过滤端口 22,只允许员工的 IP 地址使用 SSH。这是一种常见的做法。
当时这很有道理,但现在还有意义吗?
我谈论的是 ssh 守护进程本身的安全性和可利用性,我并不担心机器人试图暴力破解密码登录。在我的商店中,ssh 已被锁定;root 登录被禁用,仅使用公钥身份验证。
基本上,我想问的是,是否有小孩子在 OpenSSH 零日漏洞上坐了 9 年?和我一起工作的一个人认为是这样,他的逻辑是“因为它是一个服务器”。我觉得他的观点值得怀疑。
答案1
我认为还是值得避免 SSH 服务器形式的巨大攻击面。
我做的一些事情(不同的机器有所不同)是:
- iptable 级别连接速率限制
- 在不同端口上运行 SSH
- 失败2ban
- 奥皮
- 无需 root 登录
- 仅限 ssh 密钥
在不同的端口上运行 ssh 可以避免很多机器人和扫描,但连接时需要做更多工作(但 ~/.ssh/config 中的条目会有所帮助)。它不会阻止坚定的黑客,只会阻止机器人等
类似 fail2ban + iptables 或 iptables 连接速率限制之类的东西可能值得一试。设置起来非常简单,但会迅速减慢任何反复尝试的人的速度,并且不会对您造成影响。
无需 root 登录 / OPIE / ssh 密钥,应该可以解决大多数零日漏洞问题,但不是全部,而且还可以解决许多其他情况。这可能会使新机器 / 新管理员的设置时间更长一些,但它提供的功能应该是值得的。
答案2
尽管可能没有(很多)孩子会进行此类攻击 - 但肯定有带有脚本的僵尸盒可以为他们完成这些任务。
话虽如此,但由于 IP 地址被破解,恶意黑客攻击仍然可能发生,您的安全性仅与远程机器/IP 的安全性一样强大。
至少要研究隧道/VPN 技术。如果你真的关心安全,也可以扔掉密码(身份验证器等)。