Integrar o Cloud Armor ao Google SecOps
Este documento explica como integrar o Google Cloud Armor ao Google Security Operations.
Casos de uso
A integração do Cloud Armor é compatível com os seguintes casos de uso:
Bloqueio automatizado de ameaças: bloqueie instantaneamente endereços IP ou intervalos maliciosos na borda do Google Cloud atualizando as regras da política de segurança durante um incidente.
Gerenciamento de políticas de segurança: liste, recupere e atualize políticas e regras de segurança em todo o ambiente para garantir uma proteção consistente do WAF.
Mitigação dinâmica de DDoS: responda a ataques volumétricos ou baseados em protocolo ajustando de maneira programática as configurações da política de segurança.
Auditoria forense: recupere detalhes de configuração das políticas de segurança atuais para correlacionar as proteções de borda com os alertas de segurança internos.
Antes de começar
Antes de configurar a integração do Cloud Armor no Google SecOps, conclua as seguintes etapas de pré-requisito:
Criar e configurar um papel personalizado do Identity and Access Management.
Escolha e configure um dos seguintes métodos de autenticação:
Opção 1: Identidade da carga de trabalho (recomendado): esse método usa tokens de curta duração com a identidade temporária de conta de serviço.
Opção 2: chave JSON da conta de serviço: esse método depende de um arquivo de chave secreta estático e de longa duração.
Criar e configurar o papel do IAM
Para fornecer à integração as permissões necessárias, crie um papel personalizado no projeto do Google Cloud :
No console do Google Cloud , acesse Papéis.
Clique em addCriar papel personalizado.
Forneça um Título, uma Descrição e um ID exclusivo.
Defina o Estágio de lançamento do papel como Disponibilidade geral.
Adicione as seguintes permissões ao papel:
compute.backendBuckets.setSecurityPolicycompute.backendServices.setSecurityPolicycompute.regionBackendServices.setSecurityPolicycompute.regionSecurityPolicies.createcompute.regionSecurityPolicies.getcompute.regionSecurityPolicies.listcompute.regionSecurityPolicies.updatecompute.securityPolicies.createcompute.securityPolicies.getcompute.securityPolicies.listcompute.securityPolicies.update
Clique em Criar.
Criar uma conta de serviço
No console do Google Cloud , acesse IAM e administrador > Contas de serviço.
Clique em addCriar conta de serviço.
Insira um nome e uma descrição e clique em Criar e continuar.
Na etapa Conceder a essa conta de serviço acesso ao projeto, atribua o papel personalizado do IAM que você criou.
Clique em Concluído. Anote o endereço de e-mail da conta de serviço.
Configurar credenciais da Identidade da carga de trabalho
A Identidade da carga de trabalho é a abordagem recomendada porque usa tokens de curta duração com a identidade temporária de conta de serviço.
Identificar a identidade exclusiva da instância
Para estabelecer uma conexão, é necessário conceder à instância do Google SecOps permissão para personificar sua conta de serviço.
No Google SecOps, acesse Hub de conteúdo > Integrações de resposta.
Selecione a integração do Cloud Armor e insira o e-mail da conta de serviço em
Workload Identity Email.Clique em Salvar > Testar. O teste vai falhar.
Clique no botão close_small ao lado de Teste e localize o e-mail de identidade que começa com
gke-init-python@...ousoar-python@....Copie esse endereço de e-mail exclusivo.
Autorize a identidade da instância em Google Cloud
No console do Google Cloud , acesse IAM e administrador > Contas de serviço.
Selecione a conta de serviço de destino e acesse Permissões > Conceder acesso.
Cole o endereço de e-mail exclusivo no campo Novos principais e atribua o papel Criador de token da conta de serviço (
roles/iam.serviceAccountTokenCreator).
Configurar uma chave JSON
Os arquivos de chave secreta estáticos e de longa duração exigem rotação manual. Use esse método somente se a autenticação da Identidade da carga de trabalho não estiver disponível.
No console do Google Cloud , acesse IAM e administrador > Contas de serviço e selecione sua conta de serviço.
Acesse a guia Chaves e clique em Adicionar chave > Criar nova chave.
Selecione JSON e clique em Criar. O arquivo de chave é transferido por download para seu computador.
Parâmetros de integração
A integração do Cloud Armor requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
API Root |
Obrigatório. A raiz da API do serviço do Cloud Armor. O valor padrão é |
Project ID |
Opcional. O ID do projeto de destino do Cloud Armor. Se nenhum valor for fornecido, a integração vai recuperar o ID das credenciais da conta de serviço. |
Workload Identity Email |
Opcional. O endereço de e-mail do cliente da sua conta de serviço. Configure esse parâmetro para a autenticação da Identidade da carga de trabalho. Se configurado, |
User Service Account |
Opcional. O conteúdo completo do arquivo JSON da chave da conta de serviço. Configure esse parâmetro para autenticação de chave de conta de serviço. Se configurada, a integração vai ignorar
|
Verify SSL |
Obrigatório. Se selecionada, a integração valida o certificado SSL ao se conectar ao servidor do Google Cloud . Ativado por padrão. |
Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.
Se necessário, você pode fazer mudanças depois. Depois de configurar uma instância de integração, é possível usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Como oferecer suporte a várias instâncias.
Ações
Para mais informações sobre ações, consulte Responder a ações pendentes na sua mesa de trabalho e Executar uma ação manual no seu caso.
Adicionar uma regra a uma política de segurança
Adicione uma nova regra à política de segurança no serviço do Cloud Armor.
Entidades
Essa ação não é executada em entidades.
Entradas da ação
Para configurar a ação, use os seguintes parâmetros:
| Parâmetros | |
|---|---|
Policy Name |
Obrigatório Nome da política de segurança à qual uma nova regra será adicionada. |
Region |
Opcional Região da política em que a regra será adicionada. Se nenhum valor for fornecido, a regra será adicionada à política de segurança global. |
Rule JSON |
Obrigatório Definição JSON da regra a ser adicionada. Para mais informações sobre como adicionar uma regra a uma política, consulte Método: securityPolicies.addRule. |
Saídas da ação
| Tipo de saída da ação | |
|---|---|
| Anexo do Painel de Casos | N/A |
| Link do Painel de Casos | N/A |
| Tabela do painel de casos | N/A |
| Tabela de enriquecimento | N/A |
| Resultado JSON | Disponível |
| Resultado do script | Disponível |
Resultado do script
| Nome do resultado do script | Valor |
|---|---|
| is_success | True ou false |
Resultado JSON
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Mural do caso
Essa ação fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
Successfully added a new rule to the security policy! |
Ação concluída. |
Error executing action "Add a Rule to a Security Policy".
Reason: ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada, as credenciais, o nome da região, o conteúdo do arquivo JSON ou o nome de uma política. |
Criar uma política de segurança
Crie uma política de segurança no serviço do Cloud Armor.
Entidades
Essa ação não é executada em entidades.
Entradas da ação
Para configurar a ação, use os seguintes parâmetros:
| Parâmetros | |
|---|---|
Region |
Opcional A região em que a política será criada. Se nenhum valor for fornecido, a política de segurança global será criada. |
Policy JSON |
Obrigatório A definição JSON da política a ser criada. Para mais informações sobre políticas, consulte Recurso REST: securityPolicies. |
Saídas da ação
| Tipo de saída da ação | |
|---|---|
| Anexo do Painel de Casos | N/A |
| Link do Painel de Casos | N/A |
| Tabela do painel de casos | N/A |
| Tabela de enriquecimento | N/A |
| Resultado JSON | Disponível |
| Resultado do script | Disponível |
Resultado do script
| Nome do resultado do script | Valor |
|---|---|
| is_success | True ou false |
Resultado JSON
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Mural do caso
Essa ação fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
Successfully created a new security policy! |
Ação concluída. |
Error executing action "Create a Security Policy". Reason:
ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada, as credenciais, o nome da região ou o conteúdo de um arquivo JSON. |
Ping
Teste a conectividade com o serviço do Cloud Armor usando os parâmetros fornecidos na página de configuração da integração.
Entidades
Essa ação não é executada em entidades.
Entradas da ação
N/A
Saídas da ação
| Tipo de saída da ação | |
|---|---|
| Anexo do Painel de Casos | N/A |
| Link do Painel de Casos | N/A |
| Tabela do painel de casos | N/A |
| Tabela de enriquecimento | N/A |
| Resultado JSON | N/A |
| Resultado do script | Disponível |
Resultado do script
| Nome do resultado do script | Valor |
|---|---|
| is_success | True ou false |
Mural do caso
Essa ação fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
Successfully connected to the Google Cloud Armor service with
the provided connection parameters! |
Ação concluída. |
Failed to connect to the Google Cloud Armor service! Error is
ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Atualizar uma política de segurança
Atualize a política de segurança atual no serviço do Cloud Armor.
Essa ação não pode atualizar regras em uma política. Para adicionar uma regra à política relacionada, use a ação Adicionar uma regra a uma política de segurança.
Entidades
Essa ação não é executada em entidades.
Entradas da ação
Para configurar a ação, use os seguintes parâmetros:
| Parâmetros | |
|---|---|
Policy Name |
Obrigatório Nome da política de segurança à qual uma nova regra será adicionada. |
Region |
Opcional Região da política atualizada. Se nenhum valor for fornecido, a política de segurança de nível global será criada. |
Rule JSON |
Obrigatório Definição JSON da política a ser atualizada. Para mais informações sobre as atualizações de política, consulte Método: securityPolicies.patch . Não é possível atualizar regras com essa ação. Para adicionar uma regra a uma política, use a ação Adicionar uma regra a uma política de segurança. |
Saídas da ação
| Tipo de saída da ação | |
|---|---|
| Anexo do Painel de Casos | N/A |
| Link do Painel de Casos | N/A |
| Tabela do painel de casos | N/A |
| Tabela de enriquecimento | N/A |
| Resultado JSON | Disponível |
| Resultado do script | Disponível |
Resultado do script
| Nome do resultado do script | Valor |
|---|---|
| is_success | True ou false |
Resultado JSON
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Mural do caso
Essa ação fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
Successfully added comment to the
identity protection detection with ID
DETECTION_ID in CrowdStrike |
Ação concluída. |
Error executing action "Update a Security Policy". Reason:
ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.