Learn Docker Help

Docker Security: ProteΓ§Γ£o em Camadas πŸ”’

╔═══════════════════════════════════╗ β•‘ SECURITY MATRIX: DEFCON 1 β•‘ β•‘ β•‘ β•‘ "Proteja seus containers β•‘ β•‘ como se o hack dependesse β•‘ β•‘ disso... porque depende." β•‘ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

Fundamentos de Segurança πŸ›‘οΈ

Modelo de Ameaças

  1. Ataques de rede

  2. Escalação de privilégios

  3. Vulnerabilidades de imagem

  4. Configurações incorretas

  5. Malware e código malicioso

As Cinco Artes Marciais da Segurança πŸ₯·

1. Namespaces: O Isolamento Perfeito

# O ritual do isolamento docker run --pid=host --ipc=host nginx # "Como um monge em sua montanha digital"

Tipos de Namespaces

  • PID Namespace

  • Network Namespace

  • Mount Namespace

  • UTS Namespace

  • IPC Namespace

  • User Namespace

2. Capabilities: O Poder Controlado

# Dropping powers like it's hot docker run --cap-drop ALL --cap-add NET_BIND_SERVICE nginx # "Com grandes poderes vΓͺm grandes vulnerabilidades"

3. SecComp: O Filtro Místico

{ "defaultAction": "SCMP_ACT_ERRNO", "architectures": ["SCMP_ARCH_X86_64"], "syscalls": [ { "names": ["accept", "bind"], "action": "SCMP_ACT_ALLOW" } ] }

Perfis SecComp Comuns

  • Default Docker Profile

  • Custom Restricted Profile

  • No New Privileges Flag

4. AppArmor: O Escudo Invisível

# Profile de proteΓ§Γ£o docker run --security-opt apparmor=docker-default nginx # "Protegido por forΓ§as alΓ©m da compreensΓ£o mortal"

Políticas AppArmor

  • Controle de acesso a arquivos

  • Capacidades de rede

  • Montagem de sistemas de arquivos

  • Execução de programas

5. SELinux: O Guardião Ancestral

# Modo enforcing ativado docker run --security-opt label=level:s0:c100,c200 nginx # "Porque Γ s vezes, paranoia Γ© apenas bom senso"

Contextos SELinux

  • Processo

  • Arquivo

  • Porta

  • Usuário

Segurança em Camadas πŸ”’

1. Segurança da Imagem

  • Imagens base mínimas

  • Multi-stage builds

  • Scanning de vulnerabilidades

  • Versionamento explícito

  • Políticas de atualização

2. Segurança do Runtime

  • Limites de recursos

  • Health checks

  • Logging e monitoramento

  • Políticas de reinicialização

  • Gestão de secrets

3. Segurança da Rede

  • Redes isoladas

  • Firewalls internos

  • TLS mútuo

  • Service mesh

  • Network policies

Best Practices: O Caminho do Guerreiro πŸ—‘οΈ

DO's βœ…

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ 1. Minimize a superfΓ­cie β”‚ β”‚ 2. Use imagens oficiais β”‚ β”‚ 3. Scan de vulnerabilidades β”‚ β”‚ 4. Updates regulares β”‚ β”‚ 5. Monitore tudo β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

DON'Ts ❌

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ 1. Nunca use root β”‚ β”‚ 2. NΓ£o ignore warnings β”‚ β”‚ 3. Evite portas desnecessΓ‘riasβ”‚ β”‚ 4. NΓ£o guarde secrets no code β”‚ β”‚ 5. NΓ£o confie em ninguΓ©m β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Secrets Management: A Arte do Sigilo 🀫

Vault-chan's Tips

# Gerenciando secrets como um ninja docker secret create app_secret secret.txt docker service create --secret app_secret nginx # "Seus segredos estΓ£o seguros comigo, senpai!"

Estratégias de Gestão de Secrets

  1. Docker Secrets

  2. HashiCorp Vault

  3. AWS Secrets Manager

  4. Azure Key Vault

  5. GCP Secret Manager

Container Hardening: A Forja Digital βš”οΈ

Dockerfile Fortificado

# Base segura FROM alpine:latest AS builder RUN adduser -D appuser USER appuser # Multi-stage para minimizar superfΓ­cie FROM scratch COPY --from=builder /etc/passwd /etc/passwd USER appuser

Checklist de Hardening

  1. Usuário não-root

  2. Filesystem read-only

  3. Capabilities mínimas

  4. Seccomp profile

  5. AppArmor/SELinux

Security Scanning: O Olho que Tudo Vê πŸ‘οΈ

Ferramentas de Scanning

  1. Trivy

  2. Clair

  3. Anchore

  4. Snyk

  5. Docker Scan

Trivy: O Scanner Místico

# Invocando o scanner trivy image nginx:latest # "Deixe que os olhos do void examinem seu cΓ³digo"

Runtime Protection: A Guarda Eterna ⚑

Falco: O Sentinela

- rule: Terminal shell in container desc: A shell was spawned by a container condition: container.id != host and proc.name = bash output: Shell spawned in a container (user=%user.name container=%container.name) priority: WARNING

Ferramentas de Runtime Protection

  1. Falco

  2. Aqua Security

  3. Twistlock

  4. NeuVector

  5. StackRox

Incident Response: O Plano de Batalha 🚨

O Protocolo do Caos

  1. Detectar: "Algo se move nas sombras..."

  2. Conter: "Sele as brechas!"

  3. Erradicar: "Purificação digital!"

  4. Recuperar: "Ressurreição dos sistemas!"

Playbooks de Resposta

  1. Container Compromise

  2. Image Vulnerability

  3. Network Breach

  4. Resource Exhaustion

  5. Privilege Escalation

Compliance e Auditoria πŸ“‹

Frameworks de Compliance

  • CIS Docker Benchmark

  • NIST Container Security

  • PCI DSS

  • HIPAA

  • SOC 2

Ferramentas de Auditoria

  1. Docker Bench Security

  2. InSpec

  3. Dockle

  4. Lynis

  5. OpenSCAP

Security Tips πŸ’‘

Laboratório Prático πŸ”¬

Exercício 1: Configuração Básica

  1. Configure um container rootless

  2. Implemente AppArmor profile

  3. Configure network policies

  4. Estabeleça resource limits

  5. Implemente health checks

Exercício 2: Hardening Avançado

  1. Multi-stage build

  2. SecComp profile customizado

  3. SELinux policies

  4. Docker Secrets

  5. Scanning automation

Exercício 3: Monitoramento

  1. Configure Falco

  2. Implemente logging

  3. Setup alerting

  4. Trace syscalls

  5. Analyze metrics

Recursos Adicionais πŸ“š

Documentação Oficial

Ferramentas

Comunidade

  • Docker Security Mailing List

  • Container Security Working Group

  • CNCF Security SIG

16 abril 2025