给DevOps加点料:融入安全性的DevSecOps

从前,安全防护只是特定团队的责任,在开发的最后阶段才会介入。当开发周期长达数月、甚至数年时,这样做没什么问题;但是现在,这种做法现在已经行不通了。

采用 DevOps 可以有效推进快速频繁的开发周期(有时全程只有数周或数天),但是过时的安全措施则可能会拖累整个流程,即使最高效的 DevOps 计划也可能会放慢速度。

一、DevSecOps是什么

在 DevOps 协作框架下,安全防护是整个 IT 团队的共同责任,需要贯穿至整个生命周期的每一个环节。这个理念非常重要,因此催生出了“DevSecOps”一词,即在开发和运维紧密结合的基础上再强调了Security,强调必须为 DevOps 计划打下扎实的安全基础。

devsecops-1

DevSecOps 意味着从一开始就要考虑应用和基础架构的安全性;同时还要让某些安全网关实现自动化,以防止 DevOps 工作流程变慢。

选择合适的工具来持续集成安全防护(比如在集成开发环境(IDE)中集成安全防护功能)有助于实现这些目标。但是高效的 DevOps 安防需要的不仅是新工具。它更需要整个公司实现 DevOps 文化变革,从而尽早集成安全团队的工作。

二、DevSecOps目标及原因

DevSecOps的目的和意图是建立在“每个人都对安全负责”的思想基础上,目标是在不牺牲所需安全性的前提下,将安全决策快速、大规模地分发给拥有最高级别上下流的人员。

如今,也是同样的原因致使传统的安全领导者竭力争取自己在行政会议上的一席之地。虽然这一席之地能够保证安全决策有效性的提高,但由于价值创造过程中缺乏所需安全技能的供应,导致成果在产出过程中摩擦增多、速度减缓。如果没有足够的人手,企业经营者就无法达到业务运营商所期望的速度,也就意味着他们必须改变安全价值的贡献方式,否则风险就会增加。

devsecops-2

随着DevOps、敏捷和公共云服务的业务需要,传统的安全流程已成为需要削减的主要目标。但可悲的是,这又是最容易忽略的一点。传统安全性的出发点是,一旦设计了系统,便可以由安全人员确定系统的安全缺陷,并由业务运营商在发布系统之前对其进行纠正。这一原则允许流程将有限的安全技能应用于结果,并且不必在大型系统中额外增加安全环境。

但是,这样设计的流程只有在业务活动的速度是瀑布式的并且得到各方同意的情况下才有效。更糟的是,在迭代中引入认为安全必须以这种方式运行的想法是有缺陷的,也会在系统内增加固有风险。因为业务决策需要内联平衡并以较快的速度解决。因此,这一方式尚未得到实现.

三、DevSecOps优势及实施

在价值创造生命周期的最后阶段,安全团队几乎不可能拥有呈现安全决策所需的所有信息。随着价值创造过程加快提供迭代价值,以便紧密地联系客户的需求,更可能的是,一次性完成整个系统的测试实际上对结果具有破坏性。

实际上,以这种方式做出的大多数安全决策很少有效,经常被业务领导人否决,并且通常会在事件或破坏发生时受到质疑。

devsecops-3

因此,随着DevOps的不断变化,传统的安全性不再是一种选择。在通过迭代构建的系统的设计和发布中,协作已经太晚了。

但随着DevSecOps的引入,业务运营商或安全人员都没有必要放弃降低风险的措施;相反,组织内的每个人都应该拥抱并改进它,使其得到那些有能力为系统贡献安全价值的人的支持。

有个很棒的说法是,如果没有刻意的内置安全控制,系统故障是肯定的,因为仅仅是避免安全就会给系统带来更多风险。因此,认为价值创造与安全性不能合作的观点是非常荒谬的。

DevSecOps建立的思维模式包括为业务运营商提供了工具和决策,帮助他们进行安全决策,以及为安全人员提供使用、调整这些工具的支持,这非常适合协作型团队。

在这种情况下,安全工程师与DevSecOps宣言保持一致,该宣言表明了安全从业者必须提供的价值,以及他们必须做出的更改,以使安全价值能够提供给更大的生态系统。

通过这种方式,DevSecOps工程师为系统提供的价值是在非合作的攻击者发现缺陷之前持续监视、攻击并确定缺陷。这需要业务生态系统中的所有人,包括安全人员,为迭代的价值创造做出贡献,并不需要为了团队中安全从业者的缺失而过度焦虑。

DevSecOps作为一种思维方式和安全性转换,有助于流程与其他安全更改合作。换句话说,如果您认为需要将安全性添加到“开发”或“运营”或某些其他业务流程中,那就没关系了!需要将安全性添加到所有业务流程中,并且需要创建一个专门的团队来建立对业务的理解、发现缺陷的工具、持续的测试,以及预测作为业务操作人员如何做出决策的科学。

此外,为了实现全面的转型,DevSecOps需要执行管理层和董事会参与提供相关信息,这些信息是业务如何在当今经济所代表的竞争日益激烈的低信任度环境中运营和保护团队的关键指标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/67054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2024年华为OD机试】 (B卷,100分)- 座位调整(Java JS PythonC/C++)

一、问题描述 题目描述 疫情期间课堂的座位进行了特殊的调整,不能出现两个同学紧挨着,必须隔至少一个空位。 给你一个整数数组 desk 表示当前座位的占座情况,由若干 0 和 1 组成,其中 0 表示没有占位,1 表示占位。 …

# CentOS7 系统 /dev/mapper/centos-root满了,十步清理

CentOS7 系统 /dev/mapper/centos-root满了,十步清理 当您看到/dev/mapper/centos-root满了,意味着您的CentOS系统中的根文件系统没有足够的空间。 确保在执行任何删除操作之前,您已经备份了重要的数据和配置。如果空间紧张,可能…

golang运维开发-gopsutil(1)

文章目录 前言Golang开发-案例整理汇总一、gopsutil二、使用方法1.获取系统负载(Load)信息2.获取CPU信息3. 获取主机host信息4. 获取服务器内存信息5. 获取磁盘信息前言 Golang开发经典案例,点击下方链接 Golang开发-案例整理汇总 一、gopsutil 当出现服务器异常时,运维人员…

提供的 IP 地址 10.0.0.5 和子网掩码位 /26 来计算相关的网络信息

网络和IP地址计算器 https://www.sojson.com/convert/subnetmask.html提供的 IP 地址 10.0.0.5 和子网掩码位 /26 来计算相关的网络信息。 子网掩码转换 子网掩码 /26 的含义二进制表示:/26 表示前 26 位是网络部分,剩下的 6 位是主机部分。对应的子网掩码为 255…

IMX6U Qt 开发环境

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、交叉编译 1. 安装通用 ARM 交叉编译工具链 2. 安装 Poky 交叉编译工具链 二、编译出厂源码 1. U-boot 2. 内核和模块 3. 编译出厂 Qt GUI 综合 Demo 前言…

【2024年华为OD机试】(B卷,100分)- 找终点 (Java JS PythonC/C++)

一、问题描述 题目描述 给定一个正整数数组&#xff0c;设为 nums&#xff0c;最大为100个成员&#xff0c;求从第一个成员开始&#xff0c;正好走到数组最后一个成员&#xff0c;所使用的最少步骤数。 要求&#xff1a; 第一步必须从第一元素开始&#xff0c;且 1<第一…

RabbitMQ-集群

RabbitMQ集群----主备关系&#xff0c;在运行的时候&#xff0c;如果非主要节点宕机&#xff0c;程序操作 不受影响&#xff1b; 如果主节点宕机了&#xff0c; 程序会中断操作。 而Rabbitmq集群&#xff0c;会马上让没有宕机的节点参选&#xff0c;选出新的主要节点。 程序重试…

postgresql分区表相关问题处理

1.使用pg_cron按日创建分区表&#xff0c;会出现所在数据库对应用户权限不足的问题。 原因是pg_cron运行在postgres数据库中&#xff0c;是用superuser进行执行的&#xff0c;对应的分区表的owner为postgres&#xff0c;所以需要单独授权对表的所有操作权限。不知道直接改变ow…

【Vim Masterclass 笔记11】S06L24 + L25:Vim 文本的插入、变更、替换与连接操作同步练习(含点评课)

文章目录 S06L24 Exercise 06 - Inserting, Changing, Replacing, and Joining1 训练目标2 操作指令2.1. 打开 insert-practice.txt 文件2.2. 练习 i 命令2.3. 练习 I 命令2.4. 练习 a 命令2.5. 练习 A 命令2.6. 练习 o 命令2.7. 练习 O 命令2.8. 练习 j 命令2.9. 练习 R 命令2…

网络数据链路层以太网协议

网络数据链路层以太网协议 1. 以太网协议介绍 以太网是一个数据链路层协议&#xff0c;数据链路层的作用是用于两个设备&#xff08;同一种数据链路节点&#xff09;之间进行传递。 以太网不是一种具体的网络&#xff0c;而是一种网络技术标准&#xff0c;既包含了数据链路层…

C++ NULL和nullptr

NULL实际是一个宏&#xff0c;在传统的C头文件(stddef.h)中&#xff0c;可以看到如下代码: #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endif 如上是条件编译的宏定义 确保在不同编程环境下正确处理NULL的定义 C中NULL可能被定义…

Kotlin 循环语句详解

文章目录 循环类别for-in 循环区间整数区间示例1&#xff1a;正向遍历示例2&#xff1a;反向遍历 示例1&#xff1a;遍历数组示例2&#xff1a;遍历区间示例3&#xff1a;遍历字符串示例4&#xff1a;带索引遍历 while 循环示例&#xff1a;计算阶乘 do-while 循环示例&#xf…

【STM32】HAL库USB实现软件升级DFU的功能操作及配置

【STM32】HAL库USB实现软件升级DFU的功能操作及配置 文章目录 DFUHAL库的DFU配置修改代码添加条件判断和跳转代码段DFU烧录附录&#xff1a;Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时 位带操作位带代码位带宏…

使用WebdriverIO和Appium测试App

1.新建项目 打开Webstorm新建项目 打开终端输入命令 npm init -y npm install wdio/cli allure-commandline --save-dev npx wdio config 然后在终端依次选择如下&#xff1a; 然后在终端输入命令&#xff1a; npm install wdio/local-runnerlatest wdio/mocha-frameworkla…

uniapp小程序开发,配置开启小程序右上角三点的分享功能

直接全局配置一个分享的功能&#xff0c;要不然需要一个一个页面去单独配置就太麻烦了&#xff01;&#xff01;&#xff01; 1.新建一个share.js文件&#xff0c;并配置代码&#xff0c;调用onShareMessage()和onShareTimeline()两个函数。 其中&#xff1a; title&#xff1…

行业案例:高德服务单元化方案和架构实践

目录 为什么要做单元化 高德单元化的特点 高德单元化实践 服务单元化架构 就近接入实现方案 路由表设计 路由计算 服务端数据驱动的单元化场景 总结 系列阅读 为什么要做单元化 单机房资源瓶颈 随着业务体量和服务用户群体的增长,单机房或同城双机房无法支持服…

ip属地什么条件会改变?多角度深入探讨

IP属地&#xff0c;即IP地址的归属地&#xff0c;是互联网上设备连接时的一个关键信息&#xff0c;它通常反映了设备连接互联网时的地理位置。随着社交软件及各大平台推出IP归属地显示功能&#xff0c;IP属地的变化问题逐渐受到广大用户的关注。那么&#xff0c;IP属地在什么条…

内网服务器添加共享文件夹功能并设置端口映射

参考网址 https://blog.csdn.net/Think88666/article/details/118438465 1.服务器安装smb服务&#xff0c;由于网路安全不允许使用默认端口&#xff08;445&#xff0c;446&#xff09;&#xff0c;于是修改端口为62445、62446。 2.每台需要共享的电脑都要修改端口映射&#x…

【干货】交换网络环路介绍

定义 以太网交换网络中为了提高网络可靠性&#xff0c;通常会采用冗余设备和冗余链路&#xff0c;然而现网中由于组网调整、配置修改、升级割接等原因&#xff0c;经常会造成数据或协议报文环形转发&#xff0c;不可避免的形成环路。如图7-1所示&#xff0c;三台设备两两相连就…

Linux服务器网络丢包场景及解决办法

一、Linux网络丢包概述 在数字化浪潮席卷的当下&#xff0c;网络已然成为我们生活、工作与娱乐不可或缺的基础设施&#xff0c;如同空气般&#xff0c;无孔不入地渗透到各个角落。对于 Linux 系统的用户而言&#xff0c;网络丢包问题却宛如挥之不去的 “噩梦”&#xff0c;频繁…