GitHub防駭客新措施:棄用賬密驗證Git操作,改用token或SSH金鑰

蕭簫 發自 凹非寺

量子位 報道 | 公眾號 QbitAI

還在用

賬戶+密碼

對GitHub上的Git操作進行身份驗證?

趕緊整個token(令牌)或SSH金鑰吧!

GitHub防駭客新措施:棄用賬密驗證Git操作,改用token或SSH金鑰

8月14號0點(8月13日9:00 PST)開始,在GitHub上執行Git操作就會導致失敗。

GitHub官方表示,這一舉措是為了提高Git操作的安全性,防止密碼撞庫等事情發生。

哪些操作會受影響?

簡單來說,如果你還在用賬密驗證Git操作,這些行為都會受到影響:

命令列

Git訪問

採用Git的

桌面應用程式

(GitHub Desktop不受影響)

賬密訪問GitHub上

Git repo

的一切應用程式/服務

這些使用者

不會

受影響:

已經採用token或SSH金鑰方式驗證,即啟用雙因素身份驗證(2FA)的使用者

使用GitHub Enterprise Server本地產品的使用者(該產品尚未對此進行更改)

使用GitHub App的使用者,此前已經不支援賬密驗證

當然,大部分經常使用Git的使用者應該都已經知道這件事了。

在今年6月30號(15~18時)、7月1號(0~3時)、7月28號(15~18時)和29號(0~3時),GitHub已經針對這件事進行了預演,所有Git操作都被要求用token或SSH金鑰驗證。

現在,這項舉措已經變成一個

永久措施

GitHub究竟為什麼要這樣做呢?

token和SSH金鑰安全在哪裡?

首先需要了解,只用賬戶和密碼進行身份驗證會有什麼隱患。

網際網路上,每天都有大量網站遭受駭客攻擊,導致資料外洩,這些資料中就包括不少使用者的賬號密碼。

拿到賬號密碼後,駭客會用它們試著登入其他網站,也就是所謂的

密碼撞庫

簡單來說,如果你ABC網站用的是一套賬戶密碼,在A網站的密碼被洩露後,BC網站也可能會被盜號。

GitHub防駭客新措施:棄用賬密驗證Git操作,改用token或SSH金鑰

為了防止密碼撞庫,網站會採取更多手段驗證身份資訊,像GitHub就推出了雙因素身份驗證、登入警報、裝置認證、防用洩露密碼及支援WebAuth等措施。

雙因素身份驗證,是指在秘密資訊(密碼等)、個人物品(身份證等)、生理特徵(指紋/虹膜/人臉等)這三種因素中,同時用兩種因素進行認證的過程。

現在,GitHub開始強制使用者採用token或SSH金鑰進行身份驗證。相比於賬密,這兩者的安全性顯然更高:

唯一性:僅限GitHub使用,根據裝置/使用次數生成

可撤銷性:可隨時被單獨撤銷,其他憑證不受影響

區域性:使用範圍可控,只允許在部分訪問活動中執行

隨機性:不受撞庫影響,比賬密複雜度更高

那麼,token和SSH金鑰之間,哪個更合適呢?

雖然目前GitHub官方推薦的是token,因為它設定更為簡單,不過相比之下,SSH金鑰的安全性要更高一些。

還沒有設定token或SSH金鑰的Git使用者,可以戳官方教程整起來了~

GitHub設定教程:

[1]https://docs。github。com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token

[2]https://docs。github。com/en/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

參考連結:

[1]https://github。blog/changelog/2021-08-12-git-password-authentication-is-shutting-down/

[2]https://www。theregister。com/2021/08/12/git_proxyshell_gigabyte/