Pular para o conteúdo
Skillpedia
Segurança41 mil · #4886

k8s-security-policies

Faz seu agente implementar regras de segurança no Kubernetes. Protege o cluster e isola redes.

O que ela faz

Esta ferramenta ajuda a configurar regras de segurança para o Kubernetes. Ela permite controlar quem pode acessar o quê, como os programas (pods) podem se comunicar e quais permissões eles têm.

Quando usar

  • ✓Para proteger um cluster Kubernetes contra acessos não autorizados.
  • ✓Para isolar a comunicação entre diferentes partes da sua aplicação.
  • ✓Para garantir que os programas rodem com o mínimo de privilégios necessário.

Exemplo do que pedir para a IA

“Configure uma política de rede para que apenas o frontend possa falar com o backend na porta 8080.”

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/wshobson/agents/blob/main/plugins/kubernetes-operations/skills/k8s-security-policies/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/wshobson/agents/blob/main/plugins/kubernetes-operations/skills/k8s-security-policies/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você define regras em arquivos de configuração. Essas regras dizem ao Kubernetes como aplicar as políticas de segurança, como quais portas podem ser usadas ou quais usuários podem fazer certas ações.

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 wshobson/agents --skill k8s-security-policies

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/kubernetes-operations/skills/k8s-security-policies/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.

Políticas de Segurança do Kubernetes

Guia completo para implementar NetworkPolicy, PodSecurityPolicy, RBAC e Padrões de Segurança de Pods no Kubernetes.

Propósito

Implementar segurança de defesa em profundidade para clusters Kubernetes usando políticas de rede, padrões de segurança de pods e RBAC.

Quando Usar Esta Habilidade

  • Implementar segmentação de rede
  • Configurar padrões de segurança de pods
  • Configurar RBAC para acesso de menor privilégio
  • Criar políticas de segurança para conformidade
  • Implementar controle de admissão
  • Proteger clusters multi-inquilino

Padrões de Segurança de Pods

1. Privilegiado (Sem restrições)

apiVersion: v1
kind: Namespace
metadata:
  name: privileged-ns
  labels:
    pod-security.kubernetes.io/enforce: privileged
    pod-security.kubernetes.io/audit: privileged
    pod-security.kubernetes.io/warn: privileged

2. Básico (Minimamente restritivo)

apiVersion: v1
kind: Namespace
metadata:
  name: baseline-ns
  labels:
    pod-security.kubernetes.io/enforce: baseline
    pod-security.kubernetes.io/audit: baseline
    pod-security.kubernetes.io/warn: baseline

3. Restrito (Mais restritivo)

apiVersion: v1
kind: Namespace
metadata:
  name: restricted-ns
  labels:
    pod-security.kubernetes.io/enforce: restricted
    pod-security.kubernetes.io/audit: restricted
    pod-security.kubernetes.io/warn: restricted

Políticas de Rede

Negar Tudo por Padrão

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

Permitir Frontend para Backend

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 DNS

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-dns
  namespace: production
spec:
  podSelector: {}
  policyTypes:
    - Egress
  egress:
    - to:
        - namespaceSelector:
            matchLabels:
              name: kube-system
      ports:
        - protocol: UDP
          port: 53

Referência: Veja assets/network-policy-template.yaml

Configuração de RBAC

Role (Escopo de Namespace)

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: pod-reader
  namespace: production
rules:
  - apiGroups: [""]
    resources: ["pods"]
    verbs: ["get", "watch", "list"]

ClusterRole (Escopo de Cluster)

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: secret-reader
rules:
  - apiGroups: [""]
    resources: ["secrets"]
    verbs: ["get", "watch", "list"]

RoleBinding

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods
  namespace: production
subjects:
  - kind: User
    name: jane
    apiGroup: rbac.authorization.k8s.io
  - kind: ServiceAccount
    name: default
    namespace: production
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io

Referência: Veja references/rbac-patterns.md

Contexto de Segurança do Pod

Pod Restrito

apiVersion: v1
kind: Pod
metadata:
  name: secure-pod
spec:
  securityContext:
    runAsNonRoot: true
    runAsUser: 1000
    fsGroup: 1000
    seccompProfile:
      type: RuntimeDefault
  containers:
    - name: app
      image: myapp:1.0
      securityContext:
        allowPrivilegeEscalation: false
        readOnlyRootFilesystem: true
        capabilities:
          drop:
            - ALL

Aplicação de Políticas com OPA Gatekeeper

ConstraintTemplate

apiVersion: templates.gatekeeper.sh/v1
kind: ConstraintTemplate
metadata:
  name: k8srequiredlabels
spec:
  crd:
    spec:
      names:
        kind: K8sRequiredLabels
      validation:
        openAPIV3Schema:
          type: object
          properties:
            labels:
              type: array
              items:
                type: string
  targets:
    - target: admission.k8s.gatekeeper.sh
      rego: |
        package k8srequiredlabels
        violation[{"msg": msg, "details": {"missing_labels": missing}}] {
          provided := {label | input.review.object.metadata.labels[label]}

…
Perguntas frequentes

O que é Kubernetes?

É um sistema para gerenciar e automatizar aplicações em contêineres (programas empacotados).

O que são políticas de segurança?

São regras que definem o que é permitido ou proibido para garantir que o sistema esteja seguro.

O que é RBAC?

É um sistema de controle de acesso que define quem pode fazer o quê dentro do Kubernetes.

Detalhes

Descrição original do autor

Implement Kubernetes security policies including NetworkPolicy, PodSecurityPolicy, and RBAC for production-grade security. Use when securing Kubernetes clusters, implementing network isolation, or enforcing pod security standards.

repo: wshobson/agents

Popularidade

Estrelas no GitHub
41 mil
Posição no ranking
#4886
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas