Модуль 13 — DevSecOps ⭐⭐⭐⭐
Безопасность встроенная, не наклеенная. Самые высокооплачиваемые DevOps-роли — DevSecOps. Это твоя главная цель.
Философия
Shift Left + Shift Right.
- Shift Left: безопасность с самых ранних этапов (код, dependencies, IaC)
- Shift Right: безопасность в проде (runtime detection, response, observability)
Принципы
- Security as Code — политики и проверки в Git, не в почте
- Secure by default — пайплайн ломается на уязвимостях, а не «позже починим»
- Least privilege везде — IAM, RBAC, sudo, mTLS
- Defense in depth — несколько слоёв (нет «одной серебряной пули»)
- Zero Trust — не доверяй, проверяй (даже внутри сети)
- Blameless culture — после инцидента ищем процессы, не виноватого
Карта компетенций (1 фаза = 1 месяц)
A. Security Fundamentals
OWASP Top 10
- OWASP Web Top 10 (2021): Broken Access Control, Cryptographic Failures, Injection, Insecure Design, Security Misconfiguration, Vulnerable Components, Auth Failures, Software/Data Integrity Failures, Logging Failures, SSRF
- OWASP API Top 10 (2023)
- OWASP Top 10 для LLM (актуально 2024+)
Криптография базово
- Симметричное (AES-GCM) vs асимметричное (RSA, ECDSA, Ed25519)
- Hashing: SHA-256, SHA-3, bcrypt/scrypt/argon2 для паролей
- HMAC, KDF (PBKDF2, HKDF)
- Цифровые подписи
- Никогда не катите свою криптографию
- Post-quantum cryptography — следи за NIST PQC
AuthN / AuthZ
- OAuth 2.0 — authorization framework, не аутентификация
- OpenID Connect (OIDC) — auth поверх OAuth 2.0
- SAML — энтерпрайз SSO
- JWT — структура, как валидировать, типичные уязвимости (alg=none, weak secret)
- mTLS, mutual auth
- WebAuthn / Passkeys — будущее без паролей
- API tokens vs API keys best practices
Threat Modeling
- STRIDE (Microsoft): Spoofing, Tampering, Repudiation, Info disclosure, DoS, Elevation of privilege
- PASTA — process-driven
- Attack Trees
- MITRE ATT&CK Framework — каталог техник атакующих
- Tool: OWASP Threat Dragon, IriusRisk
Zero Trust
- BeyondCorp (Google paper) — заклади концепции
- NIST 800-207 — формальный стандарт
- ZTNA продукты: Tailscale, Cloudflare Access, Zscaler
- Принцип: каждый запрос проверяется заново
B. Shift-Left: Security в SDLC
SAST (Static Application Security Testing)
Сканирование исходников на уязвимости.
- SonarQube ⭐ — quality + security, широко в энтерпрайзе
- Semgrep ⭐ — быстрый, кастомные правила
- Snyk Code
- GitHub Advanced Security / CodeQL — глубокий анализ data flow
- Bandit (Python), gosec (Go), brakeman (Ruby) — language-specific
SCA (Software Composition Analysis)
Сканирование зависимостей (npm, pip, maven) на CVE.
- Snyk ⭐
- Dependabot (GitHub) — авто-PR обновлений
- Renovate — больше настроек, multi-platform
- Trivy — universal (включает SCA)
- OWASP Dependency-Check
- Grype (Anchore)
Secrets Scanning
- Gitleaks ⭐ — быстрый, в pre-commit
- TruffleHog — entropy + regex
- GitHub Secret Scanning — встроенный, бесплатно для публичных
- detect-secrets (Yelp)
IaC Scanning
- tfsec ⭐ — для Terraform
- Checkov ⭐ — Terraform, CloudFormation, K8s, Helm
- Trivy IaC
- KICS — universal IaC
- Terrascan
Container Scanning
- Trivy ⭐ — стандарт. CVE + secrets + misconfigs + license
- Grype + Syft
- Anchore Engine
- Clair — встроен в Harbor
DAST (Dynamic)
- OWASP ZAP ⭐ — open source, можно в CI
- Burp Suite Community — для ручного тестинга
- Nuclei — template-based, быстрый
Pre-commit framework
Один инструмент для всех hooks: gitleaks, terraform fmt, shellcheck, yamllint, и т.д. См. модуль Git.
C. Runtime Security
Falco ⭐
- eBPF/syscall-based threat detection
- Rules engine: «alert если кто-то shell в pod»
- CNCF Graduated проект
- Output: stdout, JSON, webhooks, syslog
- Falcosidekick — роутинг алертов
Tetragon (Cilium)
eBPF observability + enforcement. Может блокировать процессы, не только алертить.
CIS Benchmarks
- CIS Kubernetes Benchmark —
kube-benchдля проверки кластера - CIS Docker Benchmark —
docker-bench-security - CIS Linux Benchmarks —
Lynis,OpenSCAP - CIS AWS Foundations — Prowler, Steampipe
Kubernetes Pod Security
- Pod Security Standards (PSS): Privileged / Baseline / Restricted
- Pod Security Admission (PSA) — встроен в K8s 1.25+
- Kyverno ⭐ — admission controller, policy в YAML (проще OPA)
- OPA Gatekeeper — на Rego, мощнее, сложнее
Kyverno policy — пример
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: require-non-root
spec:
validationFailureAction: Enforce
rules:
- name: validate-non-root
match:
any:
- resources:
kinds: [Pod]
validate:
message: "Containers must run as non-root"
pattern:
spec:
securityContext:
runAsNonRoot: true
Network Security в K8s
- NetworkPolicy — firewall на уровне pod
- Default deny + явные allow — best practice
- Cilium NetworkPolicy — расширенная (L7, FQDN, identity-based)
- Service Mesh mTLS (Istio/Linkerd) — encryption + identity между сервисами
D. Secret Management ⭐⭐
HashiCorp Vault ⭐
- Engines: KV, PKI, Transit (encryption-as-service), Database (dynamic credentials), AWS, SSH
- Auth methods: token, AppRole, Kubernetes, AWS IAM, OIDC, LDAP
- Policies — HCL/JSON, fine-grained
- Dynamic secrets ⭐ — выдача временных credentials. Нет статичных паролей в БД
- Transit engine — шифрование без хранения ключей у вас
- Vault Operator в K8s
External Secrets Operator (ESO) ⭐
K8s оператор синхронизирует секреты из Vault / AWS Secrets Manager / GCP Secret Manager → K8s Secret. Стандарт для K8s.
Sealed Secrets, SOPS
- Sealed Secrets (Bitnami) — encrypt секрет публичным ключом → в Git → расшифровывается только в кластере
- SOPS (Mozilla) — шифрует значения в YAML/JSON. Отлично для GitOps + Kustomize/Helm
E. Supply Chain Security ⭐⭐⭐ (горячая тема)
После SolarWinds, Log4Shell — supply chain стал главной заботой индустрии.
SBOM (Software Bill of Materials)
- Список всех компонентов
- Форматы: SPDX (Linux Foundation), CycloneDX (OWASP)
- Генерация: Syft (Anchore)
- Distribution: OCI artifacts вместе с образом
- Scanning SBOM на CVE: Grype
Sigstore ⭐⭐
Бесплатная экосистема подписи open source artifacts.
- Cosign ⭐ — подпись container images, SBOM, blobs
- Rekor — transparency log (immutable record подписей)
- Fulcio — short-lived certificates от OIDC identity (не нужны private keys!)
- Gitsign — подпись git commits через OIDC
# keyless signing через GitHub OIDC в CI
cosign sign --yes ghcr.io/me/app:v1.0
# верификация
cosign verify \
--certificate-identity=https://github.com/me/app/.github/workflows/ci.yml@refs/heads/main \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
ghcr.io/me/app:v1.0
SLSA (Supply-chain Levels for Software Artifacts)
Фреймворк зрелости. Уровни 1-4.
- SLSA Level 1: документированный build process
- SLSA Level 2: hosted build platform с провенансом
- SLSA Level 3: source/build trusted, provenance authenticated
- SLSA Level 4: two-person review, hermetic builds, reproducible
Admission control в K8s
- Sigstore Policy Controller — допускать только подписанные образы
- Kyverno verifyImages — то же через Kyverno
F. Compliance
Стандарты
- SOC 2 Type II ⭐ — самый частый запрос B2B SaaS
- ISO 27001 — европейский стандарт
- PCI DSS — для финтеха
- HIPAA — медицина (US)
- GDPR — данные граждан ЕС
- NIST CSF, NIST 800-53
- CIS Controls v8
Что делает DevSecOps для compliance
- Автоматизированные доказательства (audit trails в CI/CD)
- Compliance as Code (OPA, Cloud Custodian, AWS Config)
- Encryption at rest / in transit — везде
- Logging и retention policies
- Access reviews (квартально)
- Vulnerability management процесс
Инструменты
- Cloud Custodian — policy engine для cloud
- Steampipe / Powerpipe — SQL поверх облачных API
- Prowler — AWS compliance scanner
- AWS Config Rules, GCP SCC, Azure Defender
- Drata, Vanta — managed compliance (SOC 2 готовка)
G. SIEM / SOAR
- Wazuh ⭐ — open source SIEM + endpoint security
- Elastic SIEM / Security
- Splunk Enterprise Security — лидер коммерческий, дорогой
- MITRE ATT&CK — фреймворк техник
- Sigma rules — универсальный язык detection rules
Pipeline DevSecOps
┌──────────────────────────────────────────┐
│ Pre-commit (на машине разработчика) │
│ • gitleaks (секреты) │
│ • formatting (terraform fmt, prettier) │
└──────────────────────────────────────────┘
↓ git push
┌──────────────────────────────────────────┐
│ CI Pipeline │
│ • unit tests + coverage │
│ • SAST (Semgrep) │
│ • SCA (Trivy / Snyk) │
│ • secret scan (Gitleaks) │
│ • IaC scan (Checkov, tfsec) │
└──────────────────────────────────────────┘
↓
┌──────────────────────────────────────────┐
│ Build │
│ • image build (BuildKit/Kaniko) │
│ • SBOM (Syft) │
│ • image vuln scan (Trivy/Grype) │
│ • sign (Cosign keyless) │
└──────────────────────────────────────────┘
↓
┌──────────────────────────────────────────┐
│ Pre-deploy │
│ • DAST (ZAP) на staging │
│ • integration tests │
└──────────────────────────────────────────┘
↓
┌──────────────────────────────────────────┐
│ Deploy (K8s) │
│ • admission control: │
│ - Kyverno verifyImages (signature) │
│ - PSS Restricted │
│ • NetworkPolicy default deny │
│ • mTLS via Service Mesh │
└──────────────────────────────────────────┘
↓
┌──────────────────────────────────────────┐
│ Runtime │
│ • Falco / Tetragon │
│ • audit logs → SIEM │
│ • continuous compliance (Prowler cron) │
└──────────────────────────────────────────┘
Сертификации
| Сертификация | Уровень | Польза для DevSecOps |
|---|---|---|
| CKS ⭐⭐ | Practitioner | Топ для K8s security |
| AWS Security Specialty ⭐ | Practitioner | Топ для cloud security |
| CompTIA Security+ | Foundational | Базовая |
| HashiCorp Vault Associate | Узкий | Релевантно |
| (ISC)² CSSLP | Senior | Secure SDLC, академично |
| OSCP | Advanced | Offensive — глубоко, но overkill |
| GIAC GCSA | Senior | Cloud Security Automation |
| CISSP | Senior management | Если в management |
Ты Senior DevSecOps когда
- ☐ Знаешь OWASP Top 10 и можешь объяснить каждое
- ☐ Настроил полный secure pipeline
- ☐ Cosign keyless signing работает в твоём CI
- ☐ Vault + ESO в продакшене
- ☐ Kyverno policies с verifyImages, runAsNonRoot, default-network-policy
- ☐ Falco с кастомными правилами + alerts
- ☐ Понимаешь SLSA уровни и метил уровень 3
- ☐ Знаешь как готовиться к SOC 2 audit
- ☐ Threat modeling по STRIDE — норма
- ☐ CKS сдан
- ☐ AWS Security Specialty сдан
Источники
- Книга: «Container Security» — Liz Rice (бесплатно от O'Reilly через Aqua)
- Книга: «Kubernetes Security» — Liz Rice, Michael Hausenblas
- Курс: KodeKloud CKS
- Newsletter: tldrsec.com — must subscribe
- OWASP: owasp.org — все cheat sheets
- Sigstore: sigstore.dev
- SLSA: slsa.dev
- YouTube: NahamSec, IppSec, Liveoverflow
DevSecOps освоен. Ты не Junior, не Middle — ты Senior DevSecOps.