Configurar o VPC Service Controls
Neste guia, descrevemos como configurar o VPC Service Controls para o Google Security Operations.
O VPC Service Controls permite configurar um perímetro de serviço para evitar a exfiltração de dados. Configure o Google Security Operations com o VPC Service Controls para que o Google SecOps possa acessar recursos e serviços fora do perímetro de serviço.
Para saber mais sobre o VPC Service Controls, consulte a Visão geral do VPC Service Controls. Consulte também a entrada do Google Security Operations na tabela de produtos compatíveis com o VPC Service Controls.
Antes de começar
- Verifique se você tem os papéis necessários para configurar o VPC Service Controls no nível da organização.
Para usar o Google SecOps com o VPC Service Controls, use apenas recursos compatíveis com o VPC Service Controls. Veja a seguir os recursos compatíveis com o VPC Service Controls:
- O Google SecOps com VPC Service Controls é compatível apenas com a autenticação de identidade do Google Cloud , provedores de identidade de terceiros e federação de identidade de colaboradores.
- O RBAC de recursos do Google SecOps precisa estar ativado para usar o VPC Service Controls com o Google SecOps.
O Google SecOps com VPC Service Controls é compatível apenas com as seguintes APIs públicas:
chronicle.googleapis.comchronicleservicemanager.googleapis.com
Para integrar o VPC Service Controls, é necessário migrar todos os endpoints correspondentes para a API
chronicle.googleapis.com.O Google SecOps com VPC Service Controls só permite a exportação de dados do modelo de dados unificado (UDM) do Google SecOps para um projeto autogerenciado do BigQuery ou usando a exportação avançada do BigQuery.
O VPC Service Controls só é compatível com os painéis do Google SecOps.
Só é possível criar feeds do Cloud Storage com o tipo de origem
GOOGLE_CLOUD_STORAGE_V2usando conectores v2.Ao criar novas assinaturas do Pub/Sub quando o Google SecOps estiver restrito a um perímetro do VPC Service Controls, o Google SecOps vai exigir que você grave registros no Cloud Storage e use GOOGLE_CLOUD_STORAGE_V2 ou GOOGLE_CLOUD_STORAGE_EVENT_DRIVEN em vez dos feeds CLOUD_PUB_SUB.
Para uma instância do Google SecOps que usa chaves de criptografia gerenciadas pelo cliente (CMEK), o Google recomenda que você mantenha o projeto do Cloud Key Management Service no mesmo perímetro do projeto do Google Cloud vinculado ao Google SecOps ou mantenha as chaves dentro do próprio projeto do Google Cloud vinculado ao Google SecOps.
No lado do SOAR da plataforma, se a instância do Google SecOps usar chaves de criptografia gerenciadas pelo cliente (CMEK), confirme se a instância do SOAR foi migrada para o Google.com.
Se você estiver usando exportações de dados legadas do SOAR para o BigQuery, como para o Looker ou o BigQuery Export gerenciado, o Google recomenda que você use o recurso Traga seu próprio BigQuery (BYOBQ). Como os painéis do Looker são um recurso legado, o Google também recomenda que você use os painéis. Se você continuar usando as exportações de dados legadas do SOAR para o BigQuery, será necessário configurar uma regra de saída dedicada no perímetro de serviço do VPC Service Controls. Para receber as informações necessárias sobre regras e projetos, como
SOAR_TENANT_PROJECT_IDeBQ_TLA_PROJECT_NUMBER, entre em contato com seu engenheiro de clientes (CE) ou abra um caso de suporte.
Limitações
O endpoint de API do Google SecOps Chronicle
ImportPushLogsnão é compatível com o VPC Service Controls. No entanto, essa limitação não representa um risco de exfiltração de dados, porque o endpointImportPushLogsé usado apenas para enviar dados para uma instância do Google SecOps, não para acessar dados.O Google SecOps com VPC Service Controls não é compatível com os painéis do Looker.
Google Cloud O Pub/Sub não permite criar uma nova assinatura do Pub/Sub que use os endpoints de API do Chronicle para ingerir registros (entrada do Pub/Sub na tabela de produtos compatíveis com o VPC Service Controls). No entanto, as assinaturas do Pub/Sub criadas antes de mover o projeto do Google Cloud para dentro do perímetro do VPC Service Controls vão continuar ingerindo registros normalmente.
O Google SecOps com VPC Service Controls não é compatível com conectores de feed de API de terceiros e buckets de nuvem legados.
Configurar as regras de entrada e saída
Configure as regras de entrada e saída com base na configuração do perímetro de serviço. Para mais informações, consulte Visão geral do perímetro de serviço.
Se você tiver problemas com o VPC Service Controls, use o analisador de violações do VPC Service Controls para depurar e analisar o problema. Para mais informações, consulte Diagnosticar uma negação de acesso no analisador de violações.
Configurar a regra de entrada para o SOAR
Nesta seção, descrevemos como configurar o VPC Service Controls para o lado SOAR da plataforma.
Configure a seguinte regra de entrada para a conta de usuário do Google Cloud que você especificou ao configurar o Google SecOps:
- ingressFrom:
identityType: ANY_SERVICE_ACCOUNT
sources:
- accessLevel: "*"
ingressTo:
operations:
- serviceName: secretmanager.googleapis.com
methodSelectors:
- method: "*"
resources:
- projects/PROJECT_NUMBER
Substitua PROJECT_NUMBER pelo número do projeto do Google Cloud vinculado ao Google SecOps.
Configurar as regras para o SIEM
Nesta seção, descrevemos como configurar o VPC Service Controls para o lado do SIEM da plataforma.
Regras de entrada e saída para feeds V2 baseados no Cloud Storage
Configure as regras de entrada e saída com base na configuração do perímetro de serviço. Consulte Visão geral do perímetro de serviço para mais informações. Se o VPC Service Controls estiver ativado no Google Cloud projeto que hospeda o bucket do Cloud Storage de origem ou no Google Cloud projeto vinculado ao Google SecOps (BYOP), configure as regras de entrada e saída necessárias com base na configuração do perímetro:
| Caso | Projeto do bucket de origem | Projeto vinculado ao Google SecOps (BYOP) | Regras para o perímetro de origem | Regras para o perímetro BYOP |
|---|---|---|---|---|
| Caso 1 | Em um perímetro | No mesmo perímetro | Nenhum | Nenhum |
| Caso dois | Em CUSTOMER_SOURCE_PERIMETER | Em CUSTOMER_BYOP_PERIMETER (perímetro diferente) | Regra A1 (entrada) e Regra A2 (saída) | Regra B1 (saída) |
| Caso três | Em CUSTOMER_SOURCE_PERIMETER | Não está em um perímetro | Regra A1 (entrada) e Regra A2 (saída) | Nenhum |
| Caso 4 | Não está em um perímetro | Em CUSTOMER_BYOP_PERIMETER | Nenhum | Regra B1 (saída) |
Substitua estes marcadores de posição nas regras de entrada e saída a seguir:
CUSTOMER_SOURCE_PROJECT_NUMBER: o ID numérico do projeto do Google Cloud que hospeda o bucket de origem do Cloud Storage.CUSTOMER_SOURCE_PERIMETER: o perímetro do VPC-SC que protege o projeto do bucket de origem.CUSTOMER_BYOP_PROJECT_NUMBER: o ID do projeto numérico do seu projeto do Google SecOps Google Cloud (BYOP).CUSTOMER_BYOP_PERIMETER: o perímetro do VPC-SC que protege seu projeto BYOP.CHRONICLE_STS_SERVICE_AGENT: a conta de serviço do Serviço de transferência do Cloud Storage (STS) mostrada no Google SecOps ao configurar o feed do Cloud Storage V2 (por exemplo, project-123456789@storage-transfer-service.iam.gserviceaccount.com).
A. Regras para o perímetro do projeto do bucket de origem (CUSTOMER_SOURCE_PERIMETER)
Aplique essas regras para os casos dois e três, conforme definido na tabela anterior.
Regra A1: regra de entrada
{
"ingressFrom": {
"identities": [
"serviceAccount:<CHRONICLE_STS_SERVICE_AGENT>"
],
"sources": [
{
"accessLevel": "*"
}
]
},
"ingressTo": {
"operations": [
{
"serviceName": "storage.googleapis.com",
"methodSelectors": [
{ "method": "*" }
]
}
],
"resources": [
"projects/<CUSTOMER_SOURCE_PROJECT_NUMBER>"
]
}
}
Regra A2: regra de saída
{
"egressFrom": {
"identities": [
"serviceAccount:<CHRONICLE_STS_SERVICE_AGENT>"
]
},
"egressTo": {
"operations": [
{
"serviceName": "storage.googleapis.com",
"methodSelectors": [
{ "method": "google.storage.objects.create" },
{ "method": "google.storage.objects.delete" }
]
}
],
"resources": [
"projects/<CUSTOMER_BYOP_PROJECT_NUMBER>"
]
}
}
B. Regras para o perímetro do projeto BYOP (CUSTOMER_BYOP_PERIMETER)
Aplique essa regra para os casos dois e quatro, conforme definido na tabela anterior.
Regra B1: regra de saída
{
"egressFrom": {
"identities": [
"serviceAccount:<CHRONICLE_STS_SERVICE_AGENT>"
]
},
"egressTo": {
"operations": [
{
"serviceName": "storage.googleapis.com",
"methodSelectors": [
{ "method": "*" }
]
}
],
"resources": [
"projects/<CUSTOMER_SOURCE_PROJECT_NUMBER>"
]
}
}
Se você tiver problemas com o VPC Service Controls, use o analisador de violações do VPC Service Controls para depurar e analisar o problema. Para mais informações, consulte Diagnosticar uma negação de acesso no analisador de violações.
Regra de entrada para o BigQuery Export avançado
Se você estiver usando o recurso BigQuery Export avançado, configure a seguinte regra para a conta de usuário do Google Cloud especificada ao configurar o Google SecOps:
- ingressFrom:
identities:
- serviceAccount:malachite-bq-export-entity-graph-batch-adv-bq@system.gserviceaccount.com
- serviceAccount:malachite-customer-monitoring-exporter@system.gserviceaccount.com
sources:
- accessLevel: "*"
ingressTo:
operations:
- serviceName: bigquery.googleapis.com
methodSelectors:
- method: "*"
resources:
- projects/PROJECT_NUMBER
Substitua PROJECT_NUMBER pelo número do projeto do Google Cloud vinculado ao Google SecOps.
Regra de entrada para tabelas de dados
Se você estiver usando tabelas de dados, configure a seguinte regra para a conta de usuário do Google Cloud especificada ao configurar o Google SecOps:
- ingressFrom:
identities:
- user:malachite-data-plane-api@prod.google.com
sources:
- accessLevel: "*"
ingressTo:
operations:
- serviceName: storage.googleapis.com
methodSelectors:
- method: "*"
resources:
- projects/PROJECT_NUMBER
Substitua PROJECT_NUMBER pelo número do projeto do Google Cloud vinculado ao Google SecOps.
Configurar as regras do Google SecOps com o Security Command Center
Nesta seção, descrevemos como configurar o VPC Service Controls para o Google SecOps com o Security Command Center.
As contas de serviço nas regras a seguir são criadas apenas durante o provisionamento do Google SecOps. Portanto, configure as regras do Security Command Center após o provisionamento, mas antes de começar a usar o Security Command Center.
Conclua as seguintes tarefas para a conta de usuário do Google Cloud que você especificou ao configurar o Google SecOps:
Configure a seguinte regra de entrada:
- ingressFrom: identities: - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-chronicle-soar.iam.gserviceaccount.com - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@security-center-api.iam.gserviceaccount.com - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-csc-hpsa.iam.gserviceaccount.com - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-asm-hpsa.iam.gserviceaccount.com sources: - accessLevel: "*" ingressTo: operations: - serviceName: chronicle.googleapis.com methodSelectors: - method: "*" - serviceName: securitycenter.googleapis.com methodSelectors: - method: "*" - serviceName: compute.googleapis.com methodSelectors: - method: "*" - serviceName: cloudasset.googleapis.com methodSelectors: - method: "*" - serviceName: monitoring.googleapis.com methodSelectors: - method: "*" - serviceName: iam.googleapis.com methodSelectors: - method: "*" - serviceName: orgpolicy.googleapis.com methodSelectors: - method: "*" - serviceName: serviceusage.googleapis.com methodSelectors: - method: "*" - serviceName: dns.googleapis.com methodSelectors: - method: "*" resources: - projects/PROJECT_NUMBERSubstitua:
GOOGLE_ORGANIZATION_NUMBER: o número da sua organização do Google CloudPROJECT_NUMBER: o número do projeto do Google SecOps vinculado ao Google Cloud
Configure a seguinte regra de saída:
- egressTo: operations: - serviceName: pubsub.googleapis.com methodSelectors: - method: "*" - serviceName: securitycenter.googleapis.com methodSelectors: - method: "*" - serviceName: cloudasset.googleapis.com methodSelectors: - method: "*" - serviceName: iam.googleapis.com methodSelectors: - method: "*" - serviceName: compute.googleapis.com methodSelectors: - method: "*" resources: - "*" egressFrom: identities: - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@gcp-sa-chronicle-soar.iam.gserviceaccount.com - serviceAccount: service-org-GOOGLE_ORGANIZATION_NUMBER@security-center-api.iam.gserviceaccount.com sources: - resource: projects/PROJECT_NUMBERSubstitua:
GOOGLE_ORGANIZATION_NUMBER: o número da sua organização do Google CloudPROJECT_NUMBER: o número do projeto do Google SecOps vinculado ao Google Cloud
Configurar a regra de entrada para chaves de criptografia gerenciadas pelo cliente (CMEKs)
Nesta seção, descrevemos como configurar o VPC Service Controls para o Google SecOps com chaves de criptografia gerenciadas pelo cliente (CMEKs). As CMEKs são chaves de criptografia que você possui, gerencia e armazena no Cloud Key Management Service.
Configure a seguinte regra de entrada:
- ingressFrom:
identities:
- serviceAccount: service-SECRET_MANAGER_PROJECT_NUMBER@gcp-sa-secretmanager.iam.gserviceaccount.com
- serviceAccount: service-GOOGLE_MANAGED_BIGQUERY_PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com
- serviceAccount: bq-GOOGLE_MANAGED_BIGQUERY_PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com
sources:
- accessLevel: "*"
ingressTo:
operations:
- serviceName: secretmanager.googleapis.com
methodSelectors:
- method: "*"
- serviceName: cloudkms.googleapis.com
methodSelectors:
- method: "*"
resources:
- projects/CMEK_PROJECT_NUMBER
Substitua:
SECRET_MANAGER_PROJECT_NUMBER: o projeto que o Google usa para armazenar secrets de alguns recursos de ingestão, que podem ser obtidos com seu representante do Google SecOpsGOOGLE_MANAGED_BIGQUERY_PROJECT_NUMBER: o projeto que o Google usa para armazenar recursos do BigQuery para alguns recursos de exportação, que podem ser obtidos com seu representante do Google SecOpsCMEK_PROJECT_NUMBER: o número do projeto que armazena as CMEKs.