GitHub新規(guī):Git操作的身份驗證將放棄密碼,改用令牌或SSH密鑰

萬佳、核子可樂
上周,Github發(fā)布了2020年度開發(fā)者報告。報告顯示,自2008年推出以來,GitHub已經(jīng)成為互聯(lián)網(wǎng)上最大的項目管理和開源協(xié)作平臺,到今年為止,社區(qū)已經(jīng)擁有5600萬開發(fā)者,去年這個數(shù)據(jù)是4000萬。假設(shè)保持這樣的增長速率,GitHub用戶預(yù)計將在2025年達到一個億。2020年,開發(fā)人員共創(chuàng)建了6000萬個新repo庫,相比去年增加了35%。

1_看圖王.png11.png

12月15日,GitHub在官方博客宣布:

從2021年8月13日開始,在GitHub.com上執(zhí)行Git操作時,不再接受以賬戶密碼的形式完成身份驗證。

換言之,如果此后,開發(fā)者再使用密碼去完成身份驗證,那將無法通過,也就不能進一步執(zhí)行Git操作。

據(jù)悉,在今年7月,GitHub宣布將在所有需要身份驗證的Git操作中使用基于令牌的驗證機制,比如個人訪問、OAuth或者GitHub App安裝令牌。如果您目前正在使用密碼通過GitHub.com對Git操作進行身份驗證,則將很快收到一封電子郵件,敦促您更新身份驗證方法或第三方客戶端。

1

哪些工作流受到影響?

命令行Git訪問

使用Git的桌面應(yīng)用程序(GitHub Desktop不受影響)

使用您的密碼直接訪問GitHub.com上各Git repo的一切應(yīng)用程序/服務(wù)

以下客戶不受此項變更的影響:

如果您為賬戶啟用了雙因素身份驗證(2FA),則代表已經(jīng)在使用基于令牌或SSH的方式進行身份驗證。

如果您使用GitHub Enterprise Server,此本地產(chǎn)品尚未就身份驗證做出更改。

如果您已經(jīng)擁有GitHub App,其之前就已經(jīng)不支持密碼驗證方式。

https://docs.github.com/en/developers/apps/about-apps#about-github-apps

2

變更背景

上周,Github發(fā)布了2020年度開發(fā)者報告。報告顯示,自2008年推出以來,GitHub已經(jīng)成為互聯(lián)網(wǎng)上最大的項目管理和開源協(xié)作平臺,到今年為止,社區(qū)已經(jīng)擁有5600萬開發(fā)者,去年這個數(shù)據(jù)是4000萬。假設(shè)保持這樣的增長速率,GitHub用戶預(yù)計將在2025年達到一個億。2020年,開發(fā)人員共創(chuàng)建了6000萬個新repo庫,相比去年增加了35%。

毫無疑問,隨著GitHub規(guī)模和社區(qū)影響力的不斷變大,安全變得越來越重要。

為此,GitHub推出了一系列安全增強功能,來幫助用戶提升安全水平,比如雙因素身份驗證、登錄警報、認證設(shè)備、防止使用已泄露的密碼以及支持WebAuth等等。在這些功能的支持下,攻擊者將更難于獲得已經(jīng)被用于多個網(wǎng)站的重復(fù)密碼,無法單純借此完成密碼撞庫。

但是,出于一些歷史原因,未啟用雙因素身份驗證的客戶仍能夠單純使用GitHub用戶名及密碼以驗證Git及API操作。

在2021年8月13日之后,當針對Git操作進行身份驗證時,GitHub將不再接受純賬戶加密碼形式,即強制要求您使用基于令牌的認證機制。

GitHub表示:

您可以使用個人訪問令牌(對于開發(fā)人員)、OAuth或者GitHub App安裝令牌(對于集成商)在GitHub.com上完成一切需要身份驗證的Git操作。當然,您也可以繼續(xù)使用SSH密鑰。

據(jù)悉,與基于密碼的傳統(tǒng)身份驗證機制相比,令牌保護具有以下安全優(yōu)勢:

唯一——令牌將權(quán)限于GitHub使用,可按使用次數(shù)或按設(shè)備生成。

可撤銷——令牌可以隨時被單獨撤銷,且無需更新未受影響的其他憑證。

受限——令牌的使用范圍可以得到嚴重控制,例如僅允許執(zhí)行用例中需要的訪問活動。

隨機——令牌的復(fù)雜度遠高于您需要硬性記憶并定期輸入的簡單密碼,因此不受字典或暴力破解等行為的影響。

3

開發(fā)者當下需要做些什么?

對于開發(fā)者們,如果您正在使用密碼以通過GitHub.com驗證Git操作,則必須在2021年8月13日之前開始通過HTTPS(推薦)或SSH密鑰使用個人訪問令牌,以避免業(yè)務(wù)受到影響。如果收到警告,則代表您正在使用已經(jīng)過時的第三方集成,請盡快將客戶端更新為最新版本。

對于集成商,您必須在2021年8月13日之前使用Web或設(shè)備授權(quán)流程對集成方案進行身份驗證,以避免業(yè)務(wù)受到影響。關(guān)于更多詳細信息,請參閱授權(quán)OAuth應(yīng)用以及開發(fā)者博客上的相關(guān)公告。

https://docs.github.com/en/developers/apps/authorizing-oauth-apps

https://developer.github.com/changes/2020-02-14-deprecating-password-auth/

啟用雙因素身份驗證

要確保您的賬戶不允許基于密碼的身份驗證,請立即為賬戶啟用雙因素身份驗證機制。具體來講,您需要通過Git及第三方集成將個人訪問令牌應(yīng)用于一切經(jīng)過身份驗證的操作。

4

兩輪預(yù)演

為了確保所有受到影響的客戶都明確知曉本次驗證機制變更,GitHub計劃通過兩輪預(yù)演暫停對密碼認證的支持,屆時用戶將無法使用密碼執(zhí)行Git操作。預(yù)演活動計劃于以下日期及時段內(nèi)進行:

2021年6月30日

7:00 AM UTC–10:00 AM UTC

4:00 PM UTC–7:00 PM UTC

2021年7月28日

7:00 AM UTC–10:00 AM UTC

4:00 PM UTC–7:00 PM UTC

時間表

今天——如果您目前正在使用密碼通過GitHub.com對Git操作進行身份驗證,則將很快收到一封電子郵件,敦促您更新身份驗證方法或第三方客戶端。

2021年6月30日及7月28日——所有Git操作都將暫時性要求使用令牌(或SSH密鑰)驗證,以鼓勵受到影響的客戶及時更新其身份驗證方法。

2021年8月13日——全部Git操作都需要使用令牌(或SSH密鑰)完成身份驗證。

參考文章:

https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論