DevOps 面试题大全(九·上):DevSecOps 安全实践 25 题详解

前言

DevSecOps 将安全融入 DevOps 流程,实现"安全左移"。本文整理 50 道 DevOps 安全面试题。

一、基础概念题(1-15 题)

1. 什么是 DevSecOps?

Development + Security + Operations,将安全实践融入 DevOps 全流程,实现持续安全。

2. 安全左移原则

  • 设计阶段:威胁建模
  • 开发阶段:安全编码
  • 构建阶段:依赖扫描
  • 测试阶段:安全测试
  • 部署阶段:配置检查

3. CIA 三要素

  • Confidentiality - 机密性
  • Integrity - 完整性
  • Availability - 可用性

4. 常见安全威胁

  • OWASP Top 10(Web 应用)
  • CWE Top 25(软件弱点)
  • 容器安全威胁
  • 供应链攻击

5. 容器安全最佳实践

  • 使用最小基础镜像
  • 非 root 用户运行
  • 镜像签名验证
  • 定期漏洞扫描
  • 运行时保护

6. Kubernetes 安全上下文

securityContext:
  runAsNonRoot: true
  runAsUser: 1000
  allowPrivilegeEscalation: false
  readOnlyRootFilesystem: true
  capabilities:
    drop:
      - ALL

7. 密钥管理方案

  • HashiCorp Vault
  • AWS Secrets Manager
  • Kubernetes Secrets(加密)
  • Sealed Secrets
  • External Secrets Operator

8. 网络安全策略

  • NetworkPolicy 隔离
  • Service Mesh mTLS
  • WAF Web 应用防火墙
  • DDoS 防护

9. 身份认证方式

  • RBAC 基于角色
  • ABAC 基于属性
  • OIDC/OpenID Connect
  • SAML 单点登录
  • ServiceAccount

10. 审计日志

  • Kubernetes Audit
  • API Server 日志
  • 容器运行时日志
  • 网络流量日志

11-15. 更多基础题

题号 题目 要点
11 什么是零信任? 永不信任,始终验证
12 Pod Security Policy? Pod 安全策略(已废弃)
13 OPA 是什么? 开放策略代理
14 Falco 作用? 容器运行时安全
15 什么是供应链安全? 软件供应链攻击防护

二、进阶实战题(16-25 题)

16. 镜像扫描工具

  • Trivy - 综合扫描器
  • Clair - CoreOS 开发
  • Anchore - 企业级
  • Docker Scan - Docker 内置

17. Trivy 使用示例

# 扫描镜像
trivy image nginx:1.21

# 扫描文件系统
trivy fs /app

# 扫描 Git 仓库
trivy repo github.com/xxx/yyy

# CI 集成
trivy image --exit-code 1 --severity HIGH myapp:latest

18. SAST 工具

  • SonarQube - 代码质量
  • Semgrep - 语义搜索
  • Checkov - IaC 扫描
  • Bandit - Python 安全

19. DAST 工具

  • OWASP ZAP - 动态扫描
  • Burp Suite - 渗透测试
  • Nikto - Web 扫描器
  • SQLMap - SQL 注入

20. SCA 软件成分分析

  • Dependabot - GitHub 集成
  • Snyk - 商业方案
  • WhiteSource - 企业级
  • Renovate - 依赖更新

21. IaC 安全扫描

# Checkov 扫描 Terraform
checkov -d ./terraform

# 扫描 Kubernetes
checkov -f deployment.yaml

# 扫描 CloudFormation
checkov -f template.yaml

# 输出格式
checkov -d . --output json

22. OPA Gatekeeper

# ConstraintTemplate
apiVersion: templates.gatekeeper.sh/v1
kind: ConstraintTemplate
metadata:
  name: k8srequiredlabels
spec:
  crd:
    spec:
      names:
        kind: K8sRequiredLabels
  targets:
    - target: admission.k8s.gatekeeper.sh
      rego: |
        violation[{"msg": msg}] {
          input.review.object.metadata.labels[_] == ""
          msg := "所有资源必须有标签"
        }

23. 网络策略示例

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all-ingress
spec:
  podSelector: {}
  policyTypes:
  - Ingress

24. 密钥轮换策略

  • 定期自动轮换
  • 泄露时紧急轮换
  • 版本化密钥管理
  • 审计密钥使用

25. 安全基线检查

  • CIS Benchmark
  • Kubernetes Hardening Guide
  • NSA/CISA 指南
  • 合规性检查(PCI-DSS, HIPAA)

下篇预告:26-50 题,涵盖高级威胁、故障排查、最佳实践等

发表回复

后才能评论