0Pricing
DevOps Bootcamp · Aula

Políticas de rede e rede com privilégio mínimo

Restrinja o tráfego entre contêineres com políticas de rede que negam tudo por padrão, regras explícitas de permissão e o princípio do menor privilégio aplicado à rede.

Políticas de rede e rede com privilégio mínimo é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Permitir tudo por padrão é arriscado

Por padrão, os contêineres de um cluster geralmente conseguem se comunicar com todos os outros contêineres. Um pod comprometido pode então alcançar bancos de dados e serviços internos livremente. As políticas de rede fecham essa porta.

Privilégio mínimo para redes

O princípio do privilégio mínimo também se aplica ao tráfego: um serviço deve aceitar e iniciar apenas as conexões de que realmente precisa — nada além disso.

O que é uma política de rede

Uma NetworkPolicy é um objeto do Kubernetes que seleciona pods por rótulo e especifica quais tráfegos de entrada e saída são permitidos. Um plug-in CNI (Calico, Cilium) a aplica.

Você precisa de um CNI que aplique as regras

Assim como o Ingress precisa de um controlador, as NetworkPolicies precisam de um CNI que ofereça suporte a elas. Em um plug-in que as ignora, as regras simplesmente não produzem efeito.

Negar tráfego de entrada por padrão

Comece negando todo o tráfego de entrada em um espaço de nomes e depois libere apenas o que for necessário. Um podSelector vazio corresponde a todos os pods.

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny-ingress
spec:
  podSelector: {}
  policyTypes:
  - Ingress

Permitir tráfego específico

Agora permita que apenas os pods do frontend alcancem a API na porta 8080. Todo o restante continua bloqueado.

spec:
  podSelector:
    matchLabels:
      app: api
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend
    ports:
    - port: 8080

Restringindo o tráfego de saída

Você também pode limitar o tráfego de saída; por exemplo, permitir que um pod alcance apenas o banco de dados, impedindo que um pod sequestrado se comunique com o invasor.

spec:
  podSelector:
    matchLabels:
      app: api
  policyTypes:
  - Egress
  egress:
  - to:
    - podSelector:
        matchLabels:
          app: db

Seletores de espaços de nomes

As regras podem usar namespaceSelector para permitir tráfego entre espaços de nomes somente quando vier de espaços de nomes confiáveis — algo útil para serviços de plataforma compartilhados.

from:
- namespaceSelector:
    matchLabels:
      team: platform

Permitindo DNS

Um problema comum: uma política rigorosa de negar toda saída por padrão também bloqueia o DNS, interrompendo a resolução de nomes. Lembre-se de permitir UDP/TCP 53 para o kube-dns.

egress:
- to: []
  ports:
  - protocol: UDP
    port: 53

Além do Kubernetes

Os usuários do Docker obtêm um benefício relacionado com as redes definidas pelo usuário: somente contêineres na mesma rede conseguem alcançar uns aos outros, isolando aplicações não relacionadas.

docker network create --internal backend

Mentalidade de confiança zero

As redes com privilégio mínimo aproximam você da confiança zero: presuma que a rede é hostil, autentique e autorize cada conexão e não permita nada por padrão.

Verificação rápida

Qual é uma estratégia inicial sensata para políticas de rede?

Recapitulação

Agora você consegue restringir o tráfego com segurança:

  • Aplique a negação por padrão e depois crie regras explícitas de permissão
  • Controle tanto o tráfego de entrada quanto o de saída por rótulo/espaço de nomes
  • Lembre-se de permitir DNS; é necessário um CNI que aplique as regras
  • As redes internas do Docker oferecem isolamento semelhante

As redes com privilégio mínimo reduzem o raio de impacto de qualquer violação.

Perguntas Frequentes

A aula “Políticas de rede e rede com privilégio mínimo” é grátis?

Sim — o texto completo de “Políticas de rede e rede com privilégio mínimo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Políticas de rede e rede com privilégio mínimo”?

Restrinja o tráfego entre contêineres com políticas de rede que negam tudo por padrão, regras explícitas de permissão e o princípio do menor privilégio aplicado à rede. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Políticas de rede e rede com privilégio mínimo”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Verificação de segurança de imagens de contêiner
  2. Segurança de contêineres em execução
  3. Gerenciamento de Secrets e RBAC
  4. Políticas de rede e rede com privilégio mínimo
← Voltar para DevOps Bootcamp