查如果你的日常工作是開發者、系統管理員、全棧工程師或者是網站可靠性工程師(sre),工作內容包括使用 git 從 github 上推送、提交和拉取,并部署到亞馬遜 web 服務上(aws),安全性就是一個需要持續考慮的一個點。幸運的是,開源工具能幫助你的團隊避免犯常見錯誤,這些常見錯誤會導致你的組織損失數千美元。
本文介紹了四種開源工具,當你在 github 和 aws 上進行開發時,這些工具能幫助你提升項目的安全性。同樣的,本著開源的精神,我會與三位安全專家——travis mcpeak,奈飛高級云安全工程師;rich monk,紅帽首席高級信息安全分析師;以及alison naylor,紅帽首席信息安全分析師——共同為本文做出貢獻。
我們已經按場景對每個工具都做了區分,但是它們并不是相互排斥的。
1、使用 gitrob 發現敏感數據
你需要發現任何出現于你們團隊的 git 倉庫中的敏感信息,以便你能將其刪除。借助專注于攻擊應用程序或者操作系統的工具以使用紅/藍隊模型,這樣可能會更有意義,在這個模型中,一個信息安全團隊會劃分為兩塊,一個是攻擊團隊(又名紅隊),以及一個防守團隊(又名藍隊)。有一個紅隊來嘗試滲透你的系統和應用要遠遠好于等待一個攻擊者來實際攻擊你。你的紅隊可能會嘗試使用gitrob,該工具可以克隆和爬取你的 git 倉庫,以此來尋找憑證和敏感信息。
即使像 gitrob 這樣的工具可以被用來造成破壞,但這里的目的是讓你的信息安全團隊使用它來發現無意間泄露的屬于你的組織的敏感信息(比如 aws 的密鑰對或者是其他被失誤提交上去的憑證)。這樣,你可以修整你的倉庫并清除敏感數據——希望能趕在攻擊者發現它們之前。記住不光要修改受影響的文件,還要刪除它們的歷史記錄。
2、使用 git-secrets 來避免合并敏感數據
雖然在你的 git 倉庫里發現并移除敏感信息很重要,但在一開始就避免合并這些敏感信息豈不是更好?即使錯誤地提交了敏感信息,使用git-secrets可以避免你陷入公開的困境。這款工具可以幫助你設置鉤子,以此來掃描你的提交、提交信息和合并信息,尋找常見的敏感信息模式。注意你選擇的模式要匹配你的團隊使用的憑證,比如 aws 訪問密鑰和秘密密鑰。如果發現了一個匹配項,你的提交就會被拒絕,一個潛在的危機就此得到避免。
為你已有的倉庫設置 git-secrets 是很簡單的,而且你可以使用一個全局設置來保護所有你以后要創建或克隆的倉庫。你同樣可以在公開你的倉庫之前,使用 git-secrets 來掃描它們(包括之前所有的歷史版本)。
3、使用 key conjurer 創建臨時憑證
有一點額外的保險來防止無意間公開了存儲的敏感信息,這是很好的事,但我們還可以做得更好,就完全不存儲任何憑證。追蹤憑證,誰訪問了它,存儲到了哪里,上次更新是什么時候——太麻煩了。然而,以編程的方式生成的臨時憑證就可以避免大量的此類問題,從而巧妙地避開了在 git 倉庫里存儲敏感信息這一問題。使用key conjurer,它就是為解決這一需求而被創建出來的。有關更多 riot games 為什么創建 key conjurer,以及 riot games 如何開發的 key conjurer,請閱讀key conjurer:我們最低權限的策略。
4、使用 repokid 自動化地提供最小權限
任何一個參加過基本安全課程的人都知道,設置最小權限是基于角色的訪問控制的實現。難過的是,離開校門,會發現手動運用最低權限策略會變得如此艱難。一個應用的訪問需求會隨著時間的流逝而變化,開發人員又太忙了沒時間去手動削減他們的權限。repokid使用 aws 提供提供的有關身份和訪問管理(iam)的數據來自動化地調整訪問策略。repokid 甚至可以在 aws 中為超大型組織提供自動化地最小權限設置。
工具而已,又不是大招
這些工具并不是什么靈丹妙藥,它們只是工具!所以,在嘗試使用這些工具或其他的控件之前,請和你的組織里一起工作的其他人確保你們已經理解了你的云服務的使用情況和用法模式。
應該嚴肅對待你的云服務和代碼倉庫服務,并熟悉實現的做法。
同樣重要的一點是,和你的安全團隊保持聯系;他們應該可以為你團隊的成功提供想法、建議和指南。永遠記住:安全是每個人的責任,而不僅僅是他們的。
開源云安全工具
淺談網站元標簽的重要性上海網站建設公司發展趨勢SEO優化與搜索引擎競價廣告有什么區別?淺析新聞營銷特點官網制作為很多企業帶來了極好的發展空間域名時間長對網站優化SEO有哪些好處嘉定企業網站設計:網站改版時需要注意哪些問題?互聯網的下半場,是什么?