建立漏洞管理程序以支持DevSecOps

在讨论DevSecOps及DevOps模型中包含安全性的重要性时,建立有效的漏洞管理实践是非常重要的。这可以通过将漏洞管理设置为程序来实现。

我们可以开始对IT组织进行漏洞管理评估。人们经常问的问题可能是,既然已经建立了一些补救机制,为什么还需要进行评估。但拥有这些类型的评估以跟上安全和漏洞修复的行业标准是极其重要的。以下就是需要进行漏洞管理评估并跟上行业安全标准的原因之一。

在典型的IT组织中,我们用于软件开发的项目中,只有20%-25%的自定义代码。我们将使用所有工具进行不同类型的代码扫描,并确保修复漏洞。然而,其余的代码将来自开源模块和库。我们检查出的框架和库将继承下面的更多框架和库,我们可能不知道这些代码有多干净。这些代码不是内部编写的,我们不知道它为成功运行所做的一些调用;另一方面,我们有包含包和元数据的容器。如果没有以正确的方式进行配置,作为代码的基础设施可能会为漏洞开辟多种途径。

因此,正确实施DevSecOps可以首先缓解漏洞,而正确的漏洞管理可以补救开放的漏洞。

通过漏洞管理实践实现高效应用程序安全的步骤,直到操作成熟:

1.漏洞管理评估

评估对于了解IT组织的环境非常重要。这将使我们能够优先考虑避免风险的漏洞类型——分析漏洞风险并关注紧急情况。我们可以定义、识别和监控已知或新出现的漏洞的端点。

2. 身份和访问管理

需要高效的IAM(Identity
and Access
Management,身份识别与访问管理)来主动防止漏洞的打开。IAM是组织中需要放置安全层时内部网络和外部网络之间的网关。利用适当的身份验证技术,如多因素身份验证(MFA,Multifactor
Authentication)、Sigle Sign-On(SSO,Sigle
Sign-On)和基于风险的身份验证(RBA,Risk-based authentication)。

IAM的优势如下:

  • 确保数据机密性
  • 数据安全
  • 阻止恶意软件攻击
  • 将组织门户仅限于所需的各方

3.SAST 和 DAST扫描

SAST:静态应用程序安全测试分析程序源代码,以识别安全漏洞。SAST方法指导开发人员在早期开发阶段开始测试他们的应用程序,而不执行功能组件。这种方法可以尽早发现应用程序源代码的安全缺陷,避免将安全问题留给后期的开发阶段。这减少了开发时间并增强了整个程序的安全性。

DAST:动态应用程序安全测试实时扫描软件应用程序,查找主要漏洞来源,发现安全漏洞或开放漏洞。DAST测试正在运行的应用程序,但不能访问其源代码。DAST是一种封闭盒测试形式,可以刺激外部攻击者的视角。它假设测试人员不知道应用程序的内部功能。它可以检测SAST无法检测的安全漏洞,例如仅在程序运行时出现的漏洞。

因为DAST测试需要一个完整的工作应用程序,所以将它们保留到应用程序开发过程的后期阶段。测试人员需要与应用程序交互:提供输入、检查输出,并模拟用户交互的其他典型操作。

4. 有效配置管理数据库(CMDB,Configuration Management Database)

保持最新的配置管理数据库是成功的漏洞程序极为重要的方面。理解组织的软件资产和配置管理过程是关键。配置发现工具,以更透明地洞察软件配置。更新CMDB并将配置项映射到服务和应用程序。

结论

在拥有高节奏的开发环境和具有自动化管道的IT运营团队的组织中,实现有效的漏洞管理非常重要。考虑到目前的行业形势,预防安全漏洞和网络攻击如呼吸一般重要。这可以通过在软件开发生命周期的早期和所有阶段引入安全方面并及时修复漏洞来实现。

DevSecOps 中的漏洞管理(下)的更多相关文章

  1. 在Visual Studio 中使用git——分支管理-下(九)

    在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...

  2. 在中间层 .NET 应用程序中通过授权管理器使用基于角色的安全

    基于角色的安全是从 Windows NT 的第一个版本开始在 Windows 平台上发展而来的.使用角色,操作系统可以通过检查称为 BUILTIN\Administrators 的组的安全上下文做出一 ...

  3. .NET Core中的认证管理解析

    .NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...

  4. [转].NET Core中的认证管理解析

    本文转自:http://www.cnblogs.com/durow/p/5783089.html 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用 ...

  5. Unity游戏开发中的内存管理_资料

    内存是手游的硬伤——Unity游戏Mono内存管理及泄漏http://wetest.qq.com/lab/view/135.html 深入浅出再谈Unity内存泄漏http://wetest.qq.c ...

  6. 深入理解javascript中的焦点管理

    × 目录 [1]焦点元素 [2]获得焦点 [3]失去焦点[4]焦点事件 前面的话 焦点作为javascript中的一个重要功能,基本上和页面交互都离不开焦点.但却少有人对焦点管理系统地做总结归纳.本文 ...

  7. C++中的内存管理

    在C++中也是少不了对内存的管理,在C++中只要有new的地方,在写代码的时候都要想着delete. new分配的时堆内存,在函数结束的时候不会自动释放,如果不delete我分配的堆内存,则会造成内存 ...

  8. Spring中的事物管理,用 @Transactional 注解声明式地管理事务

    事物: 事务管理是企业级应用程序开发中必不可少的技术,  用来确保数据的 完整性和 一致性. 事务就是一系列的动作, 它们被当做一个单独的工作单元. 这些动作要么全部完成, 要么全部不起作用 事务的四 ...

  9. nodejs之获取客户端真实的ip地址+动态页面中引用静态路径下的文件及图片等内容

    1.nodejs获取客户端真实的IP地址: 在一般的管理网站中,尝尝会需要将用户的一些操作记录下来,并记住是哪个用户进行操作的,这时需要用户的ip地址,但是往往当这些应用部署在服务器上后,都使用了ng ...

  10. git 一般的开发流程中的代码管理

    一般的开发流程中的代码管理 1. 从版本库中下载代码 git clone ssh://wenbin@192.168.1.3:29418/mustang-web 2. 针对某个feature(比如ins ...

随机推荐

  1. Java集合框架学习(十四) Iterator接口详解

    Iterator接口介绍 public interface Iterator<E> iterator 用于迭代集合类型对象,例如: HashMap, ArrayList, LinkedLi ...

  2. 学习go语言编程之常量

    什么在常量 在Golang中,常量是指在编译期就已知且不可改变的值. 字面常量 在程序中硬编码的常量值被称为字面常量,如: -12 // 整数类型常量 3.1415926 // 浮点类型常量 3.2+ ...

  3. 遭遇DDOS攻击忍气吞声?立刻报警!首都网警重拳出击,犯罪分子无所遁形

    公元2024年2月24日18时许,笔者的个人网站突然遭遇不明身份者的DDOS攻击,且攻击流量已超过阿里云DDos基础防护的黑洞阈值,服务器的所有公网访问已被屏蔽,由于之前早已通过Nginx屏蔽了所有国 ...

  4. django学习第十三天--自定义中间件

    jquery操作cookie 下载地址 http://plugins.jquery.com/cookie/ 引入 <script type="text/javascript" ...

  5. ZYNQ SD卡 CDn管脚的作用

    ## 什么 是CDn? card detect, active low,用于指示当前SD卡是否插入,主机通过检测CD脚的状态来识别当前SD卡的状态. CD可以连接到MIO或者EMIO的任意空闲管脚,通 ...

  6. 【Azure 应用服务】添加自定义域时,Domain ownership 验证无法通过 

    问题描述 在Azure App Service添加自定义域名时,遇见了Domain ownership 验证无法通过的问题? 问题解决 因为DNS中配置App Service默认域名和自定义域名的CN ...

  7. MongoDB下载和可视化工具NoSQL Manager for MongoDB 软件的下载,连接数据库

    在官网下载MongoDB的版本为4.0.28,之前试了好几个高版本和低版本,都不行,最后,4.0.28版本好了.下载网页:https://www.mongodb.com/try/download/co ...

  8. 使用JMeter的JSON提取器:通过递归下降查找,从接口响应中提取特定字段

    在接口测试中,我们经常需要从返回的JSON数据中提取特定字段以便后续使用.JMeter提供了JSON提取器,可以帮助我们实现这一目标.本文将介绍如何使用JMeter的JSON提取器通过递归下降查找的方 ...

  9. RocketMQ(2) 消息的生产和存储

    ## 一 : 消息的生产 1. 消息的生产过程 Producer在发送消息时可以将消息写入到指定topic的某Broker中的某Queue中,其经历了如下过程: Producer发送消息之前,会先向N ...

  10. K8s中Labels(标签)和Annotations(注解)对比

    在Kubernetes中,Labels(标签)和Annotations(注解)都是用于为资源对象添加元数据的机制,但它们在用途.选择能力以及数据形式上存在一些关键的区别. 首先,Labels主要用于标 ...