# 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]]