Pular para o conteúdo
Skillpedia
Diversos35 mil · #6206

securing-container-registry-with-harbor

Configura o registro de contêineres Harbor para segurança. Inclui verificação de vulnerabilidades e controle de acesso rigoroso.

O que ela faz

Este recurso configura o Harbor, um sistema para guardar imagens de programas, para que ele verifique se há falhas de segurança e se as imagens foram criadas por fontes confiáveis. Ele impede que imagens perigosas ou não verificadas sejam usadas.

Quando usar

  • ✓Ao instalar ou ajustar o sistema de segurança do Harbor.
  • ✓Quando regras de segurança exigem que apenas imagens verificadas e seguras sejam usadas.
  • ✓Ao criar ou melhorar a segurança de um sistema de armazenamento de programas.

Exemplo do que pedir para a IA

“Configure o Harbor para verificar falhas de segurança e exigir que as imagens sejam assinadas por fontes confiáveis.”

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/securing-container-registry-with-harbor/SKILL.md

Mensagem pronta para colar

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

Ele ativa verificações automáticas de segurança (Trivy) e políticas de confiança (Cosign/Notary) para garantir a origem e a segurança das imagens. Também configura quem pode acessar o quê e regras para manter as imagens atualizadas e seguras.

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 securing-container-registry-with-harbor

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/securing-container-registry-with-harbor/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.

Protegendo o Registro de Contêineres com Harbor

Visão Geral

Harbor é um registro de contêineres de código aberto que oferece recursos de segurança, incluindo varredura de vulnerabilidades (Trivy integrado), assinatura de imagens (Notary/Cosign), RBAC, políticas de confiança de conteúdo, replicação e registro de auditoria. Proteger o Harbor envolve configurar esses recursos para impor a proveniência da imagem, evitar a implantação de imagens vulneráveis e manter o controle de acesso ao registro.

Quando Usar

  • Ao implantar ou configurar recursos de proteção de registro de contêineres com Harbor em seu ambiente
  • Ao estabelecer controles de segurança alinhados aos requisitos de conformidade
  • Ao construir ou melhorar a arquitetura de segurança para este domínio
  • Ao realizar avaliações de segurança que exigem esta implementação

Pré-requisitos

  • Harbor 2.10+ instalado (Helm ou Docker Compose)
  • Certificados TLS para HTTPS
  • Integração do scanner Trivy
  • OIDC/LDAP para autenticação
  • Cluster Kubernetes (para destino de implantação)

Fluxo de Trabalho

Etapa 1: Instalar o Harbor com Configuração de Segurança

# harbor-values.yaml for Helm deployment
expose:
  type: ingress
  tls:
    enabled: true
    certSource: secret
    secret:
      secretName: harbor-tls
      notarySecretName: harbor-tls
  ingress:
    hosts:
      core: harbor.example.com
      notary: notary.example.com

externalURL: https://harbor.example.com

persistence:
  enabled: true
  resourcePolicy: "keep"

harborAdminPassword: "<strong-password>"

trivy:
  enabled: true
  gitHubToken: "<github-token>"
  severity: "CRITICAL,HIGH,MEDIUM"
  autoScan: true

notary:
  enabled: true

core:
  secretKey: "<32-char-secret>"

database:
  type: external
  external:
    host: postgres.example.com
    port: "5432"
    username: harbor
    password: "<db-password>"
    sslmode: require
helm repo add harbor https://helm.getharbor.io
helm install harbor harbor/harbor -f harbor-values.yaml -n harbor --create-namespace

Etapa 2: Configurar Políticas de Varredura de Vulnerabilidades

# Enable auto-scan on push (via Harbor API)
curl -k -X PUT "https://harbor.example.com/api/v2.0/projects/myproject" \
  -H "Authorization: Basic $(echo -n admin:Harbor12345 | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "metadata": {
      "auto_scan": "true",
      "severity": "critical",
      "prevent_vul": "true",
      "reuse_sys_cve_allowlist": "true"
    }
  }'

Etapa 3: Configurar Confiança de Conteúdo

# Enable content trust at project level
curl -k -X PUT "https://harbor.example.com/api/v2.0/projects/myproject" \
  -H "Authorization: Basic $(echo -n admin:Harbor12345 | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "metadata": {
      "enable_content_trust": "true",
      "enable_content_trust_cosign": "true"
    }
  }'

# Sign image with Cosign
cosign sign --key cosign.key harbor.example.com/myproject/myapp:v1.0.0

# Verify signature
cosign verify --key cosign.pub harbor.example.com/myproject/myapp:v1.0.0

Etapa 4: Configurar RBAC e Isolamento de Projetos

# Create project with private visibility
curl -k -X POST "https://harbor.example.com/api/v2.0/projects" \
  -H "Authorization: Basic $(echo -n admin:Harbor12345 | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "project_name": "production",
    "metadata": {
      "public": "false",
      "auto_scan": "true",
      "prevent_vul": "true",
      "severity": "high"
    }
  }'

# Harbor roles: ProjectAdmin, Maintainer, Developer, Guest, LimitedGuest
# Add member with specific role
curl -k -X POST "https://harbor.example.com/api/v2.0/projects/production/members" \
  -H "Authorization: Basic $(echo -n admin:Harbor12345 | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "role_id": 3,
    "member_user": {"username": "developer1"}
  }'

Etapa 5: Configurar Tags Imutáveis e Retenção

# Criar regra de imutabilidade de tag (impedir sobrescrita de tags de lançamento)
curl -k -X POST "https://harbor.example.com/api/v2.0/projects/production/immutabletagrules" \
  -H "Authorization: Basic $(echo -n admin:Harbor12345 | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "tag_filter": "v*",
    "scope_selectors": {
      "repository": [{"kind": "doublestar", "decoration": "repoMatches", "pattern": "**"}]
    }
  }'

# Configurar política de retenção (manter as últimas 10 tags, excluir sem tag após 7 dias)
curl -k -X POST "https://harbor.example.com/api/v2.0/retentions" \

…
Perguntas frequentes

O que é um registro de contêiner?

É um local onde programas (chamados de contêineres) são armazenados, como uma biblioteca para os blocos de construção de software.

O que são 'vulnerabilidades'?

São falhas de segurança em um programa que podem ser exploradas por pessoas mal-intencionadas.

O que significa 'proveniência de imagem'?

Significa saber quem criou a imagem do programa e garantir que ela não foi alterada de forma indevida desde a sua criação.

Detalhes

Descrição original do autor

Configures the security features of the Harbor open-source container registry - integrated Trivy scanning, Cosign and Notary content trust policies, project-level RBAC, immutable tag and retention rules, and OIDC authentication - to enforce provenance and block deployment of vulnerable images. Use when deploying or hardening Harbor, or when compliance requires that only signed and scanned images c

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

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