使用 ssh 对 Internet 开放的个人服务器有多大风险?

M. *_*oya 32 security ssh debian

标题继续是“虽然对互联网安全的了解有限”。

我最近在一台运行 debian 的低端计算机上设置了一个小型服务器,目的是将它用作个人 git 存储库。我启用了 ssh 并且对它遭受暴力攻击等的及时性感到非常惊讶。然后我读到这是很常见的,并了解了抵御这些攻击的基本安全措施(关于 serverfault 的许多问题和重复处理它,例如参见this onethis one)。

但现在我想知道这一切是否值得付出努力。我决定建立自己的服务器主要是为了好玩:我可以依赖第三方解决方案,例如 gitbucket.org、bettercodes.org 等提供的解决方案。虽然乐趣的一部分是学习互联网安全,但我没有有足够的时间致力于成为专家,并且几乎可以肯定我采取了正确的预防措施。

为了决定我是否会继续玩这个玩具项目,我想知道我这样做的真正风险是什么。例如,连接到我的网络的其他计算机在多大程度上也受到威胁?其中一些计算机被比我运行 Windows 的知识更少的人使用。

如果我遵循基本准则,例如强密码、禁用 ssh 的 root 访问权限、ssh 的非标准端口以及可能禁用密码登录并使用 fail2ban、denyhosts 或 iptables 规则之一,我遇到真正麻烦的可能性有多大?

换句话说,是否有一些我应该害怕的大坏狼,或者主要是为了赶走脚本小子?

The*_*ins 16

IMO SSH 是在开放互联网上收听的最安全的东西之一。如果你真的很担心,让它监听一个非标准的高端端口。我在你的盒子和实际的互联网之间仍然有一个(设备级)防火墙,只是使用端口转发进行 SSH,但这是对其他服务的预防措施。SSH 本身非常可靠。

不得不让人打我家的SSH服务器偶尔(开放时代华纳有线)。从未产生过实际影响。

为了使 SSH 更安全,您可以做的一些其他事情是防止从家用计算机的同一 IP 地址重复尝试,例如

MaxStartups 2:30:10
Run Code Online (Sandbox Code Playgroud)

在 /etc/ssh/sshd_config 中,这将限制在成功登录之前可以连续创建多少个连接。

  • 可能是,一些 ISP 给你一个愚蠢的设备,一些带有内置防火墙的路由器。我只是想说,无论您采取什么预防措施,将通用操作系统直接放在 Internet 上都**绝不**是个好主意。你想要某种硬件设备(或类似 DD-WRT 的东西)在你和讨厌的人之间。 (2认同)

小智 10

使用 SSH 设置公钥身份验证系统非常简单,设置大约需要 5 分钟

如果您强制所有 SSH 连接都使用它,那么它将使您的系统具有您所希望的弹性,而无需在安全基础设施上投入大量资金。坦率地说,它是如此简单和有效(只要你没有 200 个帐户 - 那么它就会变得混乱),不使用它应该是一种公开的冒犯。

  • 要在设置后强制 SSH 连接使用公钥身份验证,请确保在 /etc/ssh/sshd_config 中关闭 ChallengeResponseAuthentication 和 PasswordAuthentication。我忘记了一次,这让我很遗憾(只有一次,再也不会)。 (3认同)

Cra*_*son 9

我也在 SSH 上运行了一个对世界开放的个人 git 服务器,我也有和你一样的暴力问题,所以我可以同情你的情况。

TheFiddlerWins 已经解决了在可公开访问的 IP 上打开 SSH 的主要安全隐患,但 IMO 应对暴力尝试的最佳工具是Fail2Ban - 监控您的身份验证日志文件、检测入侵尝试并将防火墙规则添加到机器的本地iptables防火墙。您可以配置禁止前的尝试次数以及禁止的长度(我的默认值为 10 天)。