DevSecOps的实现与相关开源工具

DevSecOps的实现与相关开源工具

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

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目的的开源工具的列表。

DevSecOps的实现与相关开源工具

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/

Original: https://www.cnblogs.com/itech/p/12796435.html
Author: iTech
Title: DevSecOps的实现与相关开源工具

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/551985/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 1.VMware安装CentOS

    注:以下内容适用于Windows操作系统。 一.安装VMware 带秘钥的VMware Workstation 14 Pro下载地址为: 链&#x63…

    技术杂谈 2023年7月24日
    069
  • ThreadLocal解决了什么问题

    小明所在的项目组(迭代组:一直在迭代的路上),经常会在已有接口的基础上开发一些小功能,并且前提是在保证现有用户的不受影响基础上迭代。功能迭代,在代码层面小明有1w种实现方法(吹牛的…

    技术杂谈 2023年7月25日
    066
  • 如何在用户离开页面时可靠地发送 HTTP 请求

    如何在用户离开页面时可靠地发送 HTTP 请求 有几次,我需要发送一个请求,其中包含一些数据,以便在用户执行导航到其他页面或提交表单之类的操作时进行记录。请考虑以下人为示例:单击链…

    技术杂谈 2023年5月31日
    090
  • 力扣算法题1.两数之和(Java)

    力扣算法题1.两数之和(Java) 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标…

    技术杂谈 2023年7月25日
    056
  • sprinboot 日期格式化,时间格式化,日期时间格式化

    // 接受的日期格式 @DateTimeFormat(pattern = “yyyy-MM-dd HH:mm”) @JSONField(format = &…

    技术杂谈 2023年5月31日
    064
  • @AliasFor注解

    顾名思义,@AliasFor表示别名,它可以添加到自定义注解的两个属性上,表示这两个属性互为别名。也就是说,这两个属性其实是同一个含义。 通常所有注解都会有一个属性value,在使…

    技术杂谈 2023年5月31日
    077
  • CopyOnWriteArrayList与CopyOnWriteArraySet详解

    什么是CopyOnWrite容器 【1】CopyOnWrite容器是基于并发模式Copy-on-Write模式(最简单的并发解决方案)实现的用于避免共享的数据集合。 【2】Copy…

    技术杂谈 2023年7月24日
    075
  • 比较 Windows 10 的不同版本

    转自 比较 Windows 10 的不同版本 win10 家庭版、专业版、专业工作站版、企业版的区别比较。 更多信息,可以通过比较完整的列表: Windows10_Commerci…

    技术杂谈 2023年5月31日
    079
  • Seata启动seata-server.bat闪退

    解决方法:创建logs/seata_gc.log 文件夹及文件 Original: https://www.cnblogs.com/mingforyou/p/15742889.ht…

    技术杂谈 2023年5月31日
    0106
  • django REST框架- Django-ninja

    Django 是我学习的最早的web框架,大概在2014年,当时选他原因也很简单就是网上资料比较丰富,自然是遇到问题更容易找答案,直到 2018年真正开始拿django做项目,才对…

    技术杂谈 2023年5月31日
    0103
  • 访问权限控制

    一.编译单元 1-1 概念 一个Java源代码文件通常被称为一个编译单元,每个编译单元的后缀需是.java,并且每个编译单元中最多只能有1个public类(当然,可以为0个)。 1…

    技术杂谈 2023年7月23日
    094
  • 使用python的turtle库画一个冰墩墩

    先看效果图 设置一个画布 画左手和手内 画轮廓和其他部分 画细节(眼睛、鼻子、嘴巴等) 画头部彩虹 画五环标志 最后(别忘记还有一个结束) 先看效果图 设置一个画布 点击查看代码 …

    技术杂谈 2023年7月25日
    068
  • JS响应式修改基于vue实现的页面的input值

    大部分人在看到这篇文章的标题时第一时间可能有点懵,我先简单介绍一下背景: 公司有一个基于Vue实现的登录中心是我负责维护的,页面上是一个常规的登录界面,用户名输入框、密码输入框和登…

    技术杂谈 2023年5月30日
    087
  • flink-kafka-connector 的实现

    简单介绍 flink-kafka-connector用来连接kafka,用于消费kafka的数据, 并传入给下游的算子。 使用方式 首先来看下flink-kafka-connect…

    技术杂谈 2023年6月21日
    0114
  • Debian11配置Mariadb

    nano /etc/mysql/mariadb.conf.d/50-server.cnf bind-address =0.0.0.0 sudo nano /etc/mysql/ma…

    技术杂谈 2023年7月24日
    064
  • 【新特性速递】表格行分组(EnableRowGroup)

    FineUIPro/Mvc/Core的下个版本(v7.0.0),我们会为表格新增行分组功能,这也是很多用户期待的功能。 为了支持表格行分组功能,我们为表格添加了一些属性: 新增En…

    技术杂谈 2023年6月1日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球