Padrões de segurança de pods
Aplique os padrões de segurança de pods para impor boas práticas de segurança no nível dos pods.
Padrões de segurança de pods é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 3 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.
O que são PSS?
Os PSS (padrões de segurança de pods) do Kubernetes são um conjunto de diretrizes e controles para aplicar boas práticas de segurança aos seus pods.
Eles ajudam a proteger o seu cluster contra vulnerabilidades de segurança comuns e ataques de escalação de privilégios, restringindo o que os pods podem fazer.
Pense neles como uma lista de verificação de segurança para os seus pods!
Três níveis de segurança
Os PSS definem três níveis de segurança distintos, cada um oferecendo um grau diferente de proteção:
- Privileged: sem restrições; é o menos seguro.
- Baseline: impede escalações de privilégios conhecidas.
- Restricted: aplica boas práticas de segurança reforçadas.
Esses níveis são cumulativos: Restricted inclui todas as proteções de Baseline, e Baseline inclui todas as de Privileged (ou melhor, não impõe restrições).
Privileged: acesso sem restrições
O nível Privileged de PSS oferece uma política de segurança sem restrições.
Isso significa que os pods executados sob essa política podem solicitar qualquer capacidade e ter acesso total aos recursos e namespaces do host, de forma semelhante à execução como root na máquina host.
Em geral, ele é considerado altamente inseguro e deve ser usado somente para cargas de trabalho no nível do sistema que realmente exijam esse acesso.
Baseline: impedindo explorações
O nível Baseline de PSS tem como objetivo impedir escalações de privilégios conhecidas.
Ele é um bom ponto de partida para a maioria das aplicações definidas pelos usuários.
As principais restrições incluem:
- Nenhum contêiner privilegiado.
- Nenhum volume hostPath (exceto tipos seguros específicos).
- Nenhuma rede do host nem compartilhamento do namespace de PID.
- Capacidades limitadas.
Esse nível ajuda a reduzir o impacto de muitos vetores de ataque comuns.
Restricted: segurança reforçada
O nível Restricted de PSS aplica boas práticas de segurança reforçadas.
Ele foi projetado para aplicações altamente sensíveis à segurança e exige que os pods sejam executados com privilégios mínimos.
Além das restrições de Baseline, Restricted exige:
- Execução como um usuário não root.
- Remoção de todas as capacidades do Linux e adição somente das capacidades específicas necessárias.
- Exigência de perfis
seccompeAppArmor.
Este é o nível de PSS mais seguro e rigoroso.
Aplicando PSS com Admission
Os Padrões de Segurança de Pods são aplicados usando um recurso do Kubernetes chamado Pod Security Admission.
Esse controlador de admissão intercepta as solicitações de criação de Pods e verifica-as em relação ao nível de PSS configurado para o namespace do Pod.
Você aplica níveis de PSS aos namespaces adicionando rótulos específicos a eles. Por exemplo:
kubectl label namespace <namespace-name> pod-security.kubernetes.io/enforce=restrictedControlando a segurança dos Pods
Para tornar seus Pods compatíveis com o PSS, você geralmente usará o campo securityContext na definição do Pod.
Esse campo permite definir configurações de privilégios e controle de acesso para um Pod ou para contêineres individuais dentro dele.
As configurações comuns incluem:
runAsUser: especifica o ID do usuário para o processo do contêiner.allowPrivilegeEscalation: impede que um processo obtenha mais privilégios do que o processo pai.capabilities: gerencia os recursos do Linux.
Exemplo de Pod inseguro
Vamos analisar uma definição de Pod que violaria o PSS de Baseline devido ao seu contexto de segurança. Em geral, isso não é seguro:
apiVersion: v1
kind: Pod
metadata:
name: unsafe-pod
spec:
containers:
- name: my-container
image: nginx
securityContext:
privileged: true
# This allows the container to run with root capabilities
# and access host devices directly.
# Violates Baseline PSS.Exemplo de Pod compatível com o Baseline
Veja como definir um Pod que segue o nível de PSS Baseline. Observe a ausência de privileged: true e de outras restrições.
Para uma conformidade ainda mais rigorosa com o Restricted, você adicionaria runAsNonRoot: true, readOnlyRootFilesystem: true e removeria todos os recursos.
apiVersion: v1
kind: Pod
metadata:
name: safe-pod
spec:
containers:
- name: my-container
image: nginx
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
# This Pod runs with minimal privileges and
# adheres to the Baseline PSS.Verificação rápida do PSS
Qual das afirmações a seguir sobre os Padrões de Segurança de Pods (PSS) é TRUE?
Recapitulação: Padrões de Segurança de Pods
Nesta lição, você aprendeu sobre os Padrões de Segurança de Pods (PSS) do Kubernetes e sua importância para proteger seu cluster.
- O PSS define três níveis: Privileged, Baseline e Restricted.
- O Baseline impede escalações de privilégios conhecidas e é adequado para a maioria dos aplicativos.
- O Restricted aplica uma segurança reforçada, exigindo privilégios mínimos.
- O campo
securityContextajuda a configurar Pods para que estejam em conformidade com o PSS.
Aplicar o PSS é uma etapa fundamental para criar ambientes Kubernetes mais seguros!
Perguntas Frequentes
A aula “Padrões de segurança de pods” é grátis?
Sim — o texto completo de “Padrões de segurança de pods” é 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 “Padrões de segurança de pods”?
Aplique os padrões de segurança de pods para impor boas práticas de segurança no nível dos pods. 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 3 de 4.
Quanto tempo leva a aula “Padrões de segurança de pods”?
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
- Controle de acesso baseado em funções (RBAC)
- Políticas de rede para isolamento
- Padrões de segurança de pods
- Contas de Serviço e Identidade de Cargas de Trabalho