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:
- IngressPermitir 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: 8080Restringindo 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: dbSeletores 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: platformPermitindo 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: 53Alé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 backendMentalidade 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
- Verificação de segurança de imagens de contêiner
- Segurança de contêineres em execução
- Gerenciamento de Secrets e RBAC
- Políticas de rede e rede com privilégio mínimo