performing-kubernetes-etcd-security-assessment
Ensina seu agente de IA a proteger aplicações contra ataques e colocar projetos no ar e cuidar da infraestrutura.
O que ela faz
Verifica a segurança do etcd, o banco de dados do Kubernetes. Ele garante que os dados sensíveis, como senhas e configurações, estejam protegidos contra acesso não autorizado.
Quando usar
- ✓Ao auditar a segurança do seu cluster Kubernetes.
- ✓Quando precisar garantir que senhas e dados confidenciais estão criptografados.
- ✓Ao configurar ou revisar as defesas do seu servidor Kubernetes.
Exemplo do que pedir para a IA
“Verifique a segurança do etcd do meu Kubernetes.”
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
Este agente analisa as configurações do etcd para garantir que a criptografia esteja ativada, que a comunicação seja segura com TLS e que o acesso seja restrito apenas a quem precisa.
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 performing-kubernetes-etcd-security-assessmentOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-kubernetes-etcd-security-assessment/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.
Realizando Avaliação de Segurança do etcd do Kubernetes
Visão Geral
etcd é o armazenamento distribuído de chave-valor que serve como base de dados do Kubernetes para todos os dados do cluster, incluindo Secrets, políticas RBAC, ConfigMaps e configurações de workload. Sem um endurecimento adequado, o etcd expõe todos os segredos do cluster em texto puro, tornando-o o alvo de maior valor para atacantes que obtêm acesso ao plano de controle. Uma avaliação de segurança abrangente cobre criptografia em repouso, TLS para transporte, controle de acesso, segurança de backup e isolamento de rede.
Quando Usar
- Ao realizar avaliações de segurança que envolvem a realização de avaliação de segurança do etcd do Kubernetes
- Ao seguir procedimentos de resposta a incidentes para eventos de segurança relacionados
- Ao realizar testes de segurança ou atividades de auditoria agendadas
- Ao validar controles de segurança por meio de testes práticos
Pré-requisitos
- Acesso aos nós do plano de controle do Kubernetes
- Acesso SSH aos nós do cluster etcd (ou etcdctl configurado)
- Documento de referência do CIS Kubernetes Benchmark
- Compreensão de gerenciamento de certificados TLS e EncryptionConfiguration
Áreas de Avaliação
1. Criptografia em Repouso
Verifique se o Kubernetes criptografa os dados de Secret armazenados no etcd:
# Check if EncryptionConfiguration is configured on API server
ps aux | grep kube-apiserver | grep encryption-provider-config
# View the encryption configuration
cat /etc/kubernetes/enc/encryption-config.yaml
Configuração segura esperada:
apiVersion: apiserver.config.k8s.io/v1
kind: EncryptionConfiguration
resources:
- resources:
- secrets
- configmaps
providers:
- aescbc:
keys:
- name: key1
secret: <base64-encoded-32-byte-key>
- identity: {} # Fallback for reading unencrypted data
Verifique se os secrets estão realmente criptografados no etcd:
# Read a secret directly from etcd
ETCDCTL_API=3 etcdctl \
--endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key \
get /registry/secrets/default/my-secret | hexdump -C | head -20
# If encrypted, output starts with "k8s:enc:aescbc:v1:key1"
# If NOT encrypted, you'll see plaintext key-value pairs
2. Segurança de Transporte TLS
# Verify etcd uses TLS for client connections
ETCDCTL_API=3 etcdctl endpoint health \
--endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key
# Check peer TLS configuration
ps aux | grep etcd | tr ' ' '\n' | grep -E "peer-cert|peer-key|peer-trusted-ca"
# Verify certificate expiration
openssl x509 -in /etc/kubernetes/pki/etcd/server.crt -noout -enddate
openssl x509 -in /etc/kubernetes/pki/etcd/peer.crt -noout -enddate
Flags esperadas:
| Flag | Valor Necessário | Propósito |
|---|---|---|
--cert-file |
Caminho para o certificado do servidor | TLS cliente-servidor |
--key-file |
Caminho para a chave do servidor | TLS cliente-servidor |
--trusted-ca-file |
Caminho para o certificado CA | Validação de certificado do cliente |
--peer-cert-file |
Caminho para o certificado do peer | TLS peer-a-peer |
--peer-key-file |
Caminho para a chave do peer | TLS peer-a-peer |
--peer-trusted-ca-file |
Caminho para a CA do peer | Validação de certificado do peer |
--client-cert-auth |
true | Exigir certificados de cliente |
--peer-client-cert-auth |
true | Exigir certificados de peer |
3. Controle de Acesso
# Verify etcd is not exposed on all interfaces
ps aux | grep etcd | tr ' ' '\n' | grep listen-client-urls
# Should be: https://127.0.0.1:2379 (not 0.0.0.0)
# Check who can access etcd certificates
ls -la /etc/kubernetes/pki/etcd/
# Should be readable only by root/etcd user
# Verify API server is the only etcd client
ss -tlnp | grep 2379
# Only kube-apiserver should have connections
4. Segurança de Backup
# Create an encrypted etcd backup
ETCDCTL_API=3 etcdctl snapshot save /backup/etcd-snapshot.db \
--endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key
# Encrypt the backup file
gpg --symmetric --cipher-algo AES256 /backup/etcd-snapshot.db
# Verify backup integrity
ETCDCTL_API=3 etcdctl snapshot status /backup/etcd-snapshot.db --write-out=table
5. Isolamento de Rede
# Verificar se as portas do etcd estão protegidas por firewall
…
Perguntas frequentes
O que é etcd?
etcd é o 'cérebro' do Kubernetes, onde todas as informações importantes do cluster são armazenadas, como segredos, permissões e configurações.
Por que a segurança do etcd é importante?
Se o etcd não estiver seguro, atacantes podem acessar todos os segredos e informações confidenciais do seu cluster Kubernetes.
O que significa 'criptografia em repouso'?
Significa que os dados armazenados no etcd são embaralhados (criptografados) para que, mesmo que alguém acesse os arquivos, não consiga ler as informações sem a chave correta.
Detalhes
Descrição original do autor
Assesses the security posture of the etcd cluster backing Kubernetes: encryption at rest, TLS peer and client transport, access control, backup encryption, and network isolation. Use when auditing or hardening a control plane, reviewing whether Secrets are encrypted at rest, or protecting etcd backups, since etcd stores Secrets, RBAC policy, and ConfigMaps in plaintext by default. Keywords: etcd,
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6090
- 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
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC