2023-03-27
运维
0

目录

RSA SSH Host Key 是什么以及其在 GitHub 上的作用
事件发生的时间和经过
可能对GitHub 用户带来的风险
应对措施
参考

2023 年 3 月 23 日,GitHub 官方发布了一条公告,称他们的 RSA SSH Host Key 受到了泄露。这一消息引起了广泛的关注和担忧,因为 RSA SSH Host Key 是保障 SSH 连接安全的关键。在本文中,我们将深入探讨这一事件的起因、影响和应对措施。

RSA SSH Host Key 是什么以及其在 GitHub 上的作用

RSA SSH Host Key 通过使用公钥/私钥对来实现身份验证。当客户端首次连接到 SSH 服务器时,服务器会将其 RSA SSH Host Key 发送给客户端,客户端使用该公钥对该 RSA SSH Host Key 进行验证。如果验证成功,客户端将 RSA SSH Host Key 添加到其本地的“known_hosts”文件中,并将来连接到该服务器时使用该 RSA SSH Host Key 进行身份验证。

区别于本地的公钥/私钥,RSA SSH Host Key 用于验证 SSH 服务器的身份,而公钥/私钥对用于验证客户端的身份,有点像双向校验,可以有效的防止中间人攻击。

事件发生的时间和经过

Github官方发现RSA SSH Host Key 私钥在一个公共 GitHub 存储库中短暂地公开了。他们立即采取行动控制暴露,并开始调查,以了解根本原因和影响。

在3月24日世界时大约05:00时,出于谨慎,官方更换了用于保护 GitHub.com 的 Git 操作的 RSA SSH 主机密钥。这样做是为了保护用户免受任何对手模仿 GitHub 或通过 SSH 窃听他们的 Git 操作的机会。此密钥不授予对 GitHub 基础设施或客户数据的访问权限。此更改仅影响通过使用 RSA 的 SSH 进行的 Git 操作。

可能对GitHub 用户带来的风险

一旦RSA SSH Host Key泄露,攻击者就有可能冒充GitHub服务器,获取用户的敏感信息,进而危及用户的代码和账户的安全。以下是可能对开发者和GitHub用户带来的风险:

  1. 篡改代码:攻击者可能会利用RSA SSH Host Key的泄露,篡改开发者的代码,使得开发者提交的代码被修改或者添加恶意代码,从而导致开发者在不知情的情况下发布了不安全的代码。
  2. 窃取敏感信息:攻击者可能会利用RSA SSH Host Key的泄露,窃取开发者和GitHub用户的敏感信息,如用户名、密码、SSH私钥等。一旦敏感信息泄露,攻击者可能会利用这些信息进行恶意操作,如篡改代码、冒充用户进行恶意访问等。
  3. 拒绝服务攻击:攻击者可能会利用RSA SSH Host Key的泄露,进行拒绝服务攻击,使得GitHub服务器无法正常运行,影响开发者和用户的正常使用。

总之RSA SSH Host Key泄露可能会对开发者和GitHub用户带来严重的安全风险。

官方是这样回复的:请注意,这个问题不是任何 GitHub 系统或客户信息泄露的结果。相反,这次曝光是我们认为是无意中泄露了私人信息的结果。我们没有理由相信暴露的钥匙被滥用,并采取了这一行动出于充分的谨慎。

并且官方已经更换了RSA SSH Host Key,这将会导致我们的clone、push、pull等操作无法正常运行。

应对措施

Github官方修改SSH Host Key 以后,会导致用户无法使用SSH连接GitHub.com

如果在通过 SSH 连接到 GitHub.com 时看到以下消息,请继续阅读

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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 RSA key sent by the remote host is SHA256:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczCvj3tD2s. Please contact your system administrator. Add correct host key in ~/.ssh/known_hosts to get rid of this message. Host key for github.com has changed and you have requested strict checking. Host key verification failed.

在终端中运行以下命令:

bash
# 删除known_hosts文件中github.com条目,从而使下一次连接 github.com 时,客户端会重新验证 github.com 的 RSA SSH Host Key,以确保安全连接 ssh-keygen -R github.com # 更新本地 SSH 客户端的 known_hosts 文件,以确保在使用 SSH 连接到 GitHub 时,能够正确地验证 GitHub 的身份,并保证连接的安全性 curl -L https://api.github.com/meta | jq -r '.ssh_keys | .[]' | sed -e 's/^/github.com /' >> ~/.ssh/known_hosts

接着就可以愉快的往Github上面拉取、提交代码了。

参考

We updated our RSA SSH host key

本文作者:BARM

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!