Auto-sync: 2026-04-26 20:02
This commit is contained in:
@@ -1,61 +1,55 @@
|
||||
# DevSecOps
|
||||
|
||||
## Definition
|
||||
DevSecOps(Development-Security-Operations)是将安全实践深度集成到软件开发全生命周期的方法论,使安全成为开发、运维、安全团队的共同责任,而非独立环节。
|
||||
|
||||
## Core Principles
|
||||
- **安全即代码**:安全策略、测试和合规检查均以代码形式实现
|
||||
- **共享责任**:安全是每个人的责任,而非仅安全团队的工作
|
||||
- **自动化优先**:通过自动化减少人为错误,提高安全检查效率
|
||||
- **持续安全**:安全贯穿开发、测试、部署、运营全阶段
|
||||
|
||||
## Key Components
|
||||
|
||||
### 1. Collaboration(协作)
|
||||
安全任务在开发和运维团队间共享,安全团队确保安全标准嵌入整个开发流程。
|
||||
|
||||
### 2. Communication(沟通)
|
||||
安全专业人员需要用开发者理解的简单语言解释安全控制,建立共同的安全认知。
|
||||
|
||||
### 3. Automation(自动化)
|
||||
- 将自动化安全测试添加到 CI/CD 管道
|
||||
- "Break the Build" 机制在安全风险过高时停止构建
|
||||
- 确保软件依赖保持最新
|
||||
|
||||
### 4. Tool & Architecture Security(工具与架构安全)
|
||||
- 选择和审查安全工具
|
||||
- 谨慎管理用户访问(多因素认证、最小权限)
|
||||
- 定期监控漏洞和打补丁
|
||||
- 扫描代码中的敏感数据
|
||||
|
||||
### 5. Testing(测试)
|
||||
在每个开发阶段集成安全测试,使用 SAST/DAST/IAST/SCA 等工具。
|
||||
|
||||
## DevSecOps vs DevOps
|
||||
|
||||
| 维度 | DevOps | DevSecOps |
|
||||
|------|--------|-----------|
|
||||
| **定义** | 强调开发与运维协作加速交付 | 将安全实践集成到开发过程 |
|
||||
| **安全角色** | 安全单独处理或最后处理 | 从一开始就将安全嵌入每个步骤 |
|
||||
| **团队参与** | 开发与运维协作 | 开发、运维、安全三方协作 |
|
||||
| **合规方式** | 开发后进行合规检查 | 开发部署全程确保合规 |
|
||||
|
||||
## Benefits
|
||||
- 早期发现漏洞,修复成本降低可达 100 倍
|
||||
- 70% 的上线后发现的安全漏洞可在开发阶段预防
|
||||
- 安全与开发速度实现双赢
|
||||
- 持续合规,减少审计压力
|
||||
|
||||
## Related Concepts
|
||||
- [[Shift-Left-Security]] — 安全测试左移到开发早期
|
||||
- [[Shift-Right-Security]] — 生产环境持续安全监控
|
||||
- [[SAST]] — 静态应用安全测试
|
||||
- [[DAST]] — 动态应用安全测试
|
||||
- [[IAST]] — 交互式应用安全测试
|
||||
- [[SCA]] — 软件组成分析
|
||||
- [[CI/CD Pipeline]] — DevSecOps 的载体
|
||||
- [[Policy-as-Code]] — 以代码管理安全策略
|
||||
- [[Break-the-Build]] — 安全失败时停止构建
|
||||
|
||||
## Sources
|
||||
- [[what-is-devsecops-best-practices-benefits-and-tools]]
|
||||
---
|
||||
title: "DevSecOps"
|
||||
type: concept
|
||||
tags: [devops, security, sdlc, automation, ci-cd]
|
||||
sources: ["what-is-devsecops-best-practices-benefits-and-tools"]
|
||||
last_updated: 2025-12-19
|
||||
---
|
||||
|
||||
## Definition
|
||||
|
||||
DevSecOps(Development + Security + Operations)是一种将安全实践深度嵌入软件开发生命周期(SDLC)全程的工作方法论,使安全成为开发、安全、运营三团队的共同责任,而非独立的末端检查环节。
|
||||
|
||||
## Core Principles
|
||||
|
||||
- **Security as Code**:以代码形式定义安全策略,实现自动化执行和版本控制
|
||||
- **Shift Left**:在开发周期早期发现并修复安全漏洞,降低修复成本
|
||||
- **Shift Right**:在应用上线后持续进行安全监控,快速响应新发现漏洞
|
||||
- **Shared Responsibility**:全员对安全负责,而非仅依赖安全团队
|
||||
- **Automation First**:将安全测试集成到 CI/CD 流水线,减少人工干预
|
||||
|
||||
## Key Tools
|
||||
|
||||
| 工具类型 | 说明 | 典型工具 |
|
||||
|---------|------|---------|
|
||||
| [[SAST]] | 静态代码分析,编码阶段使用 | SonarQube, Checkmarx |
|
||||
| [[DAST]] | 动态渗透测试,模拟外部攻击 | OWASP ZAP, Burp Suite |
|
||||
| [[SCA]] | 软件成分分析,扫描第三方依赖漏洞 | Snyk, Dependabot |
|
||||
| [[IAST]] | 运行时交互式测试,测试阶段使用 | Contrast Security |
|
||||
|
||||
## Relationship with DevOps
|
||||
|
||||
DevSecOps 是 [[DevOps]] 的安全扩展:
|
||||
- DevOps 强调开发与运营协作,追求速度与效率
|
||||
- DevSecOps 在 DevOps 基础上全程嵌入安全实践
|
||||
- 两者共享 CI/CD 流水线文化,但 DevSecOps 在每个阶段加入安全门控
|
||||
|
||||
## Key Metrics
|
||||
|
||||
- 据报告,**70% 的上线后发现的安全漏洞**可通过 DevSecOps 实践预防
|
||||
- "break the build" 机制:在安全风险超阈值时自动停止构建流程
|
||||
- 安全漏洞修复成本:开发早期修复成本仅为上线后的 1/100 ~ 1/10
|
||||
|
||||
## Related Concepts
|
||||
|
||||
- [[Shift Left]] — 在开发早期识别安全缺陷
|
||||
- [[Shift Right]] — 上线后持续安全监控
|
||||
- [[Policy as Code]] — 安全策略即代码
|
||||
- [[CI/CD 安全]] — CI/CD 流水线中的安全自动化
|
||||
- [[OWASP Top Ten]] — Web 应用安全标准
|
||||
|
||||
## Aliases
|
||||
|
||||
- SecOps (Security Operations)
|
||||
- DevOpsSec
|
||||
- Secure DevOps
|
||||
|
||||
Reference in New Issue
Block a user