首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【送书活动四期】被GitHub 要求强制开启 2FA 双重身份验证,我该怎么办?

【送书活动四期】被GitHub 要求强制开启 2FA 双重身份验证,我该怎么办?

作者头像
鲲志说
发布2025-04-07 21:53:23
发布2025-04-07 21:53:23
3K0
举报

记得是因为fork了OpenZeppelin/openzeppelin-contracts的项目,之后就被GitHub 要求强制开启 2FA 双重身份验证了,一拖再拖,再过几天帐户操作将受到限制了,只能去搞一下了

为了提高软件供应链的整体安全性,GitHub 重磅宣布,在 2023 年之前,所有使用 GitHub 平台存储代码、做贡献的开发者都需要启动一种或多种形式的双因素身份验证(2FA),否则将无法正常使用该平台。 对此,GitHub 首席安全官(CSO)Mike Hanley 表示,软件供应链的起点是开发者。开发者账户经常会成为社会工程和账户接管的目标,保护开发者免受这些类型的攻击是保护供应链安全的第一步,也是最关键的一步。

2FA是什么

2FA 的英文全名是 Two-factorauthentication,即双因子认证,或称为双重身份验证,是一种最常用多因子认证(MFA)方式。 顾名思义,2FA是一种身份验证方法,它要求用户提供密码和另一个认证因子或者至少提供两个认证因子(代替密码),才能访问网站、应用程序或网络。例如,网上银行应用程序要求用户输入密码和通过短信发送到手机上的验证码时,就使用了2FA。

简单说:双重身份验证 (2FA) 是登录网站或应用时使用的额外保护层。

由于破解第二个认证因子需要付出更多,并且其他类型的因子更难以窃取或伪造,因此 2FA 可提高帐户安全性,并更好地保护组织及其用户免遭未经授权的访问。


为什么要开启 2FA 验证

简单来说就是为了安全,我们常遇到的很多安全漏洞并非是来自非常复杂的攻击事件亦或是零日漏洞,相反,往往是涉及低成本的攻击,如社会工程、密码泄露等。

据 GitHub 博客报道,2021 年 11 月,由于未启用 2FA 的开发者账户遭到入侵,有不少 npm 包被接管。此外,早期也有不少安全研究人员透露,其可以直接访问 14% 的 npm 包(或者间接访问 54% 的包)。 还有媒体报道,曾被黑客入侵的 Microsoft 账户中,有 99.9% 未启用 2FA。 Mike Hanley表示,防止低成本攻击的最好方法是采取基于密码的基本认证方法之外的一些措施,当前 GitHub除了要求用户名、密码登录之外,还要求基于电子邮件的设备验证。如今,2FA 将是下一道防线。

虽然有很多场景已经验证了 2FA 的有效性,但 2FA 在整个软件生态系统中的采用率仍然很低。

GitHub 官方给出的解释

GitHub 是软件供应链的核心,确保软件供应链的安全要从保护开发人员开始。因此我们正在推进 2FA计划,通过提高账户安全性来保护软件开发。开发人员的账户是社会工程和账户接管(ATO)的常见目标。保护开源生态系统的开发人员和消费者免受此类攻击是确保供应链安全的第一步,也是最关键的一步。


GitHub 欲在整个平台推动 2FA!

从 2023 年 3 月开始到 2023 年底,GitHub 将逐渐开始要求在 GitHub.com 上贡献代码的所有用户启用一种或多种形式的双因素身份验证 (2FA)。 如果你在符合条件的组中,当选择该组进行注册时,将收到一封通知电子邮件,该电子邮件标志着 45 天的 2FA 注册期的开始,并且你会看到要求你在 GitHub.com 上注册 2FA 的横幅。 如果未收到通知,则表示你不是需要启用 2FA 的组的成员,但我们强烈建议启用 2FA。

我是在fork了OpenZeppelin/openzeppelin-contracts的项目,之后就被GitHub 要求强制开启 2FA 双重身份验证了,如下

GitHub users are now required to enable two-factor authentication as an additional security measure. Your activity on GitHub includes you in this requirement. You will need to enable two-factor authentication on your account before December 15, 2023, or be restricted from account actions.

大意是,GitHub 用户现在需要启用 2FA 双因素身份验证作为附加的安全措施,您需要在2023年12月15日之前在您的帐户上启用双因素身份验证,否则将被限制进行帐户操作。

GitHub 表示将渐进式推进 2FA 要求,首先从开发人员和管理员开始。这些用户会收到电子邮件提醒,会在网页版 GitHub 上看到横幅提示。开发人员有 45 天的时间来设置 2FA,之后会有一周的缓冲期,如果开发人员还不设置 2FA 将会限制账户访问。

确实我在11月24号就收到了,邮件通知,但是我能拖啊,一直拖到今天12月8号才要去搞一下


如何 配置2FA

看来不配置2FA是不行的,除非不用GitHub了,但是这个不现实啊

找到2FA配置页面

  1. 登录 GitHub
  2. 点击右上方头像
  3. 下拉列表中选择 Settings 进入设置页面
  4. 在该页面左侧点击 Password and authentication 选项卡
  5. 看到一个 Two-factor authentication 设置项,点击“Enable two-factor authentication”按钮
  6. 进入 2FA 配置页面。

可以看到如下页面:

2FA 配置操作

Set up using an app认证

目前 GitHub 支持 Set up using an app 和 Set up using SMS两种认证方式,由于中国大陆的手机号码无法接收短信,因此我们选择第一种方式,即使用 app 进行认证。页面如下

  • 官方推荐的密码管理 app 包括 1PasswordAuthyMicrosoft Authenticator 等,但都是国外软件
  • 当然你也可以使用浏览器插件来完成
  • 国内可以使用“神锁离线版”等 app,我就是使用的神锁离线版APP

神锁离线版APP如下

以 神锁离线版APP 为例,打开app,扫描页面上的二维码即可生成一个 2FA 码。 ⚠️:如果您使用的 app 或浏览器插件不能使用摄像头扫描,可以点击 enter this secret 获取一串字符,并将这串字符输入到 app 或浏览器插件,这样也能生成 2FA 码。

保存 recovery codes

验证成功后,点击 Continue 按钮进入下一步,在这里你需要保存你的 recovery codes,点击 Download 下载 github-recovery-codes.txt 文件。

一定要保存好!!!

2FA 配置成功

最后,点击“I have saved my recovery codes”按钮,一切顺利将出现如下页面,说明 2FA 已经配置成功。

下次登录 GitHub 的时候,就会要求您进行 2FA 验证才能登录成功。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 2FA是什么
  • 为什么要开启 2FA 验证
  • GitHub 欲在整个平台推动 2FA!
  • 如何 配置2FA
    • 找到2FA配置页面
    • 2FA 配置操作
      • Set up using an app认证
      • 保存 recovery codes
      • 2FA 配置成功
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档