62 lines
2.5 KiB
Markdown
62 lines
2.5 KiB
Markdown
# 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]]
|