DevSecOps的实现与相关开源工具

DevSecOps是一种以自动化方式在DevOps流程中集成安全工具的方法。DevSecOps不仅仅是引入新的安全工具,还包括关于使用这些工具的必要知识。这需要对DevOps文化改进,需要对员工进行培训,并要求他们提高自己的技能。这使得他们能够更有效地协作,从而创造出一种“安全文化”。这种多文化、多学科的自动化安全环境使每个人都关注安全,而不仅仅是单个团队,这也是DevSecOps的主要驱动因素之一。

Pre-commit Hooks

持续集成微信公众号cicdops

由于意外的git提交,AWS密钥、访问令牌、SSH密钥等敏感信息经常会通过公共源代码存储库被错误地泄漏。这可以通过使用像“Talisman”这样的预提交钩子来避免,它在提交或推送活动之前检查文件中的敏感信息。

Secrets Management

对于自动化,开发人员和管理员通常会将凭证存储在配置文件、环境变量等中,以便访问各种服务。将凭据存储在文件或配置中可能导致将凭据暴露给意外的用户。这可以通过利用“Hashicorp vault”之类的秘密管理服务来隔离。这允许在单独的级别隔离凭据,每个环境都可以从特定的环境获取凭据并以编程方式使用它。

Software Composition Analysis

有必要对应用程序中使用的所有依赖项进行分析,并检查它们是否存在由于缺少安全补丁而引起的漏洞。对于Java和。net应用程序,我们可以使用一个叫做“依赖检查”的工具,它可以在创建构建之前运行,以确定应用程序中是否使用了任何易受攻击的软件。可以根据漏洞的数量和严重程度来决定是继续运行管道还是修复漏洞失败。以下是一些工具,执行软件组合分析的安全漏洞:

Static Analysis Security Testing

持续集成微信公众号cicdops

使用自动化工具来执行安全代码审查,可以清除许多容易发现的漏洞,比如SQL注入、跨站点脚本编制、反序列化漏洞等等。对于基于Java的应用程序,我们可以使用一个名为“FindSecBugs”的工具,该工具对代码进行深入分析(但不会给出太多的假阳性结果),并为代码中已确定的所有漏洞提供全面的报告。可以根据漏洞的数量和严重程度来决定是继续运行管道还是在管道继续运行之前修复漏洞。下面是一些可用于SAST目的的开源工具的列表。

Dynamic Analysis Security Testing

Web应用程序扫描器是对Web应用程序进行漏洞评估的重要部分。这些扫描器中的大部分具有API端点或CLI访问,可以利用这些端点或CLI访问来启动对目标应用程序的扫描。OWASP ZAP就是这样一个工具,它可以用于在QA/Staging环境中启动对应用程序的web应用程序安全扫描,从而消除大量的安全错误配置,比如在备份文件中泄露敏感信息、不安全的HTTP头文件等。

Security in Infrastructure as Code

在使用简单的几行代码构建基础设施时,Docker之类的容器化解决方案非常流行。“Docker Hub”是一个非常流行的公共Docker存储库,从这里可以将Docker图像拉到运行容器。已经有各种各样的例子,这些docker图像与恶意软件或千疮百孔的各种漏洞如下图所示。因此,扫描这些从公共存储库中提取的docker图像是非常重要的。

一种能够很好地洞察Docker容器/映像的安全性的解决方案是“Clair”。Clair扫描原始docker图像,并给出详尽的报告,强调图像中存在的漏洞。因此,在将Clair之类的工具部署到基础设施之前,在生产docker映像上运行它们是非常重要的。在DevSecOps的这个阶段需要考虑的其他工具有:

Vulnerability Assessment (VA)

通常的做法是对生产系统执行漏洞评估,以识别环境中运行的各种服务和相关的漏洞。

在使用Docker创建的服务器上指向一个VA工具时,它只会在该主机上公开的服务上执行扫描。但是,如果我们将该工具附加到docker网络,然后执行扫描,那么它将为我们提供实际运行的服务的良好图像。

这可以使用各种解决方案来实现,比如OpenVAS,它可以很容易地集成到管道中。

Compliance As Code

组织需要对其IT基础设施应用遵从性控制,以遵守行业最佳实践和各种法规,如PCI DSS、HIPAA、SOX等。在DevOps中,使用“基础结构作为代码”,生产环境永远不会被保留,它总是被拆除并重新创建,因此在安装后测试更新/新创建的环境是非常必要的。“Inspec”就是这样一个工具,它可以帮助我们执行这些测试,因为我们只需要提供一个ruby文件,其中包含以非常简单和清晰的方式执行的测试,这对于每个审计专业人员来说都很容易编写和编写代码。

Vulnerability Management

持续集成微信公众号cicdops

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

“ArcherySec”就是这样一个工具,它不仅与上面提到的大多数工具都有很好的集成,而且我们还可以通过ArcherySec启动Zap和OpenVAS等扫描。

用于漏洞管理的其他工具有

Alerting and Monitoring

生产应用程序总是面临来自未知和不可预见的新威胁。这可以通过一个积极的入侵监视和预防解决方案来缓解。其中一个这样的开源解决方案是“ModSecurity WAF(Web应用程序防火墙),它可以检测OWASP的十大漏洞,如SQL注入、跨站点脚本编制等。

到目前为止,我们已经了解了DevSecOps如何在环境中运行的技术知识,但是仅仅拥有工具和技术是不够的。DevSecOps需要一种促进“缺省安全”文化的文化更改。这可以通过在每个域内创建安全冠军、增加与安全团队的协作等等来实现。

最后,DevSecOps对于您的DevOps模型非常重要,因为它是处理“大规模安全性”的惟一方法。

翻译自以下文章, 文章干活很多,所以必须保留原文的小广告表示感谢,Claranet为开发人员提供了一个关于DevSecOps和AppSec的全天研讨会,使与会者能够全面了解DevSecOps实践。如果您想参加研讨会,或者希望我们通过为您提供定制的解决方案来帮助您在现有的DevOps管道中实现安全性,请与我们联系。

原文链接: https://www.notsosecure.com/achieving-devsecops-with-open-source-tools/

DevSecOps的实现与相关开源工具的更多相关文章

  1. Monkey 命令收集相关 --追加Monkey自动化测试开源工具

    .1.环境配置 MONKEY测试使用的是ADB命令,因此只需要配置ADB环境即可. 2.测试准备与执行 在Monkey测试前,必须进行以下准备 Ø  手机屏幕超时设置为30分钟或者永不超时,防止手机进 ...

  2. 60款与DevOps相关的开源工具

    原文地址:https://elasticbox.com/blog/de ... ools/ 你喜欢免费的东西吗?获得开发者社区支持的自动化,开源的工具是大家梦寐以求的.这里列举了 60+ 款最棒的开源 ...

  3. Web 项目可能会用到的20款优秀的开源工具

    开源的应用程序和它们的源代码可以免费获得,因为版权是属于任何进行过修改或者提交代码的人.大多数提供开源软件的公司都可以建立行业标准,因此可以获得有利的竞争优势. 很多的开源应用程序和工具都有很强的替代 ...

  4. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. 撑起大规模PHP网站的开源工具

    撑起大规模PHP网站的开源工具 百万级PHP站点Poppen.de的架构 在 2011年11月27日 那天写的     已经有 3957 次阅读了 感谢 参考或原文   服务器君一共花费了54.510 ...

  6. [Hadoop 周边] Hadoop和大数据:60款顶级大数据开源工具(2015-10-27)【转】

    说到处理大数据的工具,普通的开源解决方案(尤其是Apache Hadoop)堪称中流砥柱.弗雷斯特调研公司的分析师Mike Gualtieri最近预测,在接下来几年,“100%的大公司”会采用Hado ...

  7. Hadoop和大数据:60款顶级大数据开源工具

    一.Hadoop相关工具 1. Hadoop Apache的Hadoop项目已几乎与大数据划上了等号.它不断壮大起来,已成为一个完整的生态系统,众多开源工具面向高度扩展的分布式计算. 支持的操作系统: ...

  8. GitHub 开源工具整理

    技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 ...

  9. 【转载】Hadoop和大数据:60款顶级大数据开源工具

    一.Hadoop相关工具 1. Hadoop Apache的Hadoop项目已几乎与大数据划上了等号.它不断壮大起来,已成为一个完整的生态系统,众多开源工具面向高度扩展的分布式计算. 支持的操作系统: ...

  10. 让Docker功能更强大的10个开源工具

    让Docker功能更强大的10个开源工具 更好的管理.Web前端程序.更深入地了解容器应用程序,Docker生态系统正在迅速发展,这还得归功于其充满活力的开源社区. 软件项目的成功常常根据其催生的生态 ...

随机推荐

  1. Mac上安装mongoDB详细教程

    Mac OSX 平台安装 MongoDB MongoDB 提供了 OSX 平台上 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/download ...

  2. 史上最强Dubbo面试28题答案详解

    1.Dubbo是什么? Dubbo 是一个分布式.高性能.透明化的 RPC 服务框架,提供服务自动注册.自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成. RPC 指的是远程调用协议, ...

  3. 【java提高】---细则(2)

    TreeSet(一) 一.TreeSet定义:      与HashSet是基于HashMap实现一样,TreeSet同样是基于TreeMap实现的.            1)TreeSet类概述 ...

  4. shell脚本输出带文本颜色背景颜色自定义样式格式内容

    shell脚本中 echo 和 printf 都可以输出内容.示例1: echo -e "\033[43;35m david use echo say Hello World \033[0m ...

  5. linux:计划任务

    at 计划执行一次性任务 at  + time 表示方法: atq  -c:查看目前等待执行的任务 atrm  任务编号 :删除at任务  [root账户才能删除,其他用户只能查询] crontab ...

  6. TortoiseGit拉取出现“Could not open repository. libgit2 returned: repository path……”错误的解决办法

    TortoiseGit拉取出现"Could not open repository. libgit2 returned: repository path--"错误的解决办法 1.问 ...

  7. Struts2和Spring的区别

    1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上Spr ...

  8. 探秘Transformer系列之(4)--- 编码器 & 解码器

    探秘Transformer系列之(4)--- 编码器 & 解码器 0x00 摘要 对于机器翻译,Transformer完整的前向计算过程如下图所示(与总体架构那章的流程图相比较,此处重点突出了 ...

  9. [SDOI2016] 数字配对 题解

    发现题目中描述的配对条件可以理解为:\(pc_i-pc_j=1\) 且 \(a_i\bmod a_j=0\),其中 \(pc_i\) 表示 \(a_i\) 的质因数个数. 自然想到以 \(pc\) 奇 ...

  10. Thymeleaf遍历选中多个复选框

    使用场景:用户角色一对多关联关系 <!-- roleList:所有角色信息 :userRoleList:用户已有角色id列表--> <input th:each="role ...