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

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/hardening-docker-daemon-configuration/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/hardening-docker-daemon-configuration/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-configuration

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/hardening-docker-daemon-configuration/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.

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

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5778
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