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

auditing-aws-s3-bucket-permissions

Ensina seu agente de IA a colocar projetos no ar e cuidar da infraestrutura e deixar sites acessíveis para todo mundo.

O que ela faz

Esta ferramenta verifica se os seus 'cofres' de dados na nuvem (chamados de buckets S3 na Amazon Web Services) estão protegidos. Ela procura por acessos abertos demais, configurações erradas ou falta de proteção, garantindo que apenas pessoas autorizadas vejam seus dados.

Quando usar

  • ✓Ao fazer uma checagem de segurança geral na sua conta da Amazon.
  • ✓Quando você precisa ter certeza de que dados importantes não estão expostos publicamente.
  • ✓Ao configurar uma nova conta na Amazon e querer garantir que o armazenamento de dados esteja seguro desde o início.

Exemplo do que pedir para a IA

“Verifique a segurança dos meus 'cofres' de dados na Amazon S3.”

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/auditing-aws-s3-bucket-permissions/SKILL.md

Mensagem pronta para colar

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

A ferramenta usa comandos específicos para verificar as configurações de cada 'cofre' de dados. Ela analisa quem pode acessar, se há proteções ativas e se a criptografia está ligada.

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 auditing-aws-s3-bucket-permissions

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/auditing-aws-s3-bucket-permissions/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.

Auditoria de Permissões de Buckets AWS S3

Quando Usar

  • Ao realizar uma avaliação de segurança de ambientes AWS para identificar dados expostos publicamente
  • Ao integrar uma nova conta AWS e estabelecer uma linha de base de segurança para recursos de armazenamento
  • Ao responder a um alerta sobre potencial exposição de dados S3 do AWS Trusted Advisor ou Security Hub
  • Quando frameworks de conformidade (SOC 2, PCI DSS, HIPAA) exigem revisão periódica dos controles de acesso a dados
  • Quando uma violação ou comprometimento de credenciais exige revisão imediata de todos os recursos S3 acessíveis

Não use para auditar armazenamento de objetos fora da AWS (use ferramentas específicas do provedor), para monitoramento em tempo real (use S3 Event Notifications com Lambda) ou para auditar padrões de acesso S3 (use S3 Access Analyzer ou CloudTrail S3 data events).

Pré-requisitos

  • AWS CLI v2 configurado com credenciais que possuam permissões s3:GetBucketPolicy, s3:GetBucketAcl, s3:GetBucketPublicAccessBlock, s3:GetEncryptionConfiguration e s3:ListAllMyBuckets
  • Prowler instalado (pip install prowler) para verificações automatizadas de benchmarks CIS
  • S3audit ou ferramenta de enumeração similar para detecção rápida de buckets públicos
  • Acesso ao AWS Organizations se estiver auditando em várias contas
  • Python 3.8+ com boto3 para scripts de auditoria personalizados

Fluxo de Trabalho

Etapa 1: Enumerar Todos os Buckets S3 e Bloqueio de Acesso Público em Nível de Conta

Verifique primeiro as configurações de Bloqueio de Acesso Público S3 em nível de conta, depois liste todos os buckets com suas regiões.

# Check account-level S3 Block Public Access settings
aws s3control get-public-access-block \
  --account-id $(aws sts get-caller-identity --query Account --output text) \
  --output json

# List all buckets with creation dates
aws s3api list-buckets \
  --query 'Buckets[*].[Name,CreationDate]' \
  --output table

# Get bucket regions for each bucket
for bucket in $(aws s3api list-buckets --query 'Buckets[*].Name' --output text); do
  region=$(aws s3api get-bucket-location --bucket "$bucket" --query 'LocationConstraint' --output text)
  echo "$bucket -> ${region:-us-east-1}"
done

Etapa 2: Verificar a Configuração de Bloqueio de Acesso Público e ACL de Cada Bucket

Itere por todos os buckets para avaliar seus bloqueios de acesso público individuais e concessões de ACL.

# Check per-bucket Block Public Access settings
for bucket in $(aws s3api list-buckets --query 'Buckets[*].Name' --output text); do
  echo "=== $bucket ==="
  aws s3api get-public-access-block --bucket "$bucket" 2>/dev/null || echo "  No Block Public Access configured"

  # Check ACL for public grants
  aws s3api get-bucket-acl --bucket "$bucket" \
    --query 'Grants[?Grantee.URI==`http://acs.amazonaws.com/groups/global/AllUsers` || Grantee.URI==`http://acs.amazonaws.com/groups/global/AuthenticatedUsers`]' \
    --output json
done

Etapa 3: Analisar Políticas de Bucket para Acesso Excessivamente Permissivo

Revise as políticas de bucket para principais curinga (wildcard), condições ausentes e declarações que permitem acesso amplo.

# Extract and analyze bucket policies
for bucket in $(aws s3api list-buckets --query 'Buckets[*].Name' --output text); do
  policy=$(aws s3api get-bucket-policy --bucket "$bucket" --output text 2>/dev/null)
  if [ -n "$policy" ]; then
    echo "=== $bucket policy ==="
    echo "$policy" | python3 -c "
import json, sys
policy = json.load(sys.stdin)
for stmt in policy.get('Statement', []):
    principal = stmt.get('Principal', {})
    effect = stmt.get('Effect', '')
    if principal == '*' or principal == {'AWS': '*'}:
        print(f'  WARNING: {effect} with wildcard principal')
        print(f'  Actions: {stmt.get(\"Action\", \"\")}')
        print(f'  Condition: {stmt.get(\"Condition\", \"NONE\")}')
"
  fi
done

Etapa 4: Verificar Configurações de Criptografia e Versionamento

Verifique se todos os buckets têm criptografia do lado do servidor habilitada e versionamento configurado para proteção de dados.

# Check encryption and versioning status for all buckets
for bucket in $(aws s3api list-buckets --query 'Buckets[*].Name' --output text); do
  echo "=== $bucket ==="

  # Encryption configuration
  aws s3api get-bucket-encryption --bucket "$bucket" 2>/dev/null \
    && echo "  Encryption: ENABLED" \
    || echo "  Encryption: DISABLED"

  # Versioning status
  aws s3api get-bucket-versioning --bucket "$bucket" \
    --query 'Status' --output text

  # Logging status
  aws s3api get-bucket-logging --bucket "$bucket" \
    --query 'LoggingEnabled' --output text 2>/dev/null
done

…

Perguntas frequentes

O que são 'buckets S3'?

São como pastas ou 'cofres' na nuvem da Amazon Web Services (AWS) onde você pode guardar seus arquivos e dados.

O que significa 'acesso público'?

Significa que qualquer pessoa na internet, mesmo sem uma conta ou permissão especial, poderia ver ou acessar os dados guardados nesse 'cofre'.

O que é 'criptografia'?

É como um código secreto que embaralha seus dados. Só quem tem a 'chave' certa (permissão) consegue ler o que está escrito.

Detalhes

Descrição original do autor

Systematically audit AWS S3 bucket permissions to identify publicly accessible buckets, overly permissive ACLs, misconfigured bucket policies, and missing encryption settings using AWS CLI, S3audit, and Prowler to enforce least-privilege data access controls. '

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

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