自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

針對(duì)GitHub的八項(xiàng)安全實(shí)踐

譯文
安全
本文和您討論GitHub用戶需要遵循的八種安全實(shí)踐,以方便您為自己的代碼保駕護(hù)航。

【51CTO.com快譯】GitHub可謂世界上最大、最受歡迎的社交開(kāi)發(fā)平臺(tái)。根據(jù)其《2019年Octoverse的態(tài)勢(shì)報(bào)告》(請(qǐng)參見(jiàn)-- https://octoverse.github.com/):GitHub當(dāng)時(shí)擁有超過(guò)4000萬(wàn)名用戶,而且該社區(qū)每天都在不斷地壯大。

由于各類開(kāi)發(fā)人員頻繁地使用由該平臺(tái)所提供的開(kāi)源代碼去構(gòu)建軟件,那么大量可以被重復(fù)使用的代碼往往會(huì)增加漏洞從一個(gè)依賴項(xiàng)或存儲(chǔ)庫(kù),遷移到另一個(gè)依賴項(xiàng)或存儲(chǔ)庫(kù)的潛在風(fēng)險(xiǎn)??梢?jiàn),基于此類高度互連性,Github平臺(tái)及內(nèi)容的安全性顯得尤為重要。每個(gè)貢獻(xiàn)者和用戶都應(yīng)當(dāng)專注于創(chuàng)建安全可靠的開(kāi)發(fā)環(huán)境。

下面,我將和您討論針對(duì)代碼安全防護(hù)的八項(xiàng)實(shí)踐。GitHub用戶可以根據(jù)實(shí)際情況進(jìn)行對(duì)標(biāo)和實(shí)現(xiàn)。

加強(qiáng)訪問(wèn)控制

實(shí)施適當(dāng)?shù)脑L問(wèn)控制是增強(qiáng)安全性的最佳實(shí)踐之一。這不僅僅體現(xiàn)在GitHub上,對(duì)于任何需要保障代碼安全性的環(huán)境皆是如此。

目前,GitHub提供了多種選項(xiàng),讓用戶減少不當(dāng)?shù)男孤╋L(fēng)險(xiǎn)。其中,我們最常用的當(dāng)屬最小特權(quán)(least privilege)模型。該模型僅向用戶授予基本必要的權(quán)限。如下是我們?cè)谑褂眠^(guò)程中,需要遵循的各種基本訪問(wèn)控制準(zhǔn)則:

  • 限制存儲(chǔ)庫(kù)的創(chuàng)建,以防止用戶在公共存儲(chǔ)庫(kù)中公開(kāi)其組織的相關(guān)信息。
  • 啟用分支保護(hù)和狀態(tài)檢查,以確保用戶可以合并各種提交或安全地操作分支。
  • 禁用或有條件地允許fork私有存儲(chǔ)庫(kù),以確保用戶不會(huì)暴露或向未經(jīng)授權(quán)方共享所在組織的代碼。
  • 撤消那些不再屬于貢獻(xiàn)者的、所有非活動(dòng)用戶的訪問(wèn)權(quán)限。
  • 定期檢查對(duì)GitHub項(xiàng)目的訪問(wèn)權(quán)限。
  • 確保用戶不會(huì)共享GitHub帳戶或密碼。
  • 確保每個(gè)貢獻(xiàn)者在其帳戶上啟用雙因素身份驗(yàn)證。
  • 定期更換個(gè)人訪問(wèn)的令牌和SSH密鑰。

永遠(yuǎn)不要在您的GitHub文件中存儲(chǔ)密鑰

您是否注意到:代碼、配置文件或提交的消息,都可能成為被攻擊的網(wǎng)關(guān),向其他GitHub存儲(chǔ)庫(kù)泄露機(jī)密信息。

為了防止敏感數(shù)據(jù)被添加到存儲(chǔ)庫(kù)中,請(qǐng)考慮使用諸如git-secrets(請(qǐng)參見(jiàn)--https://github.com/awslabs/git-secrets)或vault(請(qǐng)參見(jiàn)--https://www.vaultproject.io/)之類的密鑰管理工具。這些工具會(huì)掃描您的代碼庫(kù),并在代碼或配置文件中檢測(cè)到敏感信息時(shí),立即終止構(gòu)建。

您也許會(huì)在意識(shí)到GitHub存儲(chǔ)庫(kù)里有敏感信息泄漏時(shí),立即將其刪除。但是,GitHub會(huì)在您的存儲(chǔ)庫(kù)中保留所有提交的歷史記錄。因此僅刪除數(shù)據(jù)是遠(yuǎn)遠(yuǎn)不夠的,您需要從GitHub存儲(chǔ)庫(kù)的歷史記錄中清除掉相應(yīng)的文件(請(qǐng)參見(jiàn)--https://help.github.com/articles/removing-sensitive-data-from-a-repository/)。

同時(shí),為了提高安全性,您也需要將那些已經(jīng)泄露出去的密鑰(包括:密碼和令牌),及時(shí)設(shè)置為失效狀態(tài)。

為脆弱的依賴項(xiàng)啟用安全警報(bào)

隨著從事的項(xiàng)目越來(lái)越多,GitHub用戶會(huì)發(fā)現(xiàn)他們?cè)絹?lái)越難管理好紛繁復(fù)雜的依賴關(guān)系。不過(guò)幸運(yùn)的是,GitHub為您提供了自動(dòng)化安全警報(bào)的機(jī)制,可以幫助您檢測(cè)到存儲(chǔ)庫(kù)中脆弱的依賴項(xiàng)。

Github安全實(shí)踐

(源自https://github.blog/2019-12-11-behind-the-scenes-github-vulnerability-alerts/)

如上圖所述,GitHub安全警報(bào)源自(美國(guó))國(guó)家漏洞數(shù)據(jù)庫(kù)(NVD,https://nvd.nist.gov/),GitHub安全公告(GitHub Security Advisories,https://github.com/advisories)和WhiteSource漏洞數(shù)據(jù)庫(kù)。它們提供了200多種語(yǔ)言的漏洞數(shù)據(jù)。通過(guò)GitHub上提供的實(shí)時(shí)安全警報(bào)服務(wù),用戶可以更加安全地使用各種開(kāi)源庫(kù)。

驗(yàn)證GitHub應(yīng)用程序

GitHub的市場(chǎng)里包含了豐富的由第三方開(kāi)發(fā)人員和組織所編寫的應(yīng)用程序。我們往往需要仔細(xì)驗(yàn)證那些被添加到GitHub存儲(chǔ)庫(kù)中的每個(gè)應(yīng)用程序。也就是說(shuō),在安裝GitHub應(yīng)用程序時(shí),請(qǐng)注意遵循以下規(guī)范:

  • 強(qiáng)制執(zhí)行最小特權(quán)原則。切勿向應(yīng)用程序授予超出其要求的訪問(wèn)權(quán)限。
  • 對(duì)應(yīng)用請(qǐng)求的訪問(wèn)權(quán)限始終保持謹(jǐn)慎的態(tài)度,要及時(shí)考慮到授予某項(xiàng)訪問(wèn)權(quán)限可能帶來(lái)的損害。
  • 在給GitHub的訪問(wèn)主體授權(quán)時(shí),請(qǐng)進(jìn)行背景檢查,以確保應(yīng)用程序背后的組織或開(kāi)發(fā)人員合法且可信。
  • 需要驗(yàn)證應(yīng)用程序的安全狀態(tài)是否可靠,以避免整體的安全態(tài)勢(shì)遭受破壞。

根據(jù)木桶原理,應(yīng)用程序的安全性取決于其最薄弱的鏈接,而GitHub存儲(chǔ)庫(kù)也是如此。因此,在授予應(yīng)用程序?qū)Υ鎯?chǔ)庫(kù)的恰當(dāng)訪問(wèn)權(quán)限之前,請(qǐng)務(wù)必驗(yàn)證它的來(lái)源,以確保其真實(shí)可信。

審核所有導(dǎo)入GitHub的代碼

開(kāi)發(fā)人員往往需要將外部代碼導(dǎo)入GitHub中。那么,請(qǐng)?jiān)诿看螌?dǎo)入項(xiàng)目時(shí),務(wù)必考慮對(duì)源代碼執(zhí)行完整性審核。這看上去非常繁瑣,甚至對(duì)于一些較小的項(xiàng)目來(lái)說(shuō)有些吹毛求疵,但是這是一種非常好的安全實(shí)踐,可以在源頭上避免向存儲(chǔ)庫(kù)中引入潛在的安全漏洞。

向GitHub導(dǎo)入代碼可能帶來(lái)的另一個(gè)風(fēng)險(xiǎn)是:代碼中可能包含諸如密碼之類的敏感信息。而如果將其存儲(chǔ)到GitHub文件中,那么就會(huì)提高應(yīng)用的整體風(fēng)險(xiǎn)值。可見(jiàn),我們?cè)趯⒋a推送到GitHub之前,必須進(jìn)行安全態(tài)勢(shì)的審核與評(píng)估,以便發(fā)現(xiàn)其中的安全風(fēng)險(xiǎn)點(diǎn)。

值得一提的是:在被導(dǎo)入的過(guò)程中,代碼實(shí)際上是從一種封閉的環(huán)境,轉(zhuǎn)換到了一種可以被相互調(diào)用和影響的環(huán)境中。因此,環(huán)境的變化也會(huì)促使我們重新進(jìn)行安全關(guān)系和執(zhí)行層面上的審查。

對(duì)存儲(chǔ)庫(kù)使用自動(dòng)靜態(tài)源代碼分析

您可以使用多種第三方工具,來(lái)分析存儲(chǔ)庫(kù)中的安全漏洞。其中最為常用的一種工具是WhiteSource Bolt(請(qǐng)參見(jiàn)--https://bolt.whitesourcesoftware.com/),該工具可以在GitHub市場(chǎng)中免費(fèi)獲取到。

WhiteSource Bolt為GitHub檢測(cè)到的漏洞

WhiteSource Bolt通過(guò)掃描您的存儲(chǔ)庫(kù),以檢測(cè)出所有開(kāi)源組件中的漏洞。與此同時(shí),它還能提供詳細(xì)的漏洞信息,以及對(duì)應(yīng)的修復(fù)建議。

當(dāng)然,您也可以使用其他開(kāi)源的分析工具,對(duì)目標(biāo)GitHub存儲(chǔ)庫(kù)開(kāi)展自動(dòng)化的,源代碼級(jí)的安全分析。

根據(jù)組織的需求,選擇合適的GitHub產(chǎn)品

大多數(shù)組織,特別是政府部門和金融機(jī)構(gòu),都會(huì)通過(guò)規(guī)定來(lái)限制其開(kāi)發(fā)團(tuán)隊(duì)使用GitHub之類的社交開(kāi)發(fā)平臺(tái),以防止其他方通過(guò)平臺(tái)訪問(wèn)到本組織的源代碼。

如果貴組織確有此項(xiàng)嚴(yán)格的規(guī)定,那么請(qǐng)考慮使用GitHub Enterprise(請(qǐng)參見(jiàn)--https://enterprise.github.com/home)。它允許用戶在內(nèi)部托管的GitHub存儲(chǔ)庫(kù)環(huán)境中執(zhí)行各項(xiàng)操作。此舉既允許內(nèi)部開(kāi)發(fā)團(tuán)隊(duì)訪問(wèn)到手頭所有的項(xiàng)目,又不必?fù)?dān)心被GitHub上的其他用戶所“剽竊”到,因此,企業(yè)軟件開(kāi)發(fā)包會(huì)得到更加安全的保護(hù)。

為您的項(xiàng)目采用全面的安全策略

常言道,安全是一項(xiàng)集體的責(zé)任。如果您是一名企業(yè)安全經(jīng)理,那么當(dāng)務(wù)之急就是實(shí)施那些能夠讓所有利益相關(guān)者都應(yīng)遵循的安全策略。理想情況下,您應(yīng)該在計(jì)劃階段,就將安全和開(kāi)發(fā)團(tuán)隊(duì)召集在一起,以確保他們能夠通力協(xié)作。這樣,在項(xiàng)目的開(kāi)發(fā)過(guò)程中,實(shí)施安全控制將會(huì)變得更加容易。而隨著人員意識(shí)的提高,各種所謂在存儲(chǔ)庫(kù)中直接存儲(chǔ)密碼的行為,也就不會(huì)頻繁出現(xiàn)。

此外,通過(guò)清晰的記錄,團(tuán)隊(duì)成員還可以及時(shí)報(bào)告,并協(xié)同解決存儲(chǔ)庫(kù)中暴露的各項(xiàng)安全問(wèn)題。

總結(jié)

每位開(kāi)發(fā)人員都應(yīng)當(dāng)專注于保護(hù)自己的代碼,以及在GitHub中的安全問(wèn)題。上述提供的各項(xiàng)安全實(shí)踐,值得您和您的團(tuán)隊(duì)在開(kāi)發(fā)過(guò)程中,持續(xù)嘗試與踐行。

您可以在使用GitHub原生安全服務(wù)的同時(shí),實(shí)施適當(dāng)?shù)纳矸蒡?yàn)證和訪問(wèn)控制,并通過(guò)集成其他工具的方式,來(lái)增強(qiáng)開(kāi)發(fā)工作流程中的安全態(tài)勢(shì)。當(dāng)然,您也可以通過(guò)查看GitHub業(yè)務(wù)安全性(請(qǐng)參見(jiàn)--https://github.com/business/security)和GitHub安全性文檔(請(qǐng)參見(jiàn)--https://help.github.com/articles/github-security/),來(lái)獲取有關(guān)如何保護(hù)GitHub上程序代碼的更多信息。

原標(biāo)題:Stay Safe on GitHub: Security Practices to Follow ,作者:Dickson Mwendia

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:趙寧寧 來(lái)源: 51CTO
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)