O External Exposure do Security Command Center é um Google Cloud serviço que ajuda a gerenciar e reduzir a superfície de ataque externa por meio da descoberta automatizada e da validação de riscos.
Como os verificadores automatizados podem segmentar recursos expostos à Internet em minutos, o External Exposure descobre proativamente exposições acidentais e recursos ocultos antes que os invasores possam descobri-los e explorá-los.
Ao analisar seu ambiente de uma perspectiva externa, o serviço tenta confirmar o que é realmente acessível pela Internet e identifica quais exposições são realmente exploráveis.
O External Exposure verifica continuamente endereços IP externos, nomes de host, nomes de domínio e URLs em todo o Google Cloud ambiente. Esse recurso usa a verificação de rede para confirmar quais recursos e aplicativos podem ser acessados pela Internet pública.
Para cada exposição confirmada, o External Exposure faz o seguinte:
Rastreia e exibe o Google Cloud caminho de rede para balanceadores de carga externos, políticas do Google Cloud Armor, regras de firewall, Private Service Connect, Cloud Interconnect e serviços de back-end até o recurso exposto.
Esse recurso pode ser uma instância do Compute Engine ou um pod do Google Kubernetes Engine (GKE), incluindo um serviço ou aplicativo exposto.
Essa integração profunda com a estrutura de rede do Google ajuda a fornecer um contexto acionável para que você possa aplicar imediatamente mitigações preventivas, como bloquear uma regra de firewall específica ou configurar o Google Cloud Armor.
Realiza a impressão digital para tentar identificar o aplicativo da Web específico ou o software de servidor que está sendo executado em cada recurso exposto.
Se for possível identificar o serviço ou software exposto, ele identificará todas as vulnerabilidades conhecidas que o afetam.
Usa detectores passivos e ativos avançados para testar a capacidade de exploração no mundo real, validando vulnerabilidades, configurações incorretas e uso de credenciais padrão ou fracas.
Antes de começar
Esta seção descreve como preparar seu ambiente para usar o External Exposure.
Ativar a API Security Center Management
Se você planeja usar as APIs do Security Command Center, ative a API Security Center Management para o projeto de cota e, se as políticas da organização estiverem em uso que restringem o uso da API, verifique se a API Security Center Management está permitida. A API Security Center Management é usada para controlar o estado de ativação dos serviços do Security Command Center, como o External Exposure.
Em um terminal, ative a API Security Center Management para o projeto de cota:
gcloud services enable securitycentermanagement.googleapis.com \ --project=QUOTA_PROJECT_IDSubstitua QUOTA_PROJECT_ID pelo ID do projeto que você usa para gerenciar a cota.
Se você tiver políticas da organização que restringem o uso da API, verifique se a API Security Center Management está permitida. Para mais informações, consulte Analisar políticas da organização.
Se você quiser receber insights de caminho de exposição de rede nas suas descobertas, ative o External Exposure no nível da organização ou da pasta.
Funções exigidas
Para receber as permissões necessárias para configurar o External Exposure e visualizar os dados do painel, peça ao administrador para conceder a você as seguintes funções do IAM na organização, na pasta ou no projeto:
-
Configurar as definições do External Exposure no Security Command Center e visualizar os dados do painel:
Administrador da Central de segurança (
roles/securitycenter.admin) -
Conceder funções a agentes de serviço, como a função
externalexposure.serviceAgent: Administrador de segurança (roles/iam.securityAdmin) -
Criar e gerenciar contas de serviço:
Administrador da conta de serviço (
roles/iam.serviceAccountAdmin) -
Visualizar apenas os dados do painel:
Leitor administrador da Central de segurança (
roles/securitycenter.adminViewer) -
Visualizar o painel do External Exposure e as métricas de verificação no console, na CLI ou na API:
Leitor do External Exposure (
roles/externalexposure.viewer)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Os comandos da Google Cloud CLI a seguir podem ser usados para atribuir as funções anteriores a um usuário:
Atribuir funções usando a CLI gcloud
Para conceder a função Administrador da Central de segurança a um usuário, execute o seguinte comando:
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member=user:USER_EMAIL_ID \ --role=roles/securitycenter.adminPara conceder a função Leitor administrador da Central de segurança a um usuário, execute o seguinte comando:
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member=user:USER_EMAIL_ID \ --role=roles/securitycenter.adminViewerPara conceder a função Leitor do External Exposure a um usuário para acesso a métricas da CLI ou da API, execute o seguinte comando:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:USER_EMAIL_ID \ --role=roles/externalexposure.viewerSubstitua:
- ORGANIZATION_ID: o ID da organização
- PROJECT_ID: o ID do projeto
- USER_EMAIL_ID: o endereço de e-mail do usuário que exige acesso
Ativar e configurar o serviço
Para ativar e configurar o External Exposure, conclua as tarefas nas seções a seguir.
É possível ativar e configurar o serviço no nível da organização, da pasta ou do projeto. Ao usar a API, se você quiser configurar as definições no nível da
pasta ou da organização em vez do nível do projeto, substitua
projects/PROJECT_ID por
folders/FOLDER_ID ou
organizations/ORGANIZATION_ID em todos os URLs de solicitação e
nos parâmetros de dados JSON.
Ativar o External Exposure
Ative o External Exposure para sua organização, pasta ou projeto.
Depois de ativar o serviço, conceda ao agente de serviço as permissões necessárias, conforme descrito em Conceder permissões do agente de serviço.
Console
No Google Cloud console, acesse a página Ativação do serviço do External Exposure.
Selecione a organização ou o projeto.
Na guia Ativação do serviço , na coluna External Exposure , selecione o status de ativação da organização, pasta ou projeto que você quer modificar e selecione uma das seguintes opções:
- Ativar: ativa o External Exposure.
- Desativar: desativa o External Exposure.
- Herdar: herda as configurações do recurso pai, a menos que sejam substituídas no recurso filho.
gcloud
Ative a API Security Center Management e o External Exposure para o escopo de destino.
Em um terminal, ative a API para o projeto de cota:
gcloud services enable securitycentermanagement.googleapis.com \ --project=QUOTA_PROJECT_IDEm um terminal, ative o External Exposure usando a API Security Center Management:
curl --request PATCH \ "https://securitycentermanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityCenterServices/external_exposure?updateMask=intended_enablement_state" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "X-Goog-User-Project: QUOTA_PROJECT_ID" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "intendedEnablementState": "ENABLED", "name": "projects/PROJECT_ID/locations/global/securityCenterServices/external_exposure" }' \ --compressedSubstitua:
- QUOTA_PROJECT_ID: o ID do projeto que você usa para gerenciar a cota.
- PROJECT_ID: o ID do projeto em que você quer ativar o External Exposure.
Conceder permissões do agente de serviço
Dependendo do nível de recurso em que você ativa o serviço, Google Cloud ele gera um agente de serviço:
- Nível da organização ou da pasta: um agente de serviço no nível da organização ou da pasta é criado.
- Nível do projeto: um agente de serviço para envolvidos no projeto é criado.
Para conceder permissões no nível da organização, execute o seguinte comando gcloud em um terminal:
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
--member="serviceAccount:service-org-ORGANIZATION_ID@gcp-sa-ee-hpsa.iam.gserviceaccount.com" \
--role=roles/externalexposure.serviceAgent
Substitua ORGANIZATION_ID pelo ID numérico da organização.
Para conceder permissões no nível da pasta, execute o seguinte comando gcloud em um terminal:
gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \
--member="serviceAccount:service-folder-FOLDER_ID@gcp-sa-ee-hpsa.iam.gserviceaccount.com" \
--role=roles/externalexposure.serviceAgent
Substitua FOLDER_ID pelo ID numérico da pasta.
Conceder acesso de entrada a perímetros de serviço
Se você usa o VPC Service Controls, conceda ao agente de serviço do External Exposure acesso de entrada a todos os perímetros de serviço que protegem os projetos que você quer verificar. Se você não conceder acesso de entrada, o External Exposure não poderá realizar verificações nem gerar descobertas para projetos protegidos por perímetros de serviço.
Dependendo do nível de recurso em que o serviço está ativado, o identificador da conta de serviço usa um dos seguintes formatos de endereço de e-mail:
Para organizações ou pastas:
service-RESOURCE_KEYWORD-RESOURCE_ID@gcp-sa-ee-hpsa.iam.gserviceaccount.comPara projetos:
service-project-PROJECT_NUMBER@gcp-sa-ee.iam.gserviceaccount.com
Substitua:
RESOURCE_KEYWORD: a palavra-chaveorgoufolderRESOURCE_ID: o ID da organização ou da pastaPROJECT_NUMBER: o número do projeto
Se houver contas de serviço no nível da organização e para envolvidos no projeto, aplique as etapas a seguir a ambas.
Para conceder acesso, adicione uma regra de entrada a cada perímetro de serviço de bloqueio:
No Google Cloud console do, acesse a página VPC Service Controls:
Selecione a política de acesso de bloqueio e o perímetro de serviço.
Clique em Editar e em Política de entrada.
Clique em Adicionar regra de entrada e configure o bloco De:
- Em Identidade, selecione Identidades e grupos selecionados.
- Insira o endereço de e-mail da conta de serviço do External Exposure.
- Em Origem, selecione Todas as fontes.
Configure o bloco Para da regra:
- Em Projeto, selecione Todos os projetos.
- Em Operações ou funções do IAM, selecione Todas as operações.
Clique em Salvar.
Configurar portas personalizadas
Configure até 32 portas personalizadas por projeto para serem verificadas, além das portas padrão listadas em Desempenho e limitações:
Console
No Google Cloud console do, acesse a página Ativação do serviço:
Selecione a organização ou o projeto.
Na coluna External Exposure da linha que você quer modificar, clique em Configurações.
No campo Portas personalizadas, insira os números das portas separados por vírgulas.
Clique em Salvar.
gcloud
Para configurar portas personalizadas para verificação, inclua service_config no updateMask e especifique os números inteiros da porta no wrapper da matriz ports no objeto serviceConfig. O exemplo a seguir configura as portas personalizadas 8081 e 8188 para verificação:
curl --request PATCH \
"https://securitycentermanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityCenterServices/external_exposure?updateMask=service_config" \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "X-Goog-User-Project: QUOTA_PROJECT_ID" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{
"serviceConfig": {
"ports": [8081, 8188]
},
"name": "projects/PROJECT_ID/locations/global/securityCenterServices/external_exposure"
}' \
--compressed
Substitua:
- QUOTA_PROJECT_ID: o ID do projeto que você usa para gerenciar a cota.
- PROJECT_ID: o ID do projeto em que você quer configurar portas personalizadas.
Configurar módulos de verificação
Configure módulos de verificação específicos para serem ativados ou desativados:
Console
No Google Cloud console do, acesse a página Ativação do serviço:
Selecione a organização ou o projeto.
Na coluna External Exposure da linha que você quer modificar, clique em Configurações.
Na seção Módulos de verificação , marque a caixa de seleção para ativar ou desativar cada módulo (como interfaces expostas, APIs, credenciais fracas ou RCE).
Clique em Salvar.
gcloud
Para ativar ou desativar módulos específicos, inclua modules no updateMask e especifique o estado de ativação de cada módulo no objeto modules. O exemplo a seguir ativa EXTERNALLY_EXPOSED_RCE_VULNERABILITY e desativa EXTERNALLY_EXPOSED_WEAK_CREDENTIALS:
curl --request PATCH \
"https://securitycentermanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityCenterServices/external_exposure?updateMask=modules" \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "X-Goog-User-Project: QUOTA_PROJECT_ID" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{
"modules": {
"EXTERNALLY_EXPOSED_RCE_VULNERABILITY": {
"intendedEnablementState": "ENABLED"
},
"EXTERNALLY_EXPOSED_WEAK_CREDENTIALS": {
"intendedEnablementState": "DISABLED"
}
},
"name": "projects/PROJECT_ID/locations/global/securityCenterServices/external_exposure"
}' \
--compressed
Substitua:
- QUOTA_PROJECT_ID: o ID do projeto que você usa para gerenciar a cota.
- PROJECT_ID: o ID do projeto em que você quer configurar módulos.
É possível configurar estados de ativação apenas para os seguintes módulos:
EXTERNALLY_EXPOSED_UIEXTERNALLY_EXPOSED_APIEXTERNALLY_EXPOSED_WEAK_CREDENTIALSEXTERNALLY_EXPOSED_RCE_VULNERABILITYEXTERNALLY_EXPOSED_ARBITRARY_DATA_READ
Todos os outros módulos do External Exposure (incluindo verificações de banco de dados, carga de trabalho sem servidor e armazenamento do balanceador de carga) são ativados por padrão e não aparecem na página de configuração de módulos.
Depois que o External Exposure é ativado, as verificações em lote contínuas são executadas automaticamente para identificar endereços IP externo expostos, testar serviços em execução e validar vulnerabilidades ativas.
Investigar descobertas
Depois de ativar o External Exposure, é possível visualizar as descobertas no Google Cloud console do Google Cloud ou usando a CLI.
Visualizar descobertas na página "Descobertas"
-
No Google Cloud console do, acesse a página Descobertas do Security Command Center.
- Selecione a visualização External Exposure.
A visualização External Exposure mostra apenas as descobertas em que o campo finding_class é EXTERNAL_EXPOSURE.
Visualizar descobertas no painel do External Exposure
Para acessar o painel do External Exposure, no Google Cloud console, acesse a página Visão geral de riscos > External Exposure:
Esse painel está disponível quando o escopo está definido como uma organização, pasta ou projeto.
Para mais informações sobre esse painel, consulte Avaliar o risco usando os painéis de visão geral de riscos.
Buscar descobertas usando a CLI
Para buscar descobertas ativas do External Exposure usando a CLI, execute o seguinte comando:
gcloud scc findings list projects/PROJECT_ID \
--location=global \
--filter="state=\"ACTIVE\" AND finding_class=\"EXTERNAL_EXPOSURE\""
Substitua PROJECT_ID pelo ID do projeto em que você quer visualizar as descobertas.
Entender os detalhes das descobertas
As descobertas que pertencem à classe EXTERNAL_EXPOSURE identificam o tipo de risco e como o recurso é exposto.
Para uma lista das categorias de risco granular que são geradas para essas descobertas
(como EXTERNALLY_EXPOSED_VM_INSTANCE ou
EXTERNALLY_EXPOSED_SERVERLESS_WORKLOAD), consulte Descobertas do External Exposure.
Todas as descobertas da classe EXTERNAL_EXPOSURE incluem os seguintes detalhes:
- Serviço exposto: o aplicativo da Web específico, o software do servidor ou o protocolo identificado na porta ativa.
- Insights do caminho de rede: a conectividade de rastreamento do caminho de rede da Internet pública por balanceadores de carga, regras de encaminhamento e serviços de back-end até o recurso de destino.
- Endpoint exposto: o recurso de destino subjacente (por exemplo, uma instância do Compute Engine ou um pod do Google Kubernetes Engine (GKE)).
Se for possível identificar o serviço ou a versão do software exposto, a descoberta também listará todas as vulnerabilidades CVE que o afetam.
Priorizar descobertas com pontuações de exposição a ataques
As descobertas do External Exposure são integradas às simulações de caminho de ataque. Para mais informações, consulte Visão geral das pontuações de exposição a ataques e caminhos de ataque. Quando uma exposição confirmada se conecta a um possível caminho de movimento lateral (por exemplo, uma conta de serviço exposta que pode acessar um banco de dados sensível do BigQuery ou um bucket do Cloud Storage), a descoberta recebe uma pontuação de exposição a ataques. É possível usar essa pontuação para priorizar a correção de exposições que representam o maior risco para seus recursos de alto valor.
Monitorar métricas de verificação
Para ajudar a confirmar se o External Exposure está operando com sucesso em todo o ambiente, o console mostra métricas de verificação em lote contínuas:
- Última verificação: o carimbo de data/hora do ciclo de verificação concluído mais recentemente, confirmando que as descobertas refletem uma visualização atual dos seus recursos.
- Próxima verificação: o horário de início programado do ciclo de verificação subsequente.
- Projetos bem-sucedidos: o número total de projetos analisados com sucesso durante o ciclo de verificação mais recente.
- Projetos excluídos: o número total de projetos que foram
ignorados porque as políticas da organização ou as restrições do VPC Service Controls restringem
o acesso do verificador aos recursos. Quando um projeto é ignorado, o Security Command Center gera uma ou mais descobertas da classe
SCC_ERROR. - Recursos expostos: o número total de destinos de recursos exclusivos identificados como acessíveis publicamente.
- Portas públicas expostas: o número total de portas externas ativas distintas detectadas nos recursos expostos.
Identificar o tráfego do verificador nos registros
Quando o External Exposure verifica ativamente seus recursos externos, você pode observar solicitações de verificação recebidas nos registros de serviço, como registros de solicitação do Cloud Run no Cloud Logging.
Para verificar se as solicitações recebidas são originadas do External Exposure em vez de terceiros não autorizados, inspecione a entrada de registro do campo userAgent em httpRequest. Todas as solicitações ativas do serviço se identificam com o agente do usuário TsunamiSecurityScanner.
O exemplo a seguir mostra uma entrada de registro de solicitação do Cloud Logging gerada quando o External Exposure verifica um serviço do Cloud Run exposto:
{
"httpRequest": {
"latency": "0.004745622s",
"protocol": "HTTP/1.1",
"remoteIp": "2600:1900:4180:5b2:0:1ae::",
"requestMethod": "POST",
"requestSize": "441",
"requestUrl": "https://SERVICE_URL/mcp",
"responseSize": "131",
"serverIp": "2600:1900:4244:200::",
"status": 405,
"userAgent": "TsunamiSecurityScanner"
},
"insertId": "6a16af86000c7e0d0fdc1c58",
"labels": {
"goog-managed-by": "cloudfunctions",
"goog-serve-source": "user-container"
},
"logName": "projects/PROJECT_ID/logs/run.googleapis.com%2Frequests",
"receiveTimestamp": "2026-05-27T08:47:03.025492782Z",
"resource": {
"labels": {
"configuration_name": "SERVICE_NAME",
"location": "us-central1",
"project_id": "PROJECT_ID",
"revision_name": "REVISION_NAME",
"service_name": "SERVICE_NAME"
},
"type": "cloud_run_revision"
},
"severity": "WARNING",
"timestamp": "2026-05-27T08:47:02.811254Z"
}
Desempenho e limitações
- Recursos compatíveis:instâncias do Compute Engine, serviços do Google Kubernetes Engine (GKE) e controladores de entrada, bancos de dados, incluindo Cloud SQL e AlloyDB para PostgreSQL, clusters do Managed Service for Apache Spark, Cloud Run, Cloud Storage e Gemini Enterprise Agent Platform Workbench.
- Intervalo de atualização: para informações sobre a frequência de verificação do External Exposure, consulte Quando esperar descobertas no Security Command Center.
- Portas verificadas:o External Exposure verifica automaticamente os serviços em execução em uma linha de base predefinida de portas comuns, agrupadas principalmente por tipo de serviço ou protocolo:
- Administrativo / shell: 22 (SSH), 23 (Telnet), 3389 (RDP)
- Web / HTTP(S): 80, 443, 8000, 8080, 8081, 8443, 8800, 9000, 9443
- Bancos de dados: 1433, 1521, 3306, 5432, 9200, 11211, 27017, 6379
- Kubernetes e gateways de serviço: 6443, 10250, 10255, 15020, 15021
- Outras ferramentas e serviços comuns para desenvolvedores: 1099, 1880, 2323, 2375, 2376, 2379, 2746, 3000, 3100, 4040, 5000, 5173, 5678, 6006, 6274, 7001, 7002, 7077, 7860, 8001, 8042, 8083, 8088, 8090, 8111, 8123, 8153, 8154, 8188, 8265, 8500, 8501, 8787, 8888, 8890, 8983, 9001, 9010, 9090, 9091, 9092, 9100, 9870, 9876, 11434, 15672, 18080, 54321 e 61616.
- Portas personalizadas: além das portas padrão, é possível configurar até 32 portas personalizadas por projeto para verificação. Para mais informações, consulte Configurar portas personalizadas.
- Insights do caminho de rede: as descobertas informam um caminho de rede para um recurso exposto.
- VMs com balanceamento de carga: se várias instâncias de VM estiverem conectadas a um balanceador de carga, as descobertas serão informadas apenas para uma das instâncias de VM.
- Priorização de descobertas do Cloud Run: como cada
implantação do Cloud Run recebe um URL público por padrão,
as descobertas são avaliadas em relação às políticas do IAM e do Identity-Aware Proxy
(IAP). Se uma carga de trabalho estiver protegida pelo IAM ou pelo IAP (retornando uma resposta não autorizada HTTP 403), a gravidade da descoberta será rebaixada para
LOWpara reduzir o ruído informativo. - Insights do caminho de exposição da rede: as descobertas não incluem insights do caminho de exposição da rede quando o External Exposure é ativado no nível do projeto. Para receber insights do caminho de exposição da rede, ative o serviço no nível da organização ou da pasta.