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

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

1_看圖王.png11.png

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

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

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

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

1

哪些工作流受到影響?

命令行Git訪問

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

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

以下客戶不受此項(xiàng)變更的影響:

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

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

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

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

2

變更背景

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

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

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

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

在2021年8月13日之后,當(dāng)針對Git操作進(jìn)行身份驗(yàn)證時(shí),GitHub將不再接受純賬戶加密碼形式,即強(qiáng)制要求您使用基于令牌的認(rèn)證機(jī)制。

GitHub表示:

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

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

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

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

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

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

3

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

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

對于集成商,您必須在2021年8月13日之前使用Web或設(shè)備授權(quán)流程對集成方案進(jìn)行身份驗(yàn)證,以避免業(yè)務(wù)受到影響。關(guān)于更多詳細(xì)信息,請參閱授權(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/

啟用雙因素身份驗(yàn)證

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

4

兩輪預(yù)演

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

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

時(shí)間表

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

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

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

參考文章:

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

THEEND

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

更多
暫無評論