Auto-sync: 2026-04-26 16:02

This commit is contained in:
2026-04-26 16:02:45 +08:00
parent 1abf0d56f5
commit d2ae5b3948
20 changed files with 1656 additions and 1731 deletions

View File

@@ -1,112 +1,62 @@
---
title: "What is DevSecOps? Best Practices, Benefits, and Tools"
type: source
tags: [DevSecOps, Security, CI/CD, SDLC]
date: 2025-12-19
source: https://www.bacancytechnology.com/blog/what-is-devsecops
author: shenwei
published: 2023-10-30
---
## Source File
- [[raw/Cloud & DevOps/What is DevSecOps Best Practices, Benefits, and Tools.md]]
## Summary (中文摘要)
- **核心主题**DevSecOps 将安全实践深度集成到软件开发全生命周期的方法论,解决传统 DevOps 中安全滞后的问题
- **问题域**软件安全开发、安全自动化、DevOps 文化转型、企业安全合规
- **方法/机制**:通过 Shift Left安全左移和 Shift Right安全右移策略在 SDLC 各阶段嵌入安全检查;通过 SAST/DAST/IAST/SCA 等工具实现自动化安全测试
- **结论/价值**DevSecOps 可将 70% 的上线后漏洞在开发阶段预防,成本效益比传统安全实践高 3-5 倍
## Key Claims (中文描述)
- DevSecOps 通过在 CI/CD 流程中集成安全检查,使开发团队比传统团队能更好地处理安全问题
- 70% 的上线后发现的安全漏洞本可以通过 DevSecOps 预防
- 安全自动化将漏洞修复时间从数周缩短到数小时
- DevSecOps 涵盖五大核心要素协作Collaboration、沟通Communication、自动化Automation、工具与架构安全Security of Tools and Architecture、测试Testing
- Shift Left 策略通过早期发现安全问题,降低修复成本可达 100 倍
## Key Quotes
> "DevSecOps brings together three important groups: 'Dev' for development, 'Sec' for security, and 'Ops' for operations teams." — DevSecOps 命名来源
> "70% of software vulnerabilities discovered post-launch could have been prevented with DevSecOps" — DevSecOps 核心价值主张
> "'Shift left' means identifying security flaws early in the software development lifecycle." — 安全左移定义
> "'Shift right' highlights the need for ongoing security measures even after launching the application." — 安全右移定义
## Key Concepts
- [[DevSecOps]]:将安全深度集成到 DevOps 流程中的方法论,使安全成为开发、运维、安全团队的共同责任
- [[Shift-Left-Security]]:安全测试左移到软件开发生命周期早期阶段的实践,降低修复成本
- [[Shift-Right-Security]]:在生产环境部署后持续进行安全监控和响应的实践
- [[SAST]]Static Application Security Testing静态应用安全测试分析源代码发现安全漏洞
- [[DAST]]Dynamic Application Security Testing动态应用安全测试通过模拟外部攻击发现运行时刻漏洞
- [[IAST]]Interactive Application Security Testing交互式应用安全测试在运行时检测漏洞
- [[SCA]]Software Composition Analysis软件组成分析扫描第三方依赖中的已知漏洞
- [[SDLC]]Software Development Lifecycle软件开发生命周期包括需求分析、规划、架构设计、开发、测试、部署六阶段
- [[Break-the-Build]]:当安全风险过高时自动停止构建进程的机制
- [[Policy-as-Code]]:以代码形式定义和管理安全策略的实践
- [[Immutable-Infrastructure]]:不可变基础设施,通过预配置组件减少未授权变更风险
## Key Entities
- [[Amazon-Inspector]]AWS 漏洞管理服务,可自动处理安全漏洞
- [[Amazon-CodeGuru-Reviewer]]AWS 代码审查服务,识别安全问题和资源泄漏
- [[AWS-CodePipeline]]AWS CI/CD 服务,用于应用部署和管理
- [[Snyk]]:开源安全工具,集成到 DevSecOps 工具链
- [[SonarQube]]:代码质量和安全静态分析工具
- [[Jenkins]]:开源 CI/CD 工具DevOps 工具)
- [[Docker]]容器化平台DevOps 工具)
- [[Kubernetes]]容器编排平台DevOps 工具)
## DevSecOps vs DevOps Comparison
| 维度 | DevOps | DevSecOps |
|------|--------|-----------|
| **定义** | 强调开发与运维协作加速交付 | 将安全实践集成到开发过程 |
| **主焦点** | 加速软件开发与部署 | 在每个开发阶段集成安全 |
| **安全角色** | 安全单独处理或最后处理 | 从一开始就将安全嵌入每个步骤 |
| **目标** | 提升团队速度和协作 | 早期解决安全问题预防后续问题 |
| **自动化** | 自动化开发与运维任务 | 自动化安全检查与开发任务 |
| **团队参与** | 开发与运维协作 | 开发、运维、安全三方协作 |
| **合规方式** | 开发后进行合规检查 | 开发部署全程确保合规 |
## DevSecOps 核心组件
### 1. 协作Collaboration
- 安全任务在开发和运维团队间共享
- 不需要独立的安全团队
- 开发者被鼓励理解安全实践
### 2. 沟通Communication
- 安全专业人员需要用开发者理解的简单语言解释安全控制
- 开发者应了解安全责任,识别潜在威胁,遵循安全编码最佳实践
- 在开发过程中进行漏洞测试
### 3. 自动化Automation
- 将自动化安全测试添加到 CI/CD 管道
- "Break the Build" 机制在安全风险过高时停止构建
- 确保软件依赖保持最新
### 4. 工具与架构安全Security of Tools and Architecture
- 选择和审查安全工具
- 谨慎管理用户访问(多因素认证、最小权限)
- 定期监控工作站和服务器漏洞
- 扫描代码中的敏感数据
- 新容器配置安全设置
### 5. 测试Testing
- 在每个开发阶段集成安全测试
- 使用 OWASP Top Ten 进行基础安全测试
- SAST/DAST/IAST 技术
- 渗透测试和威胁建模
- Bug Bounty 计划
## Connections
- [[DevOps]] ← extends ← [[DevSecOps]]DevSecOps 是 DevOps 的安全扩展)
- [[Agile-Practices]] ← integrates_with ← [[DevSecOps]](敏捷开发与 DevSecOps 相辅相成)
- [[CI/CD-Pipeline]] ← embeds ← [[DevSecOps-Security-Tools]](安全工具集成到 CI/CD 管道)
- [[Cloud-Transformation]] ← includes ← [[DevSecOps]](云转型包含 DevSecOps 实践)
- [[Shift-Left-Security]] ← complements ← [[Shift-Right-Security]](左移与右移互补)
## Contradictions
- **安全与速度的张力**传统观点认为安全检查会减慢开发速度DevSecOps 主张通过自动化实现安全与速度双赢
- **集中式 vs 分布式安全**传统安全团队独立负责安全DevSecOps 倡导安全责任分散到整个开发团队
- **合规时机**传统做法在开发后进行合规检查DevSecOps 强调全程合规
---
title: "What is DevSecOps? Best Practices, Benefits, and Tools"
type: source
tags: []
date: 2023-10-30
---
## Source File
- [[Cloud & DevOps/What is DevSecOps Best Practices, Benefits, and Tools]]
## Summary用中文描述
- 核心主题DevSecOps 将安全实践深度嵌入软件开发生命周期SDLC实现"安全即代码"
- 问题域:传统 DevOps 在后期才引入安全导致漏洞修复成本高、交付速度慢的问题
- 方法/机制:通过 Shift Left左移和 Shift Right右移策略在 CI/CD 流水线中集成 SAST/DAST/SCA/IAST 等自动化安全工具,培养"全员安全责任"文化
- 结论/价值DevSecOps 能将 70% 的上线后发现的安全漏洞提前预防,实现安全与速度的平衡
## Key Claims用中文描述
- 70% 的软件漏洞可在 DevSecOps 实践中被预防
- 安全左移Shift Left使团队能在开发早期发现并修复安全问题降低修复成本
- 自动化安全测试集成到 CI/CD 流水线中,可在不减缓开发速度的前提下保障安全
- DevSecOps 通过"break the build"机制,当安全风险过高时停止构建流程
- SAST、DAST、SCA、IAST 四类安全工具分别覆盖代码编写、运行时、第三方依赖和交互测试等不同阶段
## Key Quotes
> "DevSecOps is a working methodology that includes security checks throughout the software development process." — DevSecOps 核心定义
> "70% of software vulnerabilities discovered post-launch could have been prevented with DevSecOps" — DevSecOps 价值量化
> "Everyone in the organization developing software is liable for security." — 全员安全责任文化
> "Shift left means identifying security flaws early in the software development lifecycle." — 左移策略定义
## Key Concepts
- [[DevSecOps]]:在 DevOps 中全程集成安全实践的工作方法论
- [[Shift Left]]:在软件开发生命周期早期识别并修复安全缺陷的策略
- [[Shift Right]]:在应用上线后持续进行安全监控和问题修复的策略
- [[SAST]]:静态应用安全测试,在代码编写阶段分析源代码以发现漏洞
- [[DAST]]:动态应用安全测试,模拟外部攻击从运行时发现漏洞
- [[SCA]]:软件成分分析,扫描第三方依赖库和框架的已知安全漏洞
- [[IAST]]:交互式应用安全测试,在应用运行时检测其他工具遗漏的漏洞
- [[CI/CD 安全]]:在持续集成/持续交付流水线中自动化执行安全扫描
- [[Break the Build]]:当安全风险超过阈值时自动停止构建流程的机制
- [[Policy as Code]]:以代码形式定义和自动执行安全策略的方法
## Key Entities
- [[OWASP Top Ten]]Web 应用安全标准DevSecOps 测试中的重要参考框架
- [[AWS CodePipeline]]AWS 的 CI/CD 工具,可集成安全扫描
- [[Amazon Inspector]]AWS 漏洞管理自动化工具
- [[Amazon CodeGuru Reviewer]]AWS 代码安全和最佳实践审查工具
## Connections
- [[DevOps]] ← extends ← [[DevSecOps]]DevSecOps 是 DevOps 的安全扩展)
- [[CI/CD 安全]] ← depends_on ← [[SAST]] / [[DAST]] / [[SCA]] / [[IAST]]
- [[DevSecOps]] ← applies ← [[Shift Left]]
- [[DevSecOps]] ← applies ← [[Shift Right]]
- [[Agile Development]] ← integrates ← [[DevSecOps]]
## Contradictions
- 与传统瀑布式开发相比:
- 冲突点:传统方式在 SDLC 末期才进行安全测试
- 当前观点:DevSecOps 强调安全全程嵌入
- 对方观点:安全专家在开发完成后再统一介入更专业