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

還在用賬戶 + 密碼對 GitHub 上的 Git 操作進行身份驗證?趕緊整個 token(令牌)或 SSH 密鑰吧!8 月 14 號 0 點(8 月 13 日 9:00 PST)開始,在 GitHub 上執行 Git 操作就會導致失敗。GitHub 官方表示,這一舉措是為了提高 Git 操作的安全性,防止密碼撞庫等事情發生。

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

哪些操作會受影響

簡單來說,如果你還在用賬密驗證 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 就推出了雙因素身份驗證、登錄警報、設備認證、防用泄露密碼及支持 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/

(0)
上一篇 2021-08-14 15:51
下一篇 2021-08-14 15:51

相关推荐