当前位置: 首页 > 科技观察

确保持续集成(CI)-持续交付(CD)管道安全的五个最佳实践_1

时间:2023-03-20 23:47:09 科技观察

Translator|李睿评论|SunShujuan并将安全解决方案部署到生产环境中。不幸的是,一旦实施,将安全最佳实践嵌入到解决方案中通常在操作上更加复杂且成本更高,并且快速发布创新的压力通常会导致DevOps团队发行安全债。最佳Devsecops实践是将知识、最佳实践和安全性“左移”到开发过程中,以便敏捷开发团队更有可能将安全性直接整合到微服务、应用程序或数据库中。但是持续集成(CI)/持续交付(CD)管道呢?当构建、集成、打包和交付代码到环境的手动步骤在CI/CD工具中编写脚本时,这种自动化提高了部署的可靠性。具有强大CI/CD实施的DevOps团队通常会采取下一步行动,并考虑对生产环境进行持续部署,这会带来更多风险,但可以实现更频繁的部署。开发人员需要考虑以下建议和最佳实践,以确保安全可靠的CI/CD管道。1.在CI/CD之前建立安全的开发实践KulbirRaina,咨询公司Capgemini的敏捷和开发总监,分享了一个总体原则:“安全和质量必须嵌入代码中,并且在处理CI/CD管道中的自动化时,你不应该让质量门来控制。开发人员需要在他们的IDE中集成安全工具以正确检查代码。”Linting是一个由工具执行的过程,用于识别编码风格的偏差和不安全的做法。更复杂的静态应用程序安全测试(SAST)工具可以发现缓冲区溢出、SQL注入漏洞和其他问题。Raina建议将SAST集成到持续集成中。工具很重要,但与任何Devops流程一样,确保你随着时间的推移学习和成长,RedgateSoftware的Devops倡导者SteveJones说。“定期对开发人员进行安全编码实践培训并确保他们发现SQL注入等简单漏洞至关重要,”他说。由Buildkite的联合创始人兼联合首席执行官TimLucas和其他一些最佳实践分享。他建议查看来自开源和第三方的依赖项,以了解常见漏洞和暴露(CVE)。DevOps团队不会将易受攻击的软件投入生产。他建议对供应商软件使用可验证的签名,这样即使供应商受到威胁,企业的安全供应链也不会受到威胁。Sonatype的现场首席技术官IkkaTurunen对此表示赞同。他建议,“最佳实践之一是在搜索开源软件项目时有选择性,因为在传统制造中,并非所有部件都是平等的。寻找由敬业和负责任的开发人员维护的项目。不仅改进的项目软件供应链的可维护性,还可以减少技术债务、返工和安全风险。”这些建议只是在整个软件开发生命周期中应用安全最佳实践的冰山一角,但它们对于开发安全交付至关重要。管道的关键先决条件。2.在您的CI/CD管道中构建持续测试它是重要的是要意识到CI/CD不仅仅是运送代码。这也是采用左移测试和开发持续测试策略的机会。以测试为核心原则的团队可以在触发CI/CD之前寻找机会验证安全性CD管道将发布部署到任何环境。除了集成SAST安全测试,开发团队应该关注:触发渗透测试以发现后门和其他入口点漏洞。验证安全控制和测试授权。测试OWASP的十大高危使用动态应用程序安全测试(DAST)工具的问题。测试自动化还应考虑步骤to修复常见问题、通知正确的团队和回滚程序。3.CI/CD中的自动化数据安全程序CI/CD管道还应该用于自动化代码和构建依赖项的安全流程。一个值得关注的领域是数据安全,因为发布可能包括新的数据库、更新的数据模型或新的数据集。一个经常被忽视的功能是使用从生产中提取的数据更新开发和测试环境。开发团队应使用最近摄取的数据来验证功能和测试体验,并使用数据屏蔽来隐藏个人身份信息和其他符合数据合规性要求的数据。Accelario的首席技术官兼联合创始人RomanGolod建议:“数据屏蔽是CI/CD期间安全自动化的关键部分。开发和测试团队需要真实数据来确保生产中的一切顺利运行,但非生产系统通常不需要足够安全。”其他技术包括使用合成数据和服务虚拟化。Golod补充说:“模拟真实事物的合成数据集将进一步加强安全性,因为如果该数据库遭到破坏,威胁参与者将一无所获。”战略高级副总裁DanielRiedelCopado的服务,为开发团队增加了一个关键的起点。他说:“开发团队需要了解他们的数据,尤其是管理这些数据的安全和合规政策。”政策中规定的规则和控制。4.应用零信任原则来保护CI/CD管道Devops团队应该如何锁定管道,以便只有授权人员才能触发它们?RedgateSoftware的DevopsAdvocateGrantFritchey有一个建议:“在Devops管道中实施安全自动化的关键与始终如一的良好安全性的关键完全相同:最小特权原则。在内部、周围和内部实现安全自动化如果您确保只给管道足够的权限,管道将很简单并交付预期的结果。一些基本实践包括隐藏API密钥、在CI/CD工具中定义基于项目和角色的安全凭证,以及保护远程访问Devops团队成员5.通过将CI/CD与AIops和安全自动化集成进行验证与运营团队和工具一起响应事件并确定技术债务何时成为运营或安全问题。这里是一些细节:AIops工具集中操作数据,将警报与事件相关联,并帮助围绕性能和可靠性问题自动进行事件响应。安全自动化可防止威胁和攻击,同时启用设置权限、修补系统和响应安全事件的自动化。许多CI/CD工具提供与AIops、安全自动化和其他通用IT自动化工具的双向集成。作为CI/CD管道的一部分,DevOps团队应该触发这些工具通知的激活,以通知操作和信息安全有关代码交付的信息。他们还应该允许IT运营和信息安全自动化触发构建或回滚以支持运营和安全需求。Devops工作流显示了从规划到监控部署路径的连续统一体,以确保团队可靠、安全地规划、交付、发布和运行系统。CI/CD是主要的DevOps实践之一,因此在管道之前、之中和之后嵌入安全性是一项关键责任。原标题:保护CI/CD管道安全的5个最佳实践,作者IsaacSacolick