Pular para o conteúdo
Skillpedia
Diversos35 mil · #5777

hardening-docker-containers-for-production

Faz seu agente tornar contêineres Docker mais seguros para uso em produção. Ele verifica e ajusta configurações para seguir as melhores práticas de segurança.

O que ela faz

Esta ferramenta ajuda a tornar seus contêineres Docker mais seguros para uso em produção. Ela aplica as melhores práticas de segurança para proteger contra ataques e evitar que programas maliciosos ganhem privilégios.

Quando usar

  • ✓Ao preparar um contêiner para ir para produção.
  • ✓Ao revisar a segurança de imagens Docker existentes.
  • ✓Ao configurar como os contêineres rodam no seu sistema.

Exemplo do que pedir para a IA

“Como posso tornar meu contêiner Docker mais seguro para produção?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/hardening-docker-containers-for-production/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/hardening-docker-containers-for-production/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela ajusta o arquivo que descreve como construir sua imagem (Dockerfile) e as configurações de como o contêiner roda. Isso inclui rodar como um usuário sem privilégios e limitar o que o contêiner pode fazer.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill hardening-docker-containers-for-production

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/hardening-docker-containers-for-production/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Endurecimento de Contêineres Docker para Produção

Visão Geral

O endurecimento de contêineres Docker para produção envolve a aplicação de melhores práticas de segurança alinhadas com o CIS Docker Benchmark v1.8.0 para minimizar a superfície de ataque, prevenir a escalada de privilégios e impor princípios de menor privilégio em todo o daemon Docker, imagens, contêineres e configurações de tempo de execução.

Quando Usar

  • Ao implantar ou configurar o endurecimento de contêineres Docker para capacidades de produção em seu ambiente
  • Ao estabelecer controles de segurança alinhados com requisitos de conformidade
  • Ao construir ou melhorar a arquitetura de segurança para este domínio
  • Ao realizar avaliações de segurança que exigem esta implementação

Pré-requisitos

  • Docker Engine 24.0+ instalado
  • Docker Compose v2
  • Host Linux com kernel 5.10+
  • Acesso root ou sudo no host Docker
  • Ferramenta docker-bench-security
  • Hadolint para linting de Dockerfile
  • Dockle para linting de imagem

Conceitos Principais

Seções do CIS Docker Benchmark

  1. Configuração do Host - Auditar arquivos do daemon Docker, restringir o acesso a /var/run/docker.sock
  2. Configuração do Daemon Docker - Habilitar TLS, restringir a comunicação entre contêineres, configurar logging
  3. Arquivos de Configuração do Daemon Docker - Definir propriedade e permissões em daemon.json
  4. Imagens Docker e Arquivo de Build - Usar imagens base confiáveis, escanear por vulnerabilidades, builds multi-estágio
  5. Tempo de Execução do Contêiner - Remover capacidades, rootfs somente leitura, restringir syscalls
  6. Operações de Segurança Docker - Monitorar, auditar e rotacionar credenciais

Princípios Chave de Endurecimento

  • Menor Privilégio: Executar contêineres como não-root, remover todas as capacidades, exceto as necessárias
  • Imutabilidade: Usar sistema de arquivos raiz somente leitura, tmpfs para diretórios graváveis
  • Minimalismo: Usar imagens base distroless ou Alpine, builds multi-estágio
  • Isolamento: Aplicar perfis seccomp, AppArmor/SELinux, restrições de namespace
  • Auditabilidade: Habilitar confiança de conteúdo, registrar toda a atividade do contêiner

Fluxo de Trabalho

Etapa 1: Endurecer o Dockerfile

# Use specific digest for reproducibility
FROM python:3.12-slim@sha256:abc123... AS builder

WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir --user -r requirements.txt

# Production stage - minimal image
FROM gcr.io/distroless/python3-debian12

# Copy only necessary artifacts
COPY --from=builder /root/.local /root/.local
COPY --from=builder /app /app

WORKDIR /app

# Create non-root user
USER 65534:65534

# Set read-only filesystem expectation
LABEL org.opencontainers.image.source="https://github.com/org/app"

ENTRYPOINT ["python", "app.py"]

Etapa 2: Endurecer a Configuração do Daemon Docker

{
  "icc": false,
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "live-restore": true,
  "userland-proxy": false,
  "no-new-privileges": true,
  "default-ulimits": {
    "nofile": {
      "Name": "nofile",
      "Hard": 64000,
      "Soft": 64000
    },
    "nproc": {
      "Name": "nproc",
      "Hard": 1024,
      "Soft": 1024
    }
  },
  "seccomp-profile": "/etc/docker/seccomp-default.json",
  "tls": true,
  "tlscacert": "/etc/docker/tls/ca.pem",
  "tlscert": "/etc/docker/tls/server-cert.pem",
  "tlskey": "/etc/docker/tls/server-key.pem",
  "tlsverify": true
}

Etapa 3: Endurecer o Tempo de Execução do Contêiner

docker run -d \
  --name production-app \
  --read-only \
  --tmpfs /tmp:rw,noexec,nosuid,size=100m \
  --tmpfs /var/run:rw,noexec,nosuid,size=10m \
  --cap-drop ALL \
  --cap-add NET_BIND_SERVICE \
  --security-opt no-new-privileges:true \
  --security-opt seccomp=/etc/docker/seccomp-default.json \
  --security-opt apparmor=docker-default \
  --pids-limit 100 \
  --memory 512m \
  --memory-swap 512m \
  --cpus 1.0 \
  --user 65534:65534 \
  --network custom-bridge \
  --restart on-failure:3 \
  --health-cmd "curl -f http://localhost:8080/health || exit 1" \
  --health-interval 30s \
  --health-timeout 10s \
  --health-retries 3 \
  myapp:latest

Etapa 4: Habilitar a Confiança de Conteúdo Docker

export DOCKER_CONTENT_TRUST=1
export DOCKER_CONTENT_TRUST_SERVER=https://notary.example.com

# Sign and push image
docker trust sign myregistry.com/myapp:v1.0.0

# Verify image signature before pull
docker trust inspect --pretty myregistry.com/myapp:v1.0.0

Etapa 5: Configurar Auditoria no Nível do Host

# Adicionar regras de auditoria para arquivos e diretórios Docker
cat >> /etc/audit/rules.d/docker.rules << 'EOF'
-w /usr/bin/docker -k docker
-w /var/lib/docker -k docker

…
Perguntas frequentes

O que é 'hardening'?

'Hardening' significa tornar algo mais seguro, removendo ou desativando funcionalidades desnecessárias e aplicando configurações de segurança.

O que é um contêiner Docker?

Um contêiner Docker é uma forma leve de empacotar e rodar um aplicativo e suas dependências, garantindo que ele funcione de maneira consistente em diferentes ambientes.

O que é o CIS Docker Benchmark?

É um conjunto de recomendações de segurança criadas por especialistas para ajudar a proteger a plataforma Docker.

Detalhes

Descrição original do autor

Hardens Dockerfiles, images, and per-container runtime settings against the CIS Docker Benchmark v1.8.0: non-root users, dropped capabilities, read-only root filesystem, seccomp and AppArmor profiles, and minimal multi-stage builds, validated with docker-bench-security, Hadolint, and Dockle. Use when preparing a container or Dockerfile for production, or auditing images and runtime flags against C

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5777
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas