implementing-kubernetes-network-policy-with-calico
Instala o Calico como CNI do Kubernetes e escreve políticas de rede. Define regras de negação padrão e verifica a aplicação das políticas.
O que ela faz
Esta ferramenta ajuda a configurar o Calico, um sistema de segurança para redes de computadores em clusters Kubernetes. Ela permite definir regras para controlar quais partes da rede podem se comunicar entre si, garantindo que apenas o tráfego autorizado seja permitido.
Quando usar
- ✓Ao instalar o Calico pela primeira vez em seu cluster Kubernetes.
- ✓Quando você quer definir regras de segurança básicas para negar todo o tráfego por padrão.
- ✓Ao depurar problemas de rede para garantir que suas regras de segurança estão funcionando como esperado.
Exemplo do que pedir para a IA
“Como configuro o Calico para bloquear todo o tráfego de entrada para o namespace 'producao'?”
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
Primeiro, você instala o Calico no seu cluster Kubernetes. Depois, você cria arquivos de configuração (políticas de rede) que definem quais conexões são permitidas ou negadas entre os diferentes componentes do seu sistema.
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 implementing-kubernetes-network-policy-with-calicoOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-kubernetes-network-policy-with-calico/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.
Implementando Política de Rede do Kubernetes com Calico
Visão Geral
Calico é um plugin CNI de código aberto que fornece aplicação de políticas de rede detalhadas para clusters Kubernetes. Ele implementa a API completa de NetworkPolicy do Kubernetes e a estende com GlobalNetworkPolicy específica do Calico, suportando ordenação de políticas, regras de negação e seletores baseados em contas de serviço.
Quando Usar
- Ao implantar ou configurar a implementação de políticas de rede do Kubernetes com recursos do Calico 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 realizar avaliações de segurança que exigem esta implementação
Pré-requisitos
- Cluster Kubernetes (v1.24+)
- Calico CNI instalado (v3.26+)
- Ferramentas CLI
kubectlecalicoctl - Permissões RBAC de administrador do cluster
Instalando o Calico
Instalação Baseada em Operador (Recomendado)
# Install the Tigera operator
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.27.0/manifests/tigera-operator.yaml
# Install Calico custom resources
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.27.0/manifests/custom-resources.yaml
# Verify installation
kubectl get pods -n calico-system
watch kubectl get pods -n calico-system
# Install calicoctl
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.27.0/manifests/calicoctl.yaml
Verificar se o Calico está em Execução
# Check Calico pods
kubectl get pods -n calico-system
# Check Calico node status
kubectl exec -n calico-system calicoctl -- calicoctl node status
# Check IP pools
kubectl exec -n calico-system calicoctl -- calicoctl get ippool -o wide
NetworkPolicy do Kubernetes
Negar Todo o Tráfego por Padrão
# deny-all-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-ingress
namespace: production
spec:
podSelector: {}
policyTypes:
- Ingress
---
# deny-all-egress.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-egress
namespace: production
spec:
podSelector: {}
policyTypes:
- Egress
Permitir Comunicação Específica Pod-a-Pod
# allow-frontend-to-backend.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-frontend-to-backend
namespace: production
spec:
podSelector:
matchLabels:
app: backend
policyTypes:
- Ingress
ingress:
- from:
- podSelector:
matchLabels:
app: frontend
ports:
- protocol: TCP
port: 8080
Permitir Saída de DNS
# allow-dns-egress.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-dns-egress
namespace: production
spec:
podSelector: {}
policyTypes:
- Egress
egress:
- to:
- namespaceSelector: {}
ports:
- protocol: UDP
port: 53
- protocol: TCP
port: 53
Isolamento de Namespace
# allow-same-namespace.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-same-namespace
namespace: production
spec:
podSelector: {}
policyTypes:
- Ingress
ingress:
- from:
- podSelector: {}
Políticas Específicas do Calico
GlobalNetworkPolicy (Cluster-Wide)
# global-deny-external.yaml
apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
name: deny-external-ingress
spec:
order: 100
selector: "projectcalico.org/namespace != 'ingress-nginx'"
types:
- Ingress
ingress:
- action: Deny
source:
nets:
- 0.0.0.0/0
destination: {}
Calico NetworkPolicy com Regras de Negação
# calico-deny-policy.yaml
apiVersion: projectcalico.org/v3
kind: NetworkPolicy
metadata:
name: deny-database-from-frontend
namespace: production
spec:
order: 10
selector: app == 'database'
types:
- Ingress
ingress:
- action: Deny
source:
selector: app == 'frontend'
- action: Allow
source:
selector: app == 'backend'
destination:
ports:
- 5432
Política Baseada em Conta de Serviço
# sa-based-policy.yaml
apiVersion: projectcalico.org/v3
kind: NetworkPolicy
metadata:
name: allow-by-service-account
namespace: production
spec:
selector: app == 'api'
ingress:
- action: Allow
source:
serviceAccounts:
…
Perguntas frequentes
O que é um cluster Kubernetes?
Um cluster Kubernetes é um conjunto de máquinas que trabalham juntas para executar aplicações em contêineres. Pense nele como um grupo de computadores gerenciados como um só.
O que é CNI?
CNI significa 'Container Network Interface'. É um padrão que define como os plugins de rede devem se comportar em ambientes de contêineres como o Kubernetes.
O que são NetworkPolicies?
NetworkPolicies são regras que você define no Kubernetes para controlar o tráfego de rede entre os contêineres (pods). Elas funcionam como um firewall para sua rede interna.
Detalhes
Descrição original do autor
Installs Calico as the cluster CNI and writes standard Kubernetes NetworkPolicy under it, covering default-deny baselines, policy ordering and precedence, service-account-based selectors, and verifying that policy is genuinely being enforced. Use when adopting Calico as the enforcement CNI, establishing a default-deny baseline, or debugging why a NetworkPolicy is not taking effect under Calico. Ke
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5903
- 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
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC