Co je Container Security?
Container Security zahrnuje všechny praktiky, nástroje a procesy pro zabezpečení kontejnerizovaných aplikací od build time přes deployment až po runtime. Kontejnery sdílejí kernel hostitelského systému, což přináší nové bezpečnostní výzvy oproti tradičním virtuálním strojům. Efektivní container security vyžaduje multi-layered approach pokrývající image scanning, runtime protection, network isolation, secrets management a compliance enforcement.
Proč je Container Security kritická?
Kontejnery změnily způsob, jakým vyvíjíme a deployujeme aplikace, ale také přinesly nové bezpečnostní rizika:
- Sdílený kernel: Všechny kontejnery na hostu sdílejí stejný OS kernel - kernel exploit může kompromitovat celý host
- Image vulnerabilities: 80%+ Docker images obsahuje známé CVE zranitelnosti
- Misconfigurations: Privilegované kontejnery, mounted Docker socket, exposed APIs
- Supply chain risks: Untrusted base images, malicious layers, backdoored dependencies
- Runtime threats: Container breakout, lateral movement, crypto mining
- Secrets exposure: Hardcoded credentials, env variables, mounted secrets
- Network attacks: Pod-to-pod lateral movement bez network policies
Známé container security incidenty
- Tesla Kubernetes cryptojacking (2018): Nechráněný Kubernetes dashboard použit pro mining
- Docker Hub malicious images: 17 malicious images s 5M+ pullů obsahovaly cryptominers
- RunC vulnerability (CVE-2019-5736): Container breakout umožňující root access na hostu
- Kinsing malware: Exploituje misconfigured Kubernetes pro cryptomining a botnet
Vrstvy Container Security
Defense in Depth přístup
1. Build Time Security
Zabezpečení během image build procesu
- Base image selection (minimal, trusted sources)
- Dockerfile best practices (non-root user, no secrets)
- Image scanning pro CVEs (Trivy, Snyk, Clair)
- Multi-stage builds pro menší attack surface
- Image signing a verification (Cosign, Notary)
2. Registry Security
Zabezpečení container registry
- Private registries s autentizací
- Image vulnerability scanning v registry
- Access control (RBAC, IAM)
- Image retention policies
- Webhook notifications na nové vulnerabilities
3. Orchestration Security (Kubernetes)
Zabezpečení Kubernetes cluster
- Pod Security Standards (Restricted, Baseline)
- Network Policies (CNI-based isolation)
- RBAC pro users a service accounts
- Admission Controllers (OPA, Kyverno)
- Secrets management (Vault, External Secrets)
4. Runtime Security
Monitoring a protection běžících kontejnerů
- Runtime behavior monitoring (Falco, Tetragon)
- Anomaly detection
- Process/file/network monitoring
- Intrusion prevention
- Audit logging
5. Host Security
Zabezpečení underlying infrastructure
- Minimal host OS (COS, Bottlerocket)
- Kernel hardening (AppArmor, SELinux)
- Host patching a updates
- CIS Benchmarks compliance
- Node isolation
Docker Security Best Practices
Bezpečný Dockerfile
Docker Compose security
Image Scanning nástroje
Trivy
Nejpopulárnější open-source vulnerability scanner pro container images, filesystems a git repos.
- Detekuje CVEs v OS packages a aplikačních závislostech
- Podporuje Docker, containerd, Kubernetes
- Rychlý (seconds) s offline mode
- IaC scanning (Terraform, CloudFormation)
- Secret detection
- SBOM generation
Clair
Static analysis tool pro vulnerabilities v container images od CoreOS.
- Layer-by-layer analysis
- Multiple vulnerability databases
- API-first design
- Integration s Quay registry
Snyk Container
Developer-first container security s fix recommendations.
- Base image recommendations
- Prioritized fix guidance
- CI/CD integration
- Kubernetes deployment scanning
AWS ECR Scanning
Nativní image scanning v Amazon ECR registries.
- Basic (Clair-based) scanning
- Enhanced (Inspector-based)
- Continuous scan on push
- EventBridge notifications
Praktický příklad: Trivy v CI/CD
Kubernetes Security
Pod Security Standards
Kubernetes definuje tři úrovně pod security policies:
Network Policies
Runtime Security
Falco
Runtime security tool používající eBPF pro monitoring syscalls a detekci anomálií.
- Detekuje abnormal behavior (shell spawn, file access)
- Custom rules (Falco rules syntax)
- Kubernetes-aware
- Real-time alerting
- Integration s SIEM
Tetragon
eBPF-based security observability a runtime enforcement od Cilium.
- Process execution monitoring
- File access tracking
- Network connections
- Syscall filtering
- Policy enforcement
Falco rules příklad
Container Security Best Practices - Shrnutí
Build Time
- Používejte minimal base images (alpine, distroless, scratch)
- Specific version tags (ne latest)
- Multi-stage builds pro menší images
- Scan images před push do registry (Trivy, Snyk)
- Non-root user
- No secrets v images nebo Dockerfile
- Sign images (Cosign, Notary)
Kubernetes Deployment
- Pod Security Standards (Restricted pro production)
- Network Policies (default deny all)
- Resource limits (CPU, memory)
- RBAC (least privilege)
- Secrets z external store (Vault, AWS Secrets Manager)
- Admission controllers (OPA, Kyverno)
- Service mesh pro mTLS (Istio, Linkerd)
Runtime
- Runtime monitoring (Falco, Tetragon)
- Anomaly detection a alerting
- Audit logging
- Incident response playbooks
- Regular security audits
Co NEDĚLAT
- Používat latest tag v production
- Run containers as root
- Mount Docker socket do containeru
- Privilegované kontejnery bez důvodu
- Hardcoded secrets v images
- Žádné network policies
- Disable security features pro "rychlejší debugging"
- Ignorovat scan results