第十章: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
  • 微服务架构
  • 服务网格

💡 提示:安全应该"左移",尽早发现问题,减少修复成本。