hardening-docker-daemon-configuration
Ajuda seu agente a proteger a configuração do serviço Docker. Isso é importante para prevenir acessos não autorizados e garantir a segurança do ambiente onde os contêineres rodam.
O que ela faz
Este recurso ajuda a tornar o Docker mais seguro. Ele ajusta as configurações do Docker para impedir que invasores ganhem controle do seu sistema, mesmo que consigam acessar um container.
Quando usar
- ✓Ao configurar um servidor que roda Docker.
- ✓Quando você precisa seguir regras de segurança específicas.
- ✓Ao proteger seu sistema contra ataques.
Exemplo do que pedir para a IA
“Como posso deixar a configuração do meu Docker mais segura?”
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
Ele modifica um arquivo de configuração do Docker, adicionando regras que limitam o que os containers podem fazer e como eles se comunicam com o sistema principal.
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-daemon-configurationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/hardening-docker-daemon-configuration/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.
Configuração de Endurecimento do Daemon Docker
Visão Geral
O daemon Docker (dockerd) é executado com privilégios de root e controla todas as operações de contêiner. Endurecer sua configuração através de /etc/docker/daemon.json, certificados TLS, remapeamento de namespace de usuário e restrições de rede é essencial para prevenir escalonamento de privilégios, movimento lateral e ataques de "container breakout".
Quando Usar
- Ao implantar ou configurar recursos de endurecimento da configuração do daemon Docker em seu ambiente
- Ao estabelecer controles de segurança alinhados a requisitos de conformidade
- Ao construir ou melhorar a arquitetura de segurança para este domínio
- Ao conduzir avaliações de segurança que exigem esta implementação
Pré-requisitos
- Docker Engine 24.0+ instalado
- Acesso root ou sudo ao host Docker
- OpenSSL para geração de certificados TLS
- Compreensão de namespaces e cgroups do Linux
Configuração Principal do daemon.json Endurecido
{
"icc": false,
"userns-remap": "default",
"no-new-privileges": true,
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "5"
},
"storage-driver": "overlay2",
"live-restore": true,
"userland-proxy": false,
"default-ulimits": {
"nofile": {
"Name": "nofile",
"Hard": 65536,
"Soft": 32768
},
"nproc": {
"Name": "nproc",
"Hard": 4096,
"Soft": 2048
}
},
"seccomp-profile": "/etc/docker/seccomp/default.json",
"default-address-pools": [
{
"base": "172.17.0.0/16",
"size": 24
}
],
"iptables": true,
"ip-forward": true,
"ip-masq": true,
"experimental": false,
"metrics-addr": "127.0.0.1:9323",
"max-concurrent-downloads": 3,
"max-concurrent-uploads": 5,
"default-runtime": "runc",
"runtimes": {
"runsc": {
"path": "/usr/local/bin/runsc",
"runtimeArgs": ["--platform=ptrace"]
}
}
}
Explicação Configuração por Configuração
Desabilitar Comunicação Inter-Contêiner (ICC)
{
"icc": false
}
Impede a comunicação de contêineres na rede bridge padrão. Cada contêiner deve usar explicitamente --link ou redes definidas pelo usuário com portas publicadas.
Habilitar Remapeamento de Namespace de Usuário
{
"userns-remap": "default"
}
Mapeia o root do contêiner (UID 0) para um UID não privilegiado alto no host. Isso impede que um "container breakout" ganhe privilégios de root no host.
# Verify userns-remap is active
cat /etc/subuid
# Output: dockremap:100000:65536
cat /etc/subgid
# Output: dockremap:100000:65536
# Verify container UID mapping
docker run --rm alpine id
# uid=0(root) gid=0(root) -- but host UID is 100000+
Desabilitar Nova Escalada de Privilégios
{
"no-new-privileges": true
}
Impede que processos de contêiner ganhem privilégios adicionais através de binários setuid/setgid ou escalada de capacidades.
Habilitar Live Restore
{
"live-restore": true
}
Mantém os contêineres em execução durante o tempo de inatividade do daemon, permitindo atualizações do daemon sem reinício de contêineres.
Desabilitar Proxy Userland
{
"userland-proxy": false
}
Usa regras iptables em vez de docker-proxy para encaminhamento de porta, reduzindo a superfície de ataque e melhorando o desempenho.
Configuração TLS para API Docker Remota
Gerar Certificados CA e de Servidor
# Create CA
openssl genrsa -aes256 -out ca-key.pem 4096
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem \
-subj "/CN=Docker CA"
# Create server key and CSR
openssl genrsa -out server-key.pem 4096
openssl req -subj "/CN=docker-host" -sha256 -new -key server-key.pem -out server.csr
# Create extfile with SANs
echo "subjectAltName = DNS:docker-host,IP:10.0.0.5,IP:127.0.0.1" > extfile.cnf
echo "extendedKeyUsage = serverAuth" >> extfile.cnf
# Sign server certificate
openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \
-CAcreateserial -out server-cert.pem -extfile extfile.cnf
# Create client key and certificate
openssl genrsa -out key.pem 4096
openssl req -subj "/CN=client" -new -key key.pem -out client.csr
echo "extendedKeyUsage = clientAuth" > extfile-client.cnf
openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \
-CAcreateserial -out cert.pem -extfile extfile-client.cnf
# Set permissions
chmod 0400 ca-key.pem key.pem server-key.pem
chmod 0444 ca.pem server-cert.pem cert.pem
# Move to Docker TLS directory
sudo mkdir -p /etc/docker/tls
sudo cp ca.pem server-cert.pem server-key.pem /etc/docker/tls/
…
Perguntas frequentes
O que é 'hardening'?
'Hardening' significa tornar um sistema mais seguro, fechando brechas e adicionando proteções.
O que é o daemon do Docker?
É o programa principal do Docker que roda em segundo plano e gerencia todos os containers e imagens.
Por que é importante proteger o Docker?
O Docker roda com muitos privilégios. Se um container for comprometido, um atacante pode usar isso para acessar todo o seu sistema.
Detalhes
Descrição original do autor
Hardens the Docker daemon (dockerd) through /etc/docker/daemon.json with user namespace remapping, TLS client authentication, seccomp profiles, and CIS Docker Benchmark controls such as icc, no-new-privileges, and live-restore. Use when securing a Docker host's daemon to prevent privilege escalation, breakout, or lateral movement, or when auditing daemon settings against CIS requirements. Keywords
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5778
- 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