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

implementing-kubernetes-pod-security-standards

Aplica os Padrões de Segurança de Pods do Kubernetes (Privilegiado, Baseline, Restrito). Mapeia cargas de trabalho para perfis e planeja migrações.

O que ela faz

Esta ferramenta ajuda a definir e aplicar regras de segurança para os seus aplicativos rodando no Kubernetes. Ela garante que seus aplicativos sigam as melhores práticas de segurança, escolhendo entre três níveis: 'Privilegiado' (sem restrições), 'Base' (protege contra riscos conhecidos) e 'Restrito' (mais seguro, com muitas limitações).

Quando usar

  • ✓Ao decidir qual nível de segurança aplicar a um grupo de aplicativos (namespace).
  • ✓Para verificar quais aplicativos podem ter problemas se você aplicar regras mais rígidas.
  • ✓Ao planejar a atualização de regras de segurança antigas para as novas.

Exemplo do que pedir para a IA

“Quais mudanças preciso fazer em um aplicativo para que ele rode com o perfil 'Restrito'?”

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-pod-security-standards/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-kubernetes-pod-security-standards/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta usa configurações chamadas 'Pod Security Standards' (PSS) que são aplicadas a grupos de aplicativos (namespaces). Essas configurações definem o que é permitido ou proibido para os aplicativos rodarem, garantindo que eles não tenham permissões excessivas ou vulnerabilidades conhecidas.

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-pod-security-standards

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-kubernetes-pod-security-standards/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 Padrões de Segurança de Pods do Kubernetes

Visão Geral

Os Padrões de Segurança de Pods (Pod Security Standards - PSS) definem três níveis de políticas de segurança — Privilegiado, Básico e Restrito — aplicados pelo controlador de Admissão de Segurança de Pods (Pod Security Admission - PSA) integrado ao Kubernetes 1.25+. O PSA substitui o PodSecurityPolicy depreciado e fornece aplicação em nível de namespace com três modos: aplicar, auditar e avisar.

Quando Usar

  • Decidir se um namespace ou carga de trabalho pertence a Privilegiado, Básico ou Restrito
  • Auditar quais cargas de trabalho existentes seriam rejeitadas se Restrito fosse aplicado hoje
  • Traduzir um requisito de "deve atender a Restrito" em alterações concretas de securityContext
  • Planejar uma migração de PodSecurityPolicy e prever o que quebrará antes que aconteça
  • Mapear a postura de segurança de pods para um controle de conformidade (NIST PR.PS-01, CIS Kubernetes)

Não é esta habilidade: configurar o controlador que aplica esses perfis — rótulos de namespace, AdmissionConfiguration, isenções ou depurar um pod rejeitado pelo PSA. Use implementing-pod-security-admission-controller.

Pré-requisitos

  • Cluster Kubernetes 1.25+ (PSA GA)
  • kubectl configurado com acesso cluster-admin
  • Compreensão de capacidades Linux e contextos de segurança

Conceitos Principais

Três Perfis de Segurança

Perfil Propósito Restrições
Privilegiado Cargas de trabalho irrestritas do sistema Nenhuma
Básico Previne escalonamentos conhecidos Sem hostNetwork, hostPID, hostIPC, contêineres privilegiados, capacidades perigosas
Restrito Melhores práticas reforçadas Não root, remover TODAS as caps, seccomp obrigatório, rootfs somente leitura recomendado

Três Modos de Aplicação

Modo Comportamento
aplicar Rejeita pods que violam a política
auditar Registra violações no log de auditoria, mas permite o pod
avisar Retorna um aviso ao usuário, mas permite o pod

Fluxo de Trabalho

Etapa 1: Rotular Namespaces para PSA

# Restricted namespace - production workloads
apiVersion: v1
kind: Namespace
metadata:
  name: production
  labels:
    pod-security.kubernetes.io/enforce: restricted
    pod-security.kubernetes.io/enforce-version: latest
    pod-security.kubernetes.io/audit: restricted
    pod-security.kubernetes.io/audit-version: latest
    pod-security.kubernetes.io/warn: restricted
    pod-security.kubernetes.io/warn-version: latest
# Baseline namespace - general workloads
apiVersion: v1
kind: Namespace
metadata:
  name: staging
  labels:
    pod-security.kubernetes.io/enforce: baseline
    pod-security.kubernetes.io/enforce-version: latest
    pod-security.kubernetes.io/audit: restricted
    pod-security.kubernetes.io/audit-version: latest
    pod-security.kubernetes.io/warn: restricted
    pod-security.kubernetes.io/warn-version: latest
# Privileged namespace - system components only
apiVersion: v1
kind: Namespace
metadata:
  name: kube-system
  labels:
    pod-security.kubernetes.io/enforce: privileged
    pod-security.kubernetes.io/enforce-version: latest

Etapa 2: Aplicar Rótulos a Namespaces Existentes

# Apply restricted enforcement to production
kubectl label namespace production \
  pod-security.kubernetes.io/enforce=restricted \
  pod-security.kubernetes.io/audit=restricted \
  pod-security.kubernetes.io/warn=restricted \
  --overwrite

# Apply baseline to staging with restricted warnings
kubectl label namespace staging \
  pod-security.kubernetes.io/enforce=baseline \
  pod-security.kubernetes.io/audit=restricted \
  pod-security.kubernetes.io/warn=restricted \
  --overwrite

# Check labels on all namespaces
kubectl get namespaces -L pod-security.kubernetes.io/enforce

Etapa 3: Criar Especificações de Pods Conformes

# Deployment compatível com Restrito
apiVersion: apps/v1
kind: Deployment
metadata:
  name: secure-app
  namespace: production
spec:
  replicas: 3
  selector:
    matchLabels:
      app: secure-app
  template:
    metadata:
      labels:
        app: secure-app
    spec:
      automountServiceAccountToken: false
      securityContext:
        runAsNonRoot: true
        runAsUser: 65534
        runAsGroup: 65534
        fsGroup: 65534
        seccompProfile:
          type: RuntimeDefault
      containers:
        - name: app
          image: myregistry.com/myapp:v1.0.0@sha256:abc123
          ports:
            - containerPort: 8080
              protocol: TCP
          securityContext:
            allowPrivilegeEscalation: false

…
Perguntas frequentes

O que são os perfis Privilegiado, Base e Restrito?

Privilegiado não tem restrições. Base impede que aplicativos causem problemas de segurança conhecidos. Restrito é o mais seguro, exigindo que os aplicativos rodem sem privilégios extras e com configurações mais seguras.

Como sei se meu aplicativo vai funcionar com as novas regras?

Você pode testar as regras em modo 'audit' ou 'warn' antes de aplicá-las. Isso permite ver quais aplicativos violariam as regras sem que eles parem de funcionar, dando tempo para corrigi-los.

O que é 'securityContext'?

É uma configuração dentro do Kubernetes que define permissões e características de segurança para um aplicativo rodando, como se ele pode rodar como administrador, quais capacidades de sistema ele pode usar, etc.

Detalhes

Descrição original do autor

Chooses and applies the correct Kubernetes Pod Security Standard (Privileged, Baseline, Restricted) for a workload: what each profile forbids, how to map existing workloads to a profile, which securityContext fields must change, and how to plan a PodSecurityPolicy-to-PSS migration without breaking running pods. Use when deciding which pod security profile a namespace or workload should run under,

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

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