第十章:DevOps 安全实践 (DevSecOps)
最后更新: 2024-01-01
作者: DevOps Team
页面目录
第十章:DevOps 安全实践 (DevSecOps)
DevSecOps 是将安全实践融入 DevOps 流程的理念,确保安全不再是事后补救,而是贯穿整个开发生命周期。
10.1 安全扫描集成
10.1.1 CI/CD 安全扫描阶段
# GitLab CI 安全扫描
security_scan:
stage: security
image: aquasec/trivy:latest
script:
- trivy image --exit-code 1 --severity HIGH,CRITICAL myapp:latest
allow_failure: true
only:
- main
dependency_scanning:
stage: security
image: aquasec/trivy:latest
script:
- trivy fs --exit-code 1 --severity HIGH,CRITICAL .
allow_failure: true
secret_detection:
stage: security
script:
- truffleHog --json --repo_url https://github.com/org/repo .
allow_failure: true
10.2 密钥管理
10.2.1 HashiCorp Vault 集成
# Kubernetes Secret 外部化
apiVersion: kubernetes-client.io/v1
kind: ExternalSecret
metadata:
name: app-secrets
spec:
refreshInterval: 1h
secretStoreRef:
name: vault-backend
kind: SecretStore
target:
name: app-secrets
data:
- secretKey: DATABASE_PASSWORD
remoteRef:
key: production/myapp/database
property: password
10.3 本章小结
| 实践 | 工具 | 集成阶段 |
|---|---|---|
| 容器扫描 | Trivy, Clair | CI/CD |
| 代码扫描 | SonarQube, Snyk | CI/CD |
| 密钥管理 | Vault, Sealed Secrets | Runtime |
| 策略执行 | OPA, Kyverno | Deploy |
📌 下一章预告
下一章我们将学习 云原生架构设计,包括:
- 12-Factor App
- 微服务架构
- 服务网格
💡 提示:安全应该"左移",尽早发现问题,减少修复成本。