인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
생산성 및 협업 · SKILL.md

cloud-security

cloud-security

Use ao avaliar infraestrutura de nuvem para configurações incorretas de segurança, caminhos de escalada de privilégio IAM, exposição pública de S3, regras de grupo de segurança abertas ou lacunas de segurança em IaC. Cobre avaliação de postura em AWS, Azure e GCP com mapeamento MITRE ATT&CK.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill 문서

GitHub

name: "cloud-security" description: "Use ao avaliar infraestrutura de nuvem para configurações incorretas de segurança, caminhos de escalada de privilégio IAM, exposição pública de S3, regras de grupo de segurança abertas ou lacunas de segurança em IaC. Cobre avaliação de postura em AWS, Azure e GCP com mapeamento MITRE ATT&CK." agents:

  • claude-code

Segurança em Nuvem

Skill de avaliação de postura de segurança em nuvem para detectar escalada de privilégio IAM, exposição pública de armazenamento, riscos de configuração de rede e configurações incorretas em infraestrutura como código. Esta skill NÃO cobre resposta a incidentes para comprometimento ativo de nuvem (veja incident-response) ou escaneamento de vulnerabilidades de aplicação (veja security-pen-testing) — trata da análise sistemática de configurações de nuvem para prevenir exploração.


Sumário


Visão Geral

O que Esta Skill Faz

Esta skill fornece a metodologia e ferramentas para gerenciamento de postura de segurança em nuvem (CSPM) — verificando sistematicamente configurações de nuvem para configurações incorretas que criam superfície de ataque explorável. Cobre caminhos de escalada de privilégio IAM, exposição pública de armazenamento, super-permissões de rede e segurança do código de infraestrutura.

Distinção de Outras Skills de Segurança

SkillFocoAbordagem
cloud-security (esta)Risco de configuração de nuvemPreventiva — avaliar antes da exploração
incident-responseIncidentes ativos de nuvemReativa — triagem de comprometimento confirmado de nuvem
threat-detectionAnomalias comportamentaisProativa — caçar atividade de atacante em logs de nuvem
security-pen-testingVulnerabilidades de aplicaçãoOfensiva — explorar ativamente fraquezas encontradas

Pré-requisitos

Acesso de leitura a documentos de política IAM, configurações de bucket S3 e regras de grupo de segurança em formato JSON. Para monitoramento contínuo, integrar com APIs do provedor de nuvem (AWS Config, Azure Policy, GCP Security Command Center).


Ferramenta de Verificação de Postura de Nuvem

A ferramenta cloud_posture_check.py executa três tipos de verificações: iam (escalada de privilégio), s3 (acesso público) e sg (exposição de rede). Ela detecta automaticamente o tipo de verificação a partir da estrutura do arquivo de configuração ou aceita flags --check explícitas.

# Analisar uma política IAM para caminhos de escalada de privilégio
python3 scripts/cloud_posture_check.py policy.json --check iam --json

# Avaliar configuração de bucket S3 para acesso público
python3 scripts/cloud_posture_check.py bucket_config.json --check s3 --json

# Verificar regras de grupo de segurança para portas de administração abertas
python3 scripts/cloud_posture_check.py sg.json --check sg --json

# Executar todas as verificações com aumento de severidade para recursos expostos à internet
python3 scripts/cloud_posture_check.py config.json --check all \
  --provider aws --severity-modifier internet-facing --json

# Contexto de dados regulados (aumenta severidade em um nível para todos os resultados)
python3 scripts/cloud_posture_check.py config.json --check all \
  --severity-modifier regulated-data --json

# Canalizar política IAM da AWS CLI
aws iam get-policy-version --policy-arn arn:aws:iam::123456789012:policy/MyPolicy \
  --version-id v1 | jq '.PolicyVersion.Document' | \
  python3 scripts/cloud_posture_check.py - --check iam --json

Códigos de Saída

CódigoSignificadoAção Obrigatória
0Nenhum resultado alto/críticoNenhuma ação necessária
1Resultados de alta severidadeRemediar em 24 horas
2Resultados críticosRemediar imediatamente — escalar para incident-response se ativo

Análise de Política IAM

A análise IAM detecta caminhos de escalada de privilégio, concessões super-privilegiadas, exposição de principal público e risco de exfiltração de dados.

Padrões de Escalada de Privilégio

PadrãoSeveridadeCombinação de Ações-ChaveMITRE
Escalada PassRole via LambdaCríticaiam:PassRole + lambda:CreateFunctionT1078.004
Abuso de perfil de instância EC2Críticaiam:PassRole + ec2:RunInstancesT1078.004
PassRole via CloudFormationCríticaiam:PassRole + cloudformation:CreateStackT1078.004
Escalada por auto-attach de políticaCríticaiam:AttachUserPolicy + sts:GetCallerIdentityT1484.001
Auto-escalada por política inlineCríticaiam:PutUserPolicy + sts:GetCallerIdentityT1484.001
Backdoor de versão de políticaCríticaiam:CreatePolicyVersion + iam:ListPoliciesT1484.001
Colheita de credenciaisAltaiam:CreateAccessKey + iam:ListUsersT1098.001
Escalada por associação a grupoAltaiam:AddUserToGroup + iam:ListGroupsT1098
Ataque de redefinição de senhaAltaiam:UpdateLoginProfile + iam:ListUsersT1098
Wildcard de nível de serviçoAltaiam:* ou s3:* ou ec2:*T1078.004

Guia de Severidade de Resultados IAM

Tipo de ResultadoCondiçãoSeveridade
Wildcard de admin completoAction=* Resource=*Crítica
Principal públicoPrincipal: '*'Crítica
Combinação de ação perigosaCaminho de escalada de duas açõesCrítica
Ações individuais de priv-escEm recurso wildcardAlta
Ações de exfiltração de dadoss3:GetObject, secretsmanager:GetSecretValue em *Alta
Wildcard de serviçoação service:*Alta
Ações de dados em recurso nomeadoEscopo apropriadoBaixo/Limpo

Recomendações de Menor Privilégio

Para cada resultado crítico ou alto, a ferramenta produz um campo least_privilege_suggestion com orientação específica de remediação:

  • Substituir Action: * por uma lista nomeada de ações necessárias
  • Substituir Resource: * por padrões específicos de ARN
  • Usar AWS Access Analyzer para identificar permissões realmente utilizadas
  • Separar combinações de ações perigosas em papéis diferentes com políticas de confiança distintas

Avaliação de Exposição S3

A avaliação S3 verifica quatro dimensões: configuração de bloqueio de acesso público, ACL do bucket, exposição de principal de política do bucket e criptografia padrão.

Matriz de Verificação de Configuração S3

VerificaçãoCondição de ResultadoSeveridade
Bloqueio de acesso públicoQualquer um dos quatro flags ausente/falsoAlta
ACL do bucketpublic-read-writeCrítica
ACL do bucketpublic-read ou authenticated-readAlta
Principal de política do bucket"Principal": "*" com AllowCrítica
Criptografia padrãoSem ServerSideEncryptionConfigurationAlta
Criptografia padrãoSSEAlgorithm não-padrãoMédia
Sem PublicAccessBlockConfigurationStatus desconhecidoMédia

Configuração de Baseline Recomendada para S3

{
  "PublicAccessBlockConfiguration": {
    "BlockPublicAcls": true,
    "BlockPublicPolicy": true,
    "IgnorePublicAcls": true,
    "RestrictPublicBuckets": true
  },
  "ServerSideEncryptionConfiguration": {
    "Rules": [{
      "ApplyServerSideEncryptionByDefault": {
        "SSEAlgorithm": "aws:kms",
        "KMSMasterKeyID": "arn:aws:kms:region:account:key/key-id"
      },
      "BucketKeyEnabled": true
    }]
  },
  "ACL": "private"
}

Todas as quatro configurações de bloqueio de acesso público devem estar habilitadas tanto no nível do bucket quanto no nível da conta AWS. As configurações de nível de conta podem ser substituídas pelas configurações de nível de bucket se ambas não forem aplicadas.


Análise de Grupo de Segurança

A análise de grupo de segurança sinaliza regras de entrada que expõem portas de administração, portas de banco de dados ou todo o tráfego para CIDRs da internet (0.0.0.0/0, ::/0).

Regras de Exposição de Portas Críticas

PortaServiçoSeveridade do ResultadoRemediação
22SSHCríticaRestringir ao CIDR de VPN ou usar AWS Systems Manager Session Manager
3389RDPCríticaRestringir ao CIDR de VPN ou usar AWS Fleet Manager
0–65535 (todos)Todo o tráfegoCríticaRemover regra; adicionar apenas as portas específicas necessárias

Regras de Alta Exposição para Portas de Banco de Dados

PortaServiçoSeveridade do ResultadoRemediação
1433MSSQLAltaPermitir apenas do SG da camada de aplicação — mover para subnet privada
3306MySQLAltaPermitir apenas do SG da camada de aplicação — mover para subnet privada
5432PostgreSQLAltaPermitir apenas do SG da camada de aplicação — mover para subnet privada
27017MongoDBAltaPermitir apenas do SG da camada de aplicação — mover para subnet privada
6379RedisAltaPermitir apenas do SG da camada de aplicação — mover para subnet privada
9200ElasticsearchAltaPermitir apenas do SG da camada de aplicação — mover para subnet privada

Modificadores de Severidade

Use --severity-modifier internet-facing quando o recurso avaliado for diretamente acessível pela internet (load balancer, API gateway, EC2 público). Use --severity-modifier regulated-data quando o recurso lidar com dados regulados por PCI, ANVISA ou LGPD. Ambos os modificadores aumentam a severidade de cada resultado em um nível.


Revisão de Segurança de IaC

A revisão de segurança de infraestrutura como código captura problemas de configuração no momento da definição, antes da implantação.

Matriz de Verificação de IaC

FerramentaTipos de VerificaçãoQuando Executar
TerraformVerificações em nível de recurso (aws_s3_bucket_acl, aws_security_group, aws_iam_policy_document)Pré-plan, pré-apply, gate de PR
CloudFormationValidação de propriedade de template (PublicAccessBlockConfiguration, SecurityGroupIngress)Lint de template, gate de implantação
Manifestos KubernetesPrivilégios de container, políticas de rede, exposição de segredosGate de PR, admission controller
Helm chartsIgual ao KubernetesGate de PR

Exemplo de Política IAM Terraform — Resultado vs. Limpo

# RUIM: Gerará resultados críticos
resource "aws_iam_policy" "bad_policy" {
  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [{
      Effect   = "Allow"
      Action   = "*"
      Resource = "*"
    }]
  })
}

# BOM: Menor privilégio
resource "aws_iam_policy" "good_policy" {
  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [{
      Effect   = "Allow"
      Action   = ["s3:GetObject", "s3:PutObject"]
      Resource = "arn:aws:s3:::my-specific-bucket/*"
    }]
  })
}

Referência completa de verificações CSPM: references/cspm-checks.md


Matriz de Cobertura por Provedor de Nuvem

Tipo de VerificaçãoAWSAzureGCP
Escalada de privilégio IAMCompleta (políticas IAM, políticas de confiança, ESCALATION_COMBOS)Parcial (atribuições RBAC, riscos de service principal)Parcial (vinculações IAM, workload identity)
Acesso público a armazenamentoCompleta (políticas de bucket S3, ACLs, bloqueio de acesso público)Parcial (tokens SAS de Blob, níveis de acesso de container)Parcial (IAM de bucket GCS, acesso uniforme em nível de bucket)
Exposição de redeCompleta (Security Groups, NACLs, análise em nível de porta)Parcial (regras NSG, análise de porta de entrada)Parcial (regras de firewall, firewall VPC)
Escaneamento de IaCCompleta (Terraform, CloudFormation)Parcial (templates ARM, Bicep)Parcial (Deployment Manager)

Fluxos de Trabalho

Fluxo de Trabalho 1: Verificação Rápida de Postura (20 Minutos)

Para um recurso recém-provisionado ou revisão pré-implantação:

# 1. Exportar documento de política IAM
aws iam get-policy-version --policy-arn ARN --version-id v1 | \
  jq '.PolicyVersion.Document' > policy.json
python3 scripts/cloud_posture_check.py policy.json --check iam --json

# 2. Verificar configuração do bucket S3
aws s3api get-bucket-acl --bucket my-bucket > acl.json
aws s3api get-public-access-block --bucket my-bucket >> bucket.json
python3 scripts/cloud_posture_check.py bucket.json --check s3 --json

# 3. Revisar grupos de segurança para portas de administração abertas
aws ec2 describe-security-groups --group-ids sg-123456 | \
  jq '.SecurityGroups[0]' > sg.json
python3 scripts/cloud_posture_check.py sg.json --check sg --json

Decisão: Código de saída 2 = bloquear implantação e remediar. Código de saída 1 = agendar remediação em 24 horas.

Fluxo de Trabalho 2: Avaliação Completa de Segurança em Nuvem (Múltiplos Dias)

Dia 1 — IAM e Identidade:

  1. Exportar todas as políticas IAM anexadas a papéis de produção
  2. Executar cloud_posture_check.py --check iam em cada política
  3. Mapear todos os caminhos de escalada de privilégio encontrados
  4. Identificar contas de serviço e papéis super-privilegiados
  5. Revisar políticas de confiança entre contas

Dia 2 — Armazenamento e Rede:

  1. Enumerar todos os buckets S3 e exportar configurações
  2. Executar cloud_posture_check.py --check s3 --severity-modifier regulated-data para buckets de dados
  3. Exportar configurações de grupo de segurança para todas as VPCs
  4. Executar cloud_posture_check.py --check sg para recursos expostos à internet
  5. Revisar regras NACL para lacunas de segmentação de rede

Dia 3 — IaC e Integração Contínua:

  1. Revisar templates Terraform/CloudFormation no controle de versão
  2. Verificar pipeline CI/CD para gates de segurança de IaC
  3. Validar resultados contra references/cspm-checks.md
  4. Produzir plano de remediação com ordenação de prioridade (Crítico → Alto → Médio)

Fluxo de Trabalho 3: Gate de Segurança no CI/CD

Integrar verificações de postura nos pipelines de implantação para evitar que recursos com configurações incorretas cheguem à produção:

# Validar IaC antes de terraform apply
terraform show -json plan.json | \
  jq '[.resource_changes[].change.after | select(. != null)]' > resources.json
python3 scripts/cloud_posture_check.py resources.json --check all --json
if [ $? -eq 2 ]; then
  echo "Resultados críticos de segurança em nuvem — bloqueando implantação"
  exit 1
fi

# Validar bucket S3 existente antes de modificar
aws s3api get-bucket-policy --bucket "${BUCKET}" | jq '.Policy | fromjson' | \
  python3 scripts/cloud_posture_check.py - --check s3 \
  --severity-modifier regulated-data --json

Anti-Padrões

  1. Executar análise IAM sem verificar combinações de escalada — Ações de alto risco individuais isoladamente podem parecer de baixo risco. O perigo está nas combinações: iam:PassRole sozinho não é crítico, mas iam:PassRole + lambda:CreateFunction é um caminho confirmado de escalada de privilégio. Sempre analise o statement completo, não ações individuais.
  2. Habilitar apenas o bloqueio de acesso público em nível de bucket — AWS S3 tem configurações de bloqueio de acesso público tanto em nível de conta quanto em nível de bucket. Uma configuração em nível de bucket pode substituir uma configuração em nível de conta. Ambas devem ser configuradas. O bloqueio em nível de conta sozinho é insuficiente se qualquer bucket tiver substituições explícitas.
  3. Tratar --severity-modifier internet-facing como opcional para recursos públicos — Recursos expostos à internet têm exposição significativamente maior do que recursos internos. Resultados altos em infraestrutura voltada para a internet devem ser tratados como críticos. Sempre aplique --severity-modifier internet-facing para configurações de DMZ, load balancer e API gateway.
  4. Verificar apenas políticas de administrador — Caminhos de escalada de privilégio frequentemente se originam de políticas não-administrador que combinam permissões aparentemente inocentes. Todas as políticas anexadas a identidades de produção devem ser verificadas, não apenas políticas com acesso elevado óbvio.
  5. Remediar resultados sem análise de causa raiz — Remover uma permissão perigosa sem entender por que ela foi concedida resultará em re-adição. Documente a justificativa de negócio para cada permissão de alto risco antes de removê-la, para evitar re-introdução silenciosa.
  6. Ignorar super-permissões de contas de serviço — Contas de serviço são frequentemente super-provisionadas durante o desenvolvimento e nunca reduzidas para produção. Cada conta de serviço em produção deve ser auditada contra o AWS Access Analyzer ou equivalente para identificar e remover permissões não utilizadas.
  7. Não aplicar modificadores de severidade para cargas de trabalho com dados regulados — Um resultado alto em um bucket S3 de uso geral é diferente do mesmo resultado em um bucket contendo dados de PHI ou de titulares de cartão. Sempre use --severity-modifier regulated-data ao avaliar recursos em ambientes de dados regulados.

Referências Cruzadas

SkillRelação
incident-responseResultados críticos (S3 público, escalada de privilégio confirmada ativa) podem acionar classificação de incidente
threat-detectionResultados de postura de nuvem criam alvos de caça — papéis super-privilegiados são prováveis destinos de movimento lateral
red-teamExercícios de red team testam especificamente a explorabilidade de configurações incorretas de nuvem encontradas na avaliação de postura
security-pen-testingResultados de postura de nuvem alimentam a seção de segurança de infraestrutura de avaliações de pen test
저장한 Skills