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
Mensagem pronta para colar
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-productionOu 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.mdConteú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
- Configuração do Host - Auditar arquivos do daemon Docker, restringir o acesso a /var/run/docker.sock
- Configuração do Daemon Docker - Habilitar TLS, restringir a comunicação entre contêineres, configurar logging
- Arquivos de Configuração do Daemon Docker - Definir propriedade e permissões em daemon.json
- Imagens Docker e Arquivo de Build - Usar imagens base confiáveis, escanear por vulnerabilidades, builds multi-estágio
- Tempo de Execução do Contêiner - Remover capacidades, rootfs somente leitura, restringir syscalls
- 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
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5777
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC