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 automático de ameaças: bloqueie instantaneamente endereços IP ou intervalos maliciosos na borda 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 programaticamente 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 proteções de borda com alertas de segurança internos.
Antes de começar
Antes de configurar a integração do Cloud Armor no Google SecOps, conclua as etapas de pré-requisito a seguir:
Crie e configure um papel personalizado do Identity and Access Management acesso.
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 conceder à integração as permissões necessárias, crie um papel personalizado no seu projeto do Google Cloud :
No console Google Cloud , acesse Papéis.
Clique em addCriar função personalizada.
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 Google Cloud , acesse IAM e administrador > Contas de serviço.
Clique em addCriar conta de serviço.
Forneça 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 à sua instância do Google SecOps permissão para personificar sua conta de serviço.
No Google SecOps, acesse Central de conteúdo > Integrações de resposta.
Selecione a integração do Cloud Armor e insira o e-mail da sua conta de serviço em
Workload Identity Email.Clique em Salvar > Teste. O teste falha.
Clique no botão close_small ao lado de Test 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 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 Principais novos e atribua o papel Criador de token da conta de serviço (
roles/iam.serviceAccountTokenCreator).
Configurar uma chave JSON
Arquivos de chaves secretas 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 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 da chave é baixado para o computador.
Parâmetros de integração
A integração do Cloud Armor exige os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
API Root |
Obrigatório. A raiz da API do serviço 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 extrair 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. Todo o conteúdo do arquivo JSON da chave da conta de serviço. Configure esse parâmetro para autenticação de chave da conta de serviço. Se configurada, a integração ignora
|
Verify SSL |
Obrigatório. Se selecionada, a integração valida o certificado SSL ao se conectar ao servidor Google Cloud . Ativado por padrão. |
Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.
Você pode fazer mudanças mais tarde, se necessário. Depois de configurar uma instância de integração, você pode usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Suporte a várias instâncias.
Ações
Para mais informações sobre ações, consulte Responder a ações pendentes da sua mesa de trabalho e Realizar uma ação manual.
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 de 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 a que 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"
}
Painel de casos
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 ação foi 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 de ação
Para configurar a ação, use os seguintes parâmetros:
| Parâmetros | |
|---|---|
Region |
Opcional A região em que uma 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"
}
Painel de casos
Essa ação fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
Successfully created a new security policy! |
A ação foi 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 de 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 |
Painel de casos
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 ação foi 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 de 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 a que uma nova regra será adicionada. |
Region |
Opcional Região da política atualizada. Se nenhum valor for fornecido, a política de segurança 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"
}
Painel de casos
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 ação foi 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.