Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)35 mil · #5903

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-kubernetes-network-policy-with-calico/SKILL.md

Mensagem pronta para colar

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

Ou 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.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.

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 kubectl e calicoctl
  • 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

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

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