我对这类东西还很陌生,想排除中间人攻击。
我通过 SSH 从 Windows 10 PC 连接到 Raspberry Pi 4,在我的 LAN 内,我收到了此消息。我是系统管理员,所以没有人可以检查。
我发现了很多关于如何解决该问题的帖子,但我想知道在修复它之前我应该做些什么来真正排除(或确认)攻击。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:0xgFiU5j9W2WgyurDOgORf+qeFQoHf0YE6G92KnrduY.
Please contact your system administrator.
Add correct host key in C:\\Users\\JamesAlesi/.ssh/known_hosts to get rid of this message.
Offending RSA key in C:\\Users\\JamesAlesi/.ssh/known_hosts:2
ECDSA host key for 192.168.1.123 has changed and you have requested strict checking.
Host key verification failed.
答案1
一般来说,你采取的方法总是相同的:通过攻击者无法获取的渠道验证密钥的指纹。不可能已经操纵。
例如,在我以前就读的大学,你可以去计算中心前台拿一张传单,上面列有所有重要密钥和证书的指纹。如果服务器是你认识的朋友的服务器,你可以打电话给他们,让他们读指纹给你。如果服务器是托管的,一些更注重安全的托管服务提供商可能会主动将指纹邮寄给你。
要点是:敌我识别区您有理由相信您的网络连接已被破坏,那么请尝试在不使用网络的情况下获取指纹。
对于您的 Raspberry Pi,有几个非常简单的选项:
- 只需将一根网线从您的计算机直接连接到 Raspberry Pi 即可。轰:再也没有“中间”可防止有人发起中间人攻击了。
- 从 PC 连接到 Pi 的串行控制台并直接登录控制台。轰:甚至连网络都没有了。
- 将 USB 键盘和 HDMI 显示器插入您的 Pi 并直接登录控制台。
- 取出 SD 卡(或 USB 记忆棒或任何启动介质),在您的电脑上安装 ext2 文件系统(如果您不运行 Linux,您可能需要额外的软件,或者您可以启动 Linux LiveCD),然后在 中检查密钥
/etc/ssh/ssh_host_ecdsa_key
。
这回答了有关如何验证主机密钥的更具体的问题。现在回答您更一般的问题:
我对这类东西还很陌生,想排除中间人攻击。
为了对您的 LAN 发起中间人攻击,攻击者需要物理访问您的 LAN 基础设施。因此,如果您想排除中间人攻击,您可以直接跟踪您的电缆并寻找“中间人”,即您不认识的设备。不过要小心:这样的设备可能很小而且隐藏得很好。
您还可以检查门锁或家里其他入口(窗户等)是否有被盗的迹象。
现在,您可以进行合理性分析:更有可能的是,有人闯入您的家中并在您不知情的情况下在您的 LAN 中安装了设备,只是为了查看您对 Raspberry Pi 的操作?或者更有可能的是 192.168.1.123 之前已分配给其他设备(或者您更新或重新安装或重新配置了 Pi),并且旧密钥仍缓存在您的 PC 上?
但是,如果我们谈论的是 WiFi,那么中间人攻击确实不是需要物理访问。因此,有人能够在你不知情的情况下发起此类攻击的可能性就更大了。然而,问题仍然存在:攻击者想要嗅探你和你的 Pi 之间的连接做什么?
同样,如果你的局域网上的任何设备也连接到不同的网络(WiFi、邻居网络、互联网),那么该设备可能会通过以下方式受到攻击:那网络,从而使攻击者能够访问您的 LAN。
正如上面的评论中提到的那样,被入侵的 Raspberry Pi 很有价值,但任何有能力的攻击者都知道以不改变主机密钥的方式来入侵它。
答案2
首次连接到任何主机时,SSH 都会保存其标识信息。如果此标识将来发生变化,则会显示此消息。
例如,在重新安装目标系统、将其替换为另一个与您用于连接的 IP/主机名相同的系统或重新生成系统的服务器 SSH 密钥后,可能会发生这种情况。如果这听起来像您最近做的事情,那就是原因。
也可能是有人拦截了您的连接(并实际发送了他们的身份信息),但在局域网中这种情况不太可能发生。
答案3
从您通常用来登录 Raspberry Pi 的机器登录。记下密钥。确认指纹正确。
如果您从未设置任何安全方式从任何位置登录 Raspberry Pi,那么您就没有安全方式。下次,请在设置机器时这样做。例如,在设置操作系统时从控制台拍摄密钥指纹的照片。
答案4
您没有受到黑客攻击。
为什么有人想要通过个人局域网 (LAN) 来“中间人”访问 Raspberry Pi 呢?
“…我想知道在修复之前我应该怎么做才能真正排除(或确认)攻击。”
有人通过 Raspberry Pi 在您的 LAN 内对您进行“中间人”攻击的可能性微乎其微。如果他们以某种方式侵入了您的 LAN,并且您有一台他们可以进入的 Windows 机器,那么他们这样做有什么好处呢?
任何人进行“中间人攻击”的主要原因是获取数据(例如凭证等),然后利用这些数据肆意妄为。他们获取了 Raspberry Pi 的一些凭证,这会导致什么结果?除非你的 Raspberry Pi 以某种方式进行金融交易等,但我对此表示怀疑。
更可能的情况是,您在 Raspberry Pi 上重新安装了操作系统,这会改变标识签名,最终导致您遇到的情况。因为这通常是发生此类标识不匹配的原因;某些东西改变了标识。
在非 Raspberry Pi 世界中,如果您将系统磁盘从一台机器交换到另一台机器(例如在硬件升级等情况下),就会发生这种情况,而且在虚拟机等安装/删除系统非常容易的情况下,这种情况更常发生。
至于以某种方式给你提供一些你可以自己确认的方法列表,老实说,根据我概述的常识评估,这实际上是不可能的。