使用开源工具设置 DevSecOps 管道

admin 2024年10月2日12:28:45评论13 views字数 2515阅读8分23秒阅读模式

DevSecOps 是一种以自动化方式将安全工具集成到 DevOps 流程中的方法。这种多文化、多学科的自动化安全环境使安全成为每个人的关注点,而不仅仅是安全团队的关注点。公司需要大量投资于自动化安全工具来实施 DevSecOps 管道,有时他们可能没有足够的预算来购买所有这些工具的许可证。如果您的组织正在开始 DevSecOps 之旅,那么建议之一是尝试使用开源工具来创建 POC,然后转向许可版本。

使用开源工具设置 DevSecOps 管道

DevSecOps 不仅涉及工具,还涉及使用这些工具所需的知识。这会导致 DevOps 正常运行的文化变化,需要培训员工并要求他们提高自身技能。这使他们能够更有效地协作,从而创造一种“安全文化”。在这篇博客中,我将列出开源安全工具,这些工具将帮助您开始 DevSecOps 之旅。

以下是 DevSecOps 流程的典型阶段

使用开源工具设置 DevSecOps 管道

现在让我们看看如何在每个阶段添加安全性并使您的管道成为 DevSecOps 管道。

设计阶段

威胁建模是一种评估风险的主动策略。它涉及识别潜在威胁并开发测试或程序来检测和应对这些威胁。这涉及了解威胁如何影响系统、对威胁进行分类以及应用适当的安全控制。

威胁建模工具
· OWASP Threat Dragon
· Microsoft 威胁建模工具
· pytm:用于威胁建模的 Pythonic 框架

开发阶段

预提交钩子— 由于意外的 git 提交,敏感信息(例如访问密钥、访问令牌、AWS 密钥、SSH 密钥等)经常通过公共源代码存储库被错误泄露。可以使用预提交钩子来避免这种情况,该钩子会在提交或推送活动之前检查文件中的敏感信息。开发人员可以轻松绕过此步骤,因此可以将其用作纵深防御,但不要完全依赖它。

预提交钩子工具
· Talisman
· Crass
· Git Hooks
· Git Secrets
· Pre Commit
· Detect Secrets
· Git Hound
· Truffle Hog

机密管理— DevOps 自动化要求将密码、ssh 密钥、身份验证令牌、证书等敏感信息存储在配置文件中,这可能会导致凭据暴露给非预期受众。机密管理允许在单独的级别上隔离凭据,并且每个环境都可以从特定环境中提取凭据并以编程方式使用它。

机密管理工具
· Hashicorp
· Torus
· Keywhiz
· EnvKey
· Confidant
· AWS Secrets Manager

构建阶段

软件组成分析 (SCA) — 识别第三方组件中的已知漏洞、许可证风险以及过时的库,并内置对主要包管理生态系统的支持。

SCA 工具
· Dependency Track
· Retire.js:查找易受攻击的 JavaScript 组件+
· SonaType
· Snyk(免费开源)
· Bunder Audit
· Rubysec

静态应用程序安全测试 (SAST) — 使用自动化工具进行安全代码审查的白盒安全测试,可清除许多容易出现的漏洞,如 SQL 注入、跨站点脚本、反序列化漏洞等。默认情况下,SAST 工具配置了通用设置,可能需要人工监督来管理误报。

SAST 工具
· Semgrep
· SonarQube 社区
· Graudit
· FindSecBugs for Java
· Bandit for Python · OWASP 还维护着源代码分析工具
列表

分期阶段

动态分析安全测试 (DAST) — 使用自动化工具进行黑盒/灰盒安全测试。如果没有应用程序部署,SAST 可能无法获得完整的信息,因此 DAST 在挑选特定于部署的问题方面非常有用。可以比较 DAST 和 SAST 的结果以消除误报。DAST 工具可能还需要预先设置配置设置才能获得良好的结果

DAST 工具
· OWASP ZAP
· Arachni
· Nikto

性能监控——在对应用程序进行测试时,DevOps 团队需要确保错误没有出现在其配置中并且应用程序性能没有下降。

性能监控工具
· Threat Mapper
· Anchore Engine
· Clair

漏洞评估 (VA) — 这是一种识别给定服务器上运行的各种服务的技术,探测已识别的服务以检查是否存在任何漏洞。在生产系统上执行漏洞评估以识别环境中运行的各种服务及其相关漏洞是一种常见做法。但是,我建议在将代码移动到生产环境之前,在准备阶段进行 VA 以识别任何漏洞。

VA工具
· OpenVAS
· DockScan

生产阶段

合规性即代码 (CaC) — 组织需要对其 IT 基础设施应用合规性控制,以遵守行业最佳实践和各种法规,如 PCI DSS、HIPAA、SOX 等。使用 DevOps 中的“基础设施即代码”,生产环境永远不会被保留,它总是被拆除并重新创建,因此在设置更新/新创建的环境后,强烈要求对其进行测试。

CaC 工具
· Inspec
· Serverspec
· DevSec 强化框架
· Kitchen CI

漏洞管理 (VM) — 我们用于创建 DevSecOps 管道的工具将生成大量漏洞,并且每个工具都有自己独立的格式。管理这些数据变得非常困难,更不用说跟踪和修复漏洞了。因此,漏洞管理解决方案是 DevSecOps 流程的核心,所有工具都需要将其数据汇集到这些解决方案中,以便可以集中管理、分类、跟踪和修复。

VM 工具
· ArcherySec
· DefectDojo
· Faraday

监控阶段

修改和监控— 生产应用程序总是面临来自未知和不可预见的载体的新威胁。这可以通过采用主动入侵监控和预防解决方案来缓解。一种这样的开源解决方案是 Web 应用程序防火墙 (WAF),它可以检测针对应用程序的 OWASP Top 10 漏洞,如 SQL 注入、跨站点脚本等。

监控工具
· ModSecurity
· Shadown Daemon
· NAXSI
· Ironbee

开源能走多远?

虽然其中一些工具并非完全是开源的,但每个工具都有一个免费版本,可以按原样使用或根据您的特定要求进行修改。根据您的 DevOps 团队的成熟度和,开源工具可以满足许多需求。但对于需要支持、更深入地覆盖威胁和漏洞或能够扩展到数千个系统的团队来说,商业安全工具或开源产品的商业版本是必不可少的。开源至少可以为您提供帮助,但是当您处理复杂性和规模问题时,您就必须切换。

原文始发于微信公众号(星空网络安全):使用开源工具设置 DevSecOps 管道

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月2日12:28:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   使用开源工具设置 DevSecOps 管道http://cn-sec.com/archives/3227695.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息