查找并消除存储在AWS和GitHub中的数据中的漏洞。
如果您的日常工作是开发人员、系统管理员、完整堆栈工程师或站点可靠性工程师(SRE),工作内容包括从GitHub推送、提交和提取,以及部署到亚马逊网络服务(AWS),安全性是一个需要持续考虑的问题。幸运的是,开源工具可以帮助您的团队避免犯可能会让您的组织损失数千美元的常见错误。
本文介绍了在GitHub和AWS上开发时可以帮助您提高项目安全性的四种开源工具。同样,本着开源的精神,我将与三位安全专家合作——特拉维斯·麦克皮克(Travis McPeak),网飞高级云安全工程师。红帽首席高级信息安全分析师里奇蒙(rich Monk);红帽首席信息安全分析师艾莉森·奈洛尔为本文撰稿。
我们已经根据场景区分了每个工具,但它们并不相互排斥。
1.使用gitrob查找敏感数据
您需要找到出现在团队Git仓库中的任何敏感信息,以便将其删除。使用红/蓝团队模型和专注于攻击应用程序或操作系统的工具可能更有意义。在这个模型中,信息安全团队分为两部分,一部分是攻击团队(也称为红色团队),另一部分是防御团队(也称为蓝色团队)。让一个红色团队尝试渗透到你的系统和应用程序中比等待攻击者真正攻击你要好得多。您的红色团队可能会尝试使用Gitrob,这是一个可以克隆和抓取您的Git仓库以找到凭证和敏感信息的工具。
尽管Gitrob等工具可能会造成损害,但这里的目的是让您的信息安全团队使用它来发现属于您组织的敏感信息(例如AWS密钥对或其他错误提交的文档)。这样,你可以整理你的仓库,清理敏感数据——希望在攻击者找到它们之前。记住不仅要修改受影响的文件,还要删除它们的历史记录。
2.使用git-secrets避免合并敏感数据
尽管在Git仓库中查找和删除敏感信息很重要,但首先避免合并这些敏感信息不是更好吗?即使敏感信息是错误提交的,使用git-secrets也可以防止你陷入公共困境。该工具可以帮助您设置钩子来扫描提交、提交信息和合并信息,以找到常见的敏感信息模式。请注意,您选择的模式应该与团队使用的凭据相匹配,例如AWS访问密钥和密钥。如果找到匹配,您的提交将被拒绝,潜在的危机将被避免。
为您现有的仓库设置git-secrets非常简单,您可以使用全局设置来保护您稍后将创建或克隆的所有仓库。您还可以使用git-secrets来扫描您的仓库(包括所有以前的版本历史记录),然后再将其公开。
3.使用keycongjurer创建临时凭据
有一点额外的保险来防止无意中泄露存储的敏感信息,这是一件好事,但是我们可以通过根本不存储任何证书来做得更好。跟踪凭证,谁访问了它,它存储在哪里,以及它最后一次更新是什么时候——太麻烦了。然而,通过编程生成的临时凭证可以避免大量这样的问题,从而巧妙地避免了在Git仓库中存储敏感信息的问题。使用keycongjurer,它是为了满足这一需求而创建的。有关防暴游戏为何创建关键魔术师以及防暴游戏如何开发关键魔术师的更多信息,请阅读关键魔术师:我们的最低特权政策。
4.使用报表自动提供最低权限。
任何参加过基本安全课程的人都知道,设置最低权限是基于角色的访问控制的最佳实现。可悲的是,离开学校后,人们会发现很难手动使用最低许可策略。应用程序的访问要求随着时间的推移而变化,开发人员太忙,无法手动降低他们的权限。Repokid使用AWS提供的身份和访问管理数据来自动调整访问策略。Repokid甚至可以为AWS中非常大的组织提供自动化的最低权限设置。
这只是一个工具。这不是什么大动作。
这些工具不是万能的,它们只是工具!因此,在尝试使用这些工具或其他控件之前,请确保您已经了解了您的云服务与在您组织中工作的其他人的使用和使用模式。
您应该认真对待云服务和代码仓库服务,并熟悉最佳实践。下面的文章将帮助您做到这一点。
与您的安全团队保持联系也很重要。他们应该能够为你的团队的成功提供想法、建议和指导方针。
永远记住:安全是每个人的责任,而不仅仅是他们的。
发表评论 取消回复