Google Cloud Storage
Este documento fornece orientações sobre como integrar o Cloud Storage ao módulo SOAR do Google Security Operations.
Essa integração usa um ou mais componentes de código aberto. Faça o download de uma cópia do código-fonte dessa integração em um bucket do Cloud Storage.
Casos de uso
Na plataforma SOAR do Google SecOps, a integração do Google Cloud Storage resolve os seguintes casos de uso:
Armazenamento de evidências de incidentes: os playbooks podem coletar e armazenar automaticamente evidências relacionadas a incidentes, como registros e amostras de malware, em buckets do Cloud Storage para fornecer um repositório à prova de violação para preservação de evidências.
Compartilhamento de inteligência contra ameaças:sua equipe de segurança pode usar o Cloud Storage para compartilhar feeds de inteligência contra ameaças com segurança, como listas de endereços IP e domínios maliciosos, com outras equipes ou organizações. O compartilhamento de feeds permite a defesa colaborativa contra ameaças e tempos de resposta mais rápidos.
Integração do sandbox de análise de malware: os playbooks podem enviar automaticamente arquivos suspeitos de um incidente para um sandbox de análise de malware baseado na nuvem. É possível armazenar os resultados da análise no Cloud Storage para revisão e outras ações para fornecer uma análise de malware eficiente e escalonável.
Backup da configuração de segurança: use os recursos de SOAR do Google SecOps para automatizar backups regulares de configurações de segurança críticas, como regras de firewall e assinaturas do sistema de detecção de intrusões, no Cloud Storage. A automação de backups oferece continuidade dos negócios e recuperação mais rápida em caso de mudanças acidentais ou maliciosas.
Armazenamento de artefatos de campanhas de phishing: use os recursos de SOAR do Google SecOps para armazenar e-mails de phishing, anexos e outros artefatos no Cloud Storage durante a investigação de uma campanha de phishing. O armazenamento de artefatos permite a análise centralizada e a preservação de evidências para possíveis ações judiciais.
Antes de começar
Antes de configurar a integração do Cloud Storage no Google SecOps, siga estas etapas de pré-requisito:
Criar uma conta de serviço
Para criar uma conta de serviço, conclua estas etapas:
No Google Cloud console, acesse Credenciais. Acessar "Credenciais"
No menu Criar credenciais, selecione Conta de serviço.
Insira um nome no campo Nome da conta de serviço e clique em Criar e continuar. y
Ignore as telas opcionais de atribuição de função e acesso principal clicando em Continuar > Concluído.
Conceder papéis à conta de serviço
Para permitir que a integração acesse e gerencie seus buckets e objetos de armazenamento, conceda os papéis necessários à sua conta de serviço:
No console do Google Cloud , acesse IAM e administrador > IAM.
Localize sua conta de serviço e clique em editEditar principal.
Clique em Adicionar outro papel e selecione o seguinte:
Administrador do Storage: oferece controle total de buckets e objetos.
Consumidor do Service Usage: obrigatório apenas se você usar um
Quota Project IDpara fins de faturamento.
Clique em Salvar.
Escolher e configurar um método de autenticação
A Identidade da carga de trabalho é o método de autenticação recomendado porque usa tokens de curta duração em vez de secrets estáticos.
Chave JSON: depende de um arquivo de chave secreta estática.
Identidade da carga de trabalho (recomendado): usa tokens de acesso temporários.
Configurar uma chave JSON
Use o procedimento a seguir para gerar um arquivo de chave de conta de serviço no formato JSON:
Selecione sua conta de serviço no console Google Cloud e acesse Chaves.
Clique em Adicionar chave > Criar nova chave.
Selecione JSON e clique em Criar. O arquivo da chave é baixado para o computador.
Configurar credenciais da Identidade da carga de trabalho
Com a Identidade da carga de trabalho, o Google SecOps pode representar sua conta de serviço com segurança. Conclua as etapas a seguir para configurar a Identidade da carga de trabalho.
Configurar a instância de integração
Para acionar o processo de descoberta de identidade, primeiro configure os parâmetros básicos de conexão no Google SecOps:
Acesse Hub de conteúdo > Integrações de resposta.
Pesquise e selecione a integração do Google Cloud Storage.
Configure os seguintes parâmetros obrigatórios:
Raiz da API: insira o URL base (como
https://storage.googleapis.com).E-mail da Identidade da carga de trabalho: insira o endereço de e-mail da conta de serviço que você criou anteriormente.
Verificar SSL: confira se essa opção está ativada.
Deixe o campo Conta de serviço do usuário (JSON) em branco.
Clique em Salvar.
Identificar o e-mail de identidade exclusivo
Para identificar o endereço de identidade específico, é necessário acionar um teste de conexão, porque o Google SecOps usa um principal interno específico para se comunicar com seus recursos do Google Cloud . Essa etapa garante que você está concedendo permissões ao principal de back-end correto.
Clique em Testar. O teste deve falhar.
Clique no botão close_small ao lado de Testar.
Procure na mensagem de erro um endereço de e-mail que comece com
gke-init-python@...ousoar-python@.... Copie esse e-mail exclusivo.
Conceder permissões de representação
Para estabelecer uma relação de confiança, é necessário conceder autoridade à identidade exclusiva para agir em nome da sua conta de serviço. Esta etapa final estabelece a ponte segura que permite que a integração acesse seus recursos usando tokens temporários de curta duração.
No console Google Cloud , acesse IAM e administrador > Contas de serviço.
Selecione a conta de serviço de destino e acesse Permissões.
Clique em Conceder acesso.
No campo Novos participantes, cole o e-mail de identidade exclusiva que você copiou do Google SecOps.
No campo Atribuir papéis, selecione o papel
Service Account Token Creator(roles/iam.serviceAccountTokenCreator).Clique em Salvar.
Integrar o Cloud Storage ao Google SecOps
A integração requer os seguintes parâmetros:
| Parâmetros | Descrição |
|---|---|
Service Account |
Opcional
Todo o conteúdo do arquivo de chave JSON da conta de serviço. |
Workload Identity Email |
Opcional.
O endereço de e-mail do cliente da conta de serviço usada para a personificação da Identidade da carga de trabalho. |
Project ID |
Opcional O ID do projeto a ser usado para a integração do Cloud Storage. Se você não definir um valor para esse parâmetro, o ID do projeto será
extraído do conteúdo do arquivo JSON fornecido no parâmetro |
Quota Project ID |
Opcional O ID do projeto Google Cloud que você usa para
APIs Google Cloud e faturamento. Para usar esse parâmetro, conceda o papel Se nenhum valor for fornecido, o ID do projeto será extraído do conteúdo do arquivo JSON fornecido no parâmetro |
Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.
É possível 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.
Fazer o download de um objeto de um bucket
Use essa ação para fazer o download de um objeto (arquivo) específico de um bucket do Cloud Storage.
Essa ação não é executada em entidades.
Entradas de ação
A ação "Fazer o download de um objeto de um bucket" exige os seguintes parâmetros:
| Parâmetros | Descrição |
|---|---|
Bucket Name |
Obrigatório O nome do bucket do Cloud Storage que contém o objeto a ser baixado. |
Object Name |
Obrigatório O nome completo do objeto a ser baixado. Se o objeto estiver em uma pasta no bucket, inclua o caminho da pasta, como |
Download Path |
Obrigatório O caminho absoluto para o objeto baixado
que leva a um diretório existente, por exemplo,
|
Saídas de ação
A ação "Fazer o download de um objeto de um bucket" fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
O exemplo a seguir descreve a saída do resultado JSON recebida ao usar a ação "Fazer o download de um objeto de um bucket":
{
"object_name": "123.txt"
"download_path": "/usr/bin/share/download.txt"
}
Mensagens de saída
Em um painel de casos, a ação "Baixar um objeto de um bucket" fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
|
A ação foi concluída. |
Error executing action "Download an Object From a Bucket".
Reason: ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir descreve os valores da saída do resultado do script ao usar a ação "Fazer o download de um objeto de um bucket":
| Nome do resultado do script | Valor |
|---|---|
is_success |
True ou False |
Acessar a lista de controle de acesso de um bucket
Use a ação "Receber a lista de controle de acesso de um bucket" para recuperar e mostrar as ACLs dos buckets especificados do Cloud Storage.
Essa ação não é executada em entidades.
Entradas de ação
A ação "Receber uma lista de controle de acesso de um bucket" exige os seguintes parâmetros:
| Parâmetros | Descrição |
|---|---|
Bucket Name |
Obrigatório O nome do bucket do Cloud Storage para o qual você quer recuperar a ACL. Para recuperar ACLs de vários buckets, insira os nomes deles como uma string separada por vírgulas, como |
Saídas de ação
A ação "Receber a lista de controle de acesso de um bucket" fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Indisponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
[
{"BucketName": "ziv",
"BucketACLs": [
{"Entity": "project-owners-ID",
"Role": "OWNER"}
]
}
]
Mensagens de saída
Em um mural de casos, a ação "Receber a lista de controle de acesso de um bucket" fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
|
A ação foi concluída. |
Error executing action "Get a Bucket's Access Control List".
Reason:
ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir descreve os valores da saída do resultado do script ao usar a ação "Receber a lista de controle de acesso de um bucket":
| Nome do resultado do script | Valor |
|---|---|
is_success |
True ou False |
Listar objetos do bucket
Use a ação "Listar objetos do bucket" para listar os objetos armazenados no bucket do Cloud Storage.
Essa ação não é executada em entidades.
Entradas de ação
A ação "List Bucket Objects" exige os seguintes parâmetros:
| Parâmetros | Descrição |
|---|---|
Bucket Name |
Obrigatório O nome do bucket de onde os objetos serão recuperados. |
Max Objects to Return |
Opcional O número de objetos a serem retornados. Por padrão, a ação retorna 50 objetos para cada execução. |
Retrieves the Access Control List of an object |
Opcional Se selecionada, a ação vai recuperar a ACL do objeto. Não selecionada por padrão. |
Saídas de ação
A ação "List Bucket Objects" fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
Os exemplos a seguir descrevem as saídas de resultados JSON recebidas ao usar a ação "List Bucket Objects":
Se o parâmetro
Retrieves the Access Control List of an objectnão for selecionado:{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "ContentType": "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "siemplify-tip/test.txt/1604926667310271" } ] }Se o parâmetro
Retrieves the Access Control List of an objectestiver selecionado:{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "BUCKET_NAME", "ContentType": "text/plain" "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "BUCKET_NAME/test.txt/1604926667310271", "ObjectACL": [ { "entity": "user@example.com", "role": "OWNER" }] }, ] }
Mensagens de saída
Em um mural de casos, a ação "Listar objetos do bucket" fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
|
A ação foi concluída. |
Error executing action "List Bucket Objects". Reason:
ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir descreve os valores da saída do resultado do script ao usar a ação "List Bucket Objects":
| Nome do resultado do script | Valor |
|---|---|
is_success |
True ou False |
Listar buckets
Use a ação "List Buckets" para recuperar uma lista de buckets do Cloud Storage.
Essa ação não é executada em entidades.
Entradas de ação
A ação "List Buckets" exige os seguintes parâmetros:
| Parâmetros | Descrição |
|---|---|
Max Results |
Opcional O número máximo de buckets a serem retornados. Por padrão, a ação retorna 50 intervalos. |
Saídas de ação
A ação "List Buckets" fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
O exemplo a seguir descreve a saída de resultado JSON recebida ao usar a ação "List Buckets":
{
"Buckets": [
{
"CreationDate": "2020-11-09T12:57:03.981Z",
"ModificationDate": "2020-11-09T12:57:03.981Z",
"Name": "testexample",
"Owner": "testexample"
}]
}
Mensagens de saída
Em um quadro de casos, a ação "List Buckets" fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
|
A ação foi concluída. |
Error executing action "List Buckets". Reason:
ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir descreve os valores da saída do resultado do script ao usar a ação "List Buckets":
| Nome do resultado do script | Valor |
|---|---|
is_success |
True ou False |
Ping
Use a ação "Ping" para testar a conectividade com o Cloud Storage.
Essa ação não é executada em entidades.
Entradas de ação
Nenhuma.
Saídas de ação
A ação fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Indisponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Mensagens de saída
Em um quadro de casos, a ação de ping fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
Successfully connected to the Google Cloud Storage server with
the provided connection parameters! |
A ação foi concluída. |
Failed to connect to the Google Cloud Storage server! Error is
ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir descreve os valores da saída do resultado do script ao usar a ação "Ping":
| Nome do resultado do script | Valor |
|---|---|
is_success |
True ou False |
Remover o acesso público do bucket
Use a ação "Remover acesso público do bucket" para remover o acesso público do bucket do Cloud Storage.
Para isso, conceda o papel Storage Admin à conta de serviço usada na integração.
Essa ação não é executada em entidades.
Entradas de ação
A ação "Remover acesso público do bucket" exige os seguintes parâmetros:
| Parâmetros | Descrição |
|---|---|
Resource Name |
Obrigatório O nome do recurso do bucket. |
Prevent Public Access From Bucket |
Obrigatório Se selecionada, a ação configura o bucket para impedir possível acesso público. |
Saídas de ação
A ação "Remover acesso público do bucket" fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Indisponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Mensagens de saída
Em um Painel de Casos, a ação "Remover acesso público do bucket" fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
Successfully removed public access from bucket using Google
Cloud Storage: RESOURCE_NAME
|
A ação foi concluída. |
Error executing action "Remove Public Access From Bucket".
Reason: ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir descreve os valores da saída do resultado do script ao usar a ação "Remover acesso público do bucket":
| Nome do resultado do script | Valor |
|---|---|
is_success |
True ou False |
Atualizar uma entrada de ACL no bucket
Use a ação "Atualizar uma entrada de ACL no bucket" para atualizar uma entrada de ACL no bucket especificado do Cloud Storage.
Entradas de ação
A ação "Atualizar uma entrada de ACL no bucket" exige os seguintes parâmetros:
| Parâmetros | Descrição |
|---|---|
Bucket Name |
Obrigatório O nome do bucket para modificar a ACL. |
Entity |
Obrigatório A entidade que tem a permissão. Os valores possíveis são:
Para mais informações sobre entidades, consulte Representações de recursos. |
Role |
Obrigatório A permissão de acesso necessária para a entidade. Os possíveis valores são os seguintes:
|
Saídas de ação
A ação "Atualizar uma entrada de ACL no bucket" fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Indisponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Mensagens de saída
Em um quadro de casos, a ação "Atualizar uma entrada de ACL no bucket" fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
|
A ação foi concluída. A função atual não corresponde ao valor do parâmetro Role. Verifique o valor do parâmetro Role. |
Successfully updated ACL entity:
ENTITY to role:
ROLE in bucket
BUCKET_NAME. |
A ação foi concluída. |
|
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir descreve os valores da saída do resultado do script ao usar a ação "Atualizar uma entrada de ACL no bucket":
| Nome do resultado do script | Valor |
|---|---|
is_success |
True ou False |
Fazer upload de um objeto em um bucket
Use a ação "Fazer upload de um objeto para um bucket" para fazer upload de um objeto para o bucket do Cloud Storage.
Essa ação não é executada em entidades.
Entradas de ação
A ação "Fazer upload de um objeto para um bucket" exige os seguintes parâmetros:
| Parâmetros | Descrição |
|---|---|
Bucket Name |
Obrigatório O nome do bucket em que um objeto será enviado por upload. |
Source File Path |
Obrigatório O caminho absoluto para o arquivo a ser enviado, como
|
Object Name |
Obrigatório O nome do objeto enviado por upload no bucket. |
Saídas de ação
A ação "Fazer upload de um objeto em um bucket" fornece as seguintes saídas:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Anexo do Painel de Casos | Indisponível |
| Link do Painel de Casos | Indisponível |
| Tabela do painel de casos | Indisponível |
| Tabela de enriquecimento | Indisponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
{
"object_id":"BUCKET_NAME/errorlog.txt/1610616919132517",
"Object_name":"errorlog.txt",
"md5_hash":"PTdL8D6pBwIKyMfIXR/H9A==",
"object_path":"/b/BUCKET_NAME/o/errorlog.txt"
}
Mensagens de saída
Em um painel de casos, a ação "Fazer upload de um objeto em um bucket" fornece as seguintes mensagens de saída:
| Mensagem de resposta | Descrição da mensagem |
|---|---|
|
A ação foi concluída. |
Error executing action "Upload an Object To a Bucket". Reason:
ERROR_REASON |
Falha na ação. Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais. |
Resultado do script
A tabela a seguir descreve os valores da saída do resultado do script ao usar a ação "Fazer upload de um objeto para um bucket":
| Nome do resultado do script | Valor |
|---|---|
is_success |
True ou False |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.