我在路由器上使用了几台 RPi,它们具有端口 22 的端口转发功能,可连接到恶意互联网。当我使用 openSSH(Powershell:ssh username@ip-adress -p 12345)连接到 RPi 时,它会提示 raspberry 用户输入密码。
密码包含小写和大写字母、数字和符号,长度超过15个字符。
问题:
这种登录方法的安全性如何?如果安全性较差,我该如何以正确的方式确保其安全?
RPi 可以完全访问我家中的所有网络设备,包括包含敏感数据的驱动器。这就是为什么安全真的很重要。
答案1
这是相当安全的,但你可以做得更好。当前解决方案的局限性包括需要保持警惕以防止中间人攻击、单层保护以及暴露您在机器后面运行多个 ssh 目标。您的安全性还受限于密码的强度 - 虽然表面上看起来还行,但有很多易受攻击的长密码,如果您的密码以任何方式被泄露,游戏就结束了。
如果您从使用密码迁移到基于密钥的设置并使用密码/密码短语来保护您的私钥,那么您将拥有更安全的设置。
如果您想进一步加强安全性,“黄金标准”是在路由器上运行 VPN,然后通过 VPN 登录(再次使用公钥/私钥或共享密钥系统),然后再通过 VPN 登录 ssh。这将消除端口转发和向外界通告 ssh 正在运行的情况,同时提供额外的保护层。
添加防火墙仅允许来自 rfc1918(私有地址 - 因此跨越 vpn)的连接将提供另一层安全性并进一步降低 mitm 攻击的风险。
我想说的是,使用端口 12345 而不是端口 22 只能提供最小的保护 - 任何对您的 IP 进行端口扫描的人都会发现您暴露了多个 openssh 实例。
答案2
在像您这样的设置中,这通常与连接机器一样安全。
这是您输入和存储凭证的地方,也是您的凭证可能被窃取的地方。
除此之外,OpenSSH 远程可利用漏洞很少见,而且很快就会得到修补。请确保不要在两端使用过时的版本。
根据风险,您可能需要改进以下方面:
- 使用公钥或双因素(公钥+密码)身份验证。
- 使用存储在硬件令牌中的公钥(特别好,因为大多数 Windows 机器可以安全地被视为“被攻击”)。
- 使用专用(非 Windows)机器登录。
- 设置一些反馈(例如,每当有人登录你的 Pi 时都会收到一封电子邮件)
- 订阅分发 openssh 安全公告的邮件列表,并在发布时迅速采取行动。
- 为路由器设置 VPN。请注意,配置错误的 VPN 本身可能是一种攻击媒介。
- 使用您的路由器(如果其上可用 ssh)作为跳转主机,并使用 ssh 端口重定向而不是目标 NAT。
- 使用端口敲击技术。有助于保持日志干净,但由于互联网连接中意外的端口过滤而导致无法登录,这可能会适得其反。
请注意,无论您做什么,您的 ssh 端口最终都会被众多收集互联网信息的机器人发现,并不断受到登录尝试的攻击。如果您的 Pi 记录了所有这些尝试,您将获得充满这些尝试的长日志,这些尝试可能会填满可用空间。