Usar scripts de ingestão implantados como funções do Cloud Run

Compatível com:

O Google Security Operations forneceu um conjunto de scripts de ingestão, escritos em Python, que devem ser implantados como funções do Cloud Run. Com eles, é possível ingerir dados das seguintes fontes de registros, listadas por nome e tipo.

  • Armis Google SecOps Integration
  • Aruba Central (ARUBA_CENTRAL)
  • Azure Event Hub (configurable log type)
  • Box (BOX)
  • Citrix Cloud audit logs (CITRIX_MONITOR)
  • Citrix session metadata (CITRIX_SESSION_METADATA)
  • Cloud Storage (configurable log type)
  • Duo Activity (DUO_ACTIVITY)
  • Duo Admin (DUO_ADMIN)
  • MISP (MISP_IOC)
  • OneLogin (ONELOGIN_SSO)
  • OneLogin user context (ONELOGIN_USER_CONTEXT)
  • Proofpoint (configurable log type)
  • Pub/Sub (configurable log type)
  • Slack audit logs (SLACK_AUDIT)
  • STIX/TAXII threat intelligence (STIX)
  • Tenable.io (TENABLE_IO)
  • Trend Micro Cloud App Security (configurable log type)
  • Trend Micro Vision One audit logs (TREND_MICRO_VISION_AUDIT)

Esses scripts estão localizados no repositório do GitHub do Google SecOps.

Limitação conhecida:quando esses scripts são usados em um ambiente sem estado, como as funções do Cloud Run, eles podem não enviar todos os registros para o Google SecOps porque não têm funcionalidade de ponto de verificação. O Google SecOps testou os scripts com o ambiente de execução do Python 3.9.

Antes de começar

Leia os recursos a seguir, que fornecem contexto e informações básicas para usar os scripts de ingestão do Google SecOps de maneira eficaz.

Reúna os arquivos de um único tipo de registro

Cada subdiretório no GitHub do Google SecOps contém arquivos que ingerem dados para um único tipo de registro do Google SecOps. O script se conecta a um único dispositivo de origem e envia registros brutos para o Google SecOps usando a API Ingestion. Recomendamos que você implante cada tipo de registro como uma função separada do Cloud Run. Acesse os scripts no repositório do Google SecOps no GitHub. Cada subdiretório no GitHub contém os seguintes arquivos específicos para o tipo de registro que ele ingere.

  • main.py é o script de ingestão específico do tipo de registro. Ele se conecta ao dispositivo de origem e ingere dados no Google SecOps.
  • O .env.yml armazena a configuração exigida pelo script Python e é específico da implantação. Modifique esse arquivo para definir os parâmetros de configuração exigidos pelo script de ingestão.
  • README.md fornece informações sobre parâmetros de configuração.
  • Requirements.txt define as dependências necessárias para o script de ingestão. Além disso, a pasta common contém funções utilitárias de que todos os scripts de ingestão dependem.

Siga estas etapas para reunir os arquivos que ingerem dados de um único tipo de registro:

  1. Crie um diretório de implantação para armazenar os arquivos da função do Cloud Run. Ele vai conter todos os arquivos necessários para a implantação.
  2. Copie todos os arquivos do subdiretório do GitHub do tipo de registro selecionado, por exemplo, "Contexto do usuário do OneLogin", para esse diretório de implantação.
  3. Copie a pasta common e todo o conteúdo para o diretório de implantação.
  4. O conteúdo do diretório será semelhante a este:

    one_login_user
    ├─common
    │  ├─__init__.py
    │  ├─auth.py
    │  ├─env_constants.py
    │  ├─ingest.py
    │  ├─status.py
    │  └─utils.py
    ├─env.yml
    ├─main.py
    └─requirements.txt
    

Configurar os scripts

  1. Inicie uma sessão do Cloud Shell.
  2. Conecte-se com SSH a uma Google Cloud VM Linux. Consulte Conectar-se a VMs do Linux usando ferramentas do Google.
  3. Faça upload dos scripts de ingestão clicando em Mais > Fazer upload ou Fazer download para mover seus arquivos ou pastas para ou do Cloud Shell.

    Só é possível fazer o upload e o download de arquivos e pastas no diretório principal. Para mais opções de transferência de arquivos entre o Cloud Shell e sua estação de trabalho local, consulte [Fazer upload e download de arquivos e pastas do Cloud Shell](/shell/docs/uploading-and-downloading-files#upload_and_download_files_and_folders.

  4. Edite o arquivo .env.yml da função e preencha as variáveis de ambiente necessárias. A tabela a seguir lista variáveis de ambiente de execução comuns a todos os scripts de ingestão.

    Nome da variável Descrição Obrigatório Padrão Secret
    CHRONICLE_CUSTOMER_ID ID do cliente do Chronicle (Google SecOps). Sim Nenhum Não
    CHRONICLE_REGION Região do Chronicle (Google SecOps). Sim us
    Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
    Não
    CHRONICLE_SERVICE_ACCOUNT Conteúdo do arquivo JSON da conta de serviço do Chronicle (Google SecOps). Sim Nenhum Sim
    CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para mais informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Não Nenhum Não

  5. Cada script exige variáveis de ambiente específicas. Consulte Parâmetros de configuração por tipo de registro para mais detalhes sobre as variáveis de ambiente necessárias para cada tipo de registro.

As variáveis de ambiente marcadas como Secret = Yes precisam ser configuradas como secrets no Secret Manager. Consulte os preços do Secret Manager para informações sobre o custo de uso do serviço.

Consulte Como criar e acessar secrets para instruções detalhadas.

Depois que os secrets forem criados no Secret Manager, use o nome do recurso secreto como o valor das variáveis de ambiente. Por exemplo: projects/{project_id}/secrets/{secret_id}/versions/{version_id}, em que {project_id}, {secret_id} e {version_id} são específicos do seu ambiente.

Configurar um programador ou gatilho

Todos os scripts, exceto o Pub/Sub, são implementados para coletar os dados em intervalos periódicos de um dispositivo de origem. É necessário configurar um gatilho usando o Cloud Scheduler para buscar dados ao longo do tempo. O script de ingestão do Pub/Sub monitora continuamente a assinatura do Pub/Sub. Para mais informações, consulte Executar serviços de acordo com uma programação e Usar o Pub/Sub para acionar uma função do Cloud Run.

Implantar a Cloud Run function

  1. Inicie uma sessão do Cloud Shell.
  2. Conecte-se por SSH a uma VM Linux Google Cloud . Consulte Conectar-se a VMs do Linux usando as ferramentas do Google.
  3. Mude para o diretório em que você copiou os scripts de ingestão.
  4. Execute o comando a seguir para implantar a função do Cloud Run.

    gcloud functions deploy <FUNCTION NAME> --service-account <SERVICE_ACCOUNT_EMAIL> --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml

    Substitua <FUNCTION_NAME> pelo nome que você definir para a função do Cloud Run.

    Substitua <SERVICE_ACCOUNT_EMAIL> pelo endereço de e-mail da conta de serviço que você quer que a função do Cloud Run use.

    Se você não mudar o diretório para o local dos arquivos, use a opção --source para especificar o local dos scripts de implantação.

    A conta de serviço que executa a função do Cloud Run precisa ter os papéis Invocador do Cloud Functions (roles/cloudfunctions.invoker) e Leitor de secrets do Secret Manager (roles/secretmanager.secretAccessor).

Ver registros do ambiente de execução

Os scripts de ingestão imprimem mensagens de tempo de execução em stdout. O Cloud Run functions oferece um mecanismo para visualizar mensagens de registro.

Parâmetros de configuração por tipo de registro

Integração do Armis com o Google SecOps

Esse script coleta os dados usando chamadas de API da plataforma Armis para diferentes tipos de eventos, como alertas, atividades, dispositivos e vulnerabilidades. Os dados coletados são ingeridos no Google SecOps e analisados pelos analisadores correspondentes.

Fluxo de script

Este é o fluxo do script:

  1. Verifique as variáveis de ambiente.

  2. Implante o script nas funções do Cloud Run.

  3. Colete dados usando o script de ingestão.

  4. Ingira os dados coletados no Google SecOps.

  5. Analise os dados coletados usando os analisadores correspondentes no Google SecOps.

Usar um script para coletar e ingerir dados no Google SecOps

  1. Verifique as variáveis de ambiente.

    Variável Descrição Obrigatório Padrão Secret
    CHRONICLE_CUSTOMER_ID ID do cliente do Chronicle (Google SecOps). Sim - Não
    CHRONICLE_REGION Região do Chronicle (Google SecOps). Sim EUA Sim
    CHRONICLE_SERVICE_ACCOUNT Conteúdo do arquivo JSON da conta de serviço do Chronicle (Google SecOps). Sim - Sim
    CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Não - Não
    POLL_INTERVAL Intervalo de frequência em que a função é executada para receber informações adicionais Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser a mesma do intervalo do job do Cloud Scheduler. Sim 10 Não
    ARMIS_SERVER_URL URL do servidor da plataforma Armis. Sim - Não
    ARMIS_API_SECRET_KEY Chave secreta necessária para autenticação. Sim - Sim
    HTTPS_PROXY URL do servidor proxy. Não - Não
    CHRONICLE_DATA_TYPE Tipo de dados do Chronicle (Google SecOps) para enviar dados ao Google SecOps. Sim - Não
  2. Configure o diretório.

    Crie um diretório para a implantação do Cloud Run functions e adicione a ele um diretório common e o conteúdo do script de ingestão (armis).

  3. Defina as variáveis de ambiente de execução necessárias.

    Defina as variáveis de ambiente necessárias no arquivo .env.yml.

  4. Use secrets.

    As variáveis de ambiente marcadas como secret precisam ser configuradas como secrets no Secret Manager. Para mais informações sobre como criar secrets, consulte Criar um secret.

    Depois de criar os secrets no Secret Manager, use o nome do recurso do secret como o valor das variáveis de ambiente. Exemplo:

    CHRONICLE_SERVICE_ACCOUNT: projects/{project_id}/secrets/{secret_id}/versions/{version_id}

  5. Configure o namespace.

    Defina a variável de ambiente CHRONICLE_NAMESPACE para configurar o namespace. Os registros do Chronicle (Google SecOps) são ingeridos no namespace.

  6. Implante as funções do Cloud Run.

    Execute o comando a seguir no diretório criado anteriormente para implantar a função do Cloud. gcloud functions deploy <FUNCTION NAME> --gen2 --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml

  7. Especificações padrão do Cloud Run functions.

    Variável Padrão Descrição
    Memória 256 MB Nenhum Nenhum
    Timedout 60 segundos Nenhum Nenhum
    Região us-central1 Nenhum Nenhum
    Número mínimo de instâncias 0 Nenhum Nenhum
    Número máximo de instâncias 100 Nenhum Nenhum

    Para mais informações sobre como configurar essas variáveis, consulte Configurar funções do Cloud Run.

  8. Buscar dados históricos.

    Para buscar dados históricos e continuar coletando dados em tempo real:

    1. Configure a variável de ambiente POLL_INTERVAL nos minutos em que os dados históricos precisam ser buscados.
    2. Acione a função usando um programador ou manualmente executando o comando na Google Cloud CLI depois de configurar as funções do Cloud Run.

Aruba Central

Esse script busca registros de auditoria da plataforma Aruba Central e os ingere no Google SecOps com o tipo de registro ARUBA_CENTRAL. Para informações sobre como a biblioteca pode ser usada, consulte o SDK Python pycentral.

Defina as seguintes variáveis de ambiente no arquivo .env.yml.

Variável Descrição Padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Chronicle (Google SecOps), consulte Trabalhar com namespaces de recursos. Nenhum Não
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser igual ao intervalo do job do Cloud Scheduler. 10 Não
ARUBA_CLIENT_ID ID do cliente do gateway da API do Aruba Central. Nenhum Não
ARUBA_CLIENT_SECRET_SECRET_PATH Chave secreta do cliente do gateway de API do Aruba Central. Nenhum Sim
ARUBA_USERNAME Nome de usuário da plataforma Aruba Central. Nenhum Não
ARUBA_PASSWORD_SECRET_PATH Senha da plataforma Aruba Central. Nenhum Sim
ARUBA_BASE_URL URL base do gateway de API do Aruba Central. Nenhum Não
ARUBA_CUSTOMER_ID ID do cliente da plataforma Aruba Central. Nenhum Não

Hub de eventos do Azure

Ao contrário de outros scripts de ingestão, este usa funções do Azure para buscar eventos do Hub de Eventos do Azure. Uma função do Azure é acionada sempre que um novo evento é adicionado a um bucket, e cada evento é ingerido gradualmente no Google SecOps.

Etapas para implantar funções do Azure:

  1. Faça o download do arquivo do conector de dados chamado Azure_eventhub_API_function_app.json do repositório.
  2. Faça login no portal do Microsoft Azure.
  3. Acesse Sentinel > Selecione seu espaço de trabalho na lista > Selecione Conector de dados na seção de configuração e faça o seguinte:
  4. Clique no botão Implantar no Azure para implantar a função e siga as etapas mencionadas na mesma página.
  5. Selecione a Assinatura, o Grupo de recursos e o Local de sua preferência e forneça os valores necessários.
  6. Clique em Revisar + criar.
  7. Clique em Criar para implantar.

Box

Esse script recebe detalhes sobre eventos que acontecem no Box e os ingere no Google SecOps com o tipo de registro BOX. Os dados fornecem insights sobre operações CRUD em objetos no ambiente do Box. Para informações sobre eventos do Box, consulte a API Box Events (em inglês).

Defina as seguintes variáveis de ambiente no arquivo .env.yml. Para mais informações sobre o ID do cliente, a chave secreta do cliente e o ID do assunto do Box, consulte Concessão de credenciais do cliente.

Nome da variável Descrição Valor padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser igual ao intervalo do job do Cloud Scheduler. 5 Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
BOX_CLIENT_ID ID do cliente da plataforma Box, disponível no console de desenvolvedores do Box. Nenhum Não
BOX_CLIENT_SECRET Caminho para o secret no Secret Manager que armazena a chave secreta da plataforma Box usada para autenticação. Nenhum Sim
BOX_SUBJECT_ID ID de usuário ou ID corporativo do Box. Nenhum Não
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não

Registros de auditoria do Citrix Cloud

Esse script coleta registros de auditoria do Citrix Cloud e os ingere no Google SecOps com o tipo de registro CITRIX_MONITOR. Esses registros ajudam a identificar atividades realizadas no ambiente do Citrix Cloud, fornecendo informações sobre o que mudou, quem mudou, quando mudou e assim por diante. Para mais informações, consulte a API Citrix Cloud SystemLog.

Defina as seguintes variáveis de ambiente no arquivo .env.yml. Para informações sobre IDs e chaves secretas do cliente Citrix, consulte Como começar a usar as APIs do Citrix.

Nome da variável Descrição Valor padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
CITRIX_CLIENT_ID ID do cliente da API Citrix. Nenhum Não
CITRIX_CLIENT_SECRET Caminho para o secret no Secret Manager que armazena o segredo do cliente da API Citrix usado para autenticação. Nenhum Sim
CITRIX_CUSTOMER_ID CustomerID da Citrix. Nenhum Não
POLL_INTERVAL Intervalo de frequência em que outros dados de registro são coletados (em minutos). Essa duração precisa ser igual ao intervalo do job do Cloud Scheduler. 30 Não
URL_DOMAIN Citrix Cloud Endpoint. Nenhum Não
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Chronicle (Google SecOps), consulte Trabalhar com namespaces de recursos. Nenhum Não

Metadados da sessão do Citrix

Esse script coleta metadados de sessão do Citrix em ambientes do Citrix e os ingere no Google SecOps com o tipo de registro CITRIX_MONITOR. Os dados incluem detalhes de login do usuário, duração da sessão, horário de criação e de término da sessão, além de outros metadados relacionados a ela. Para mais informações, consulte a API do serviço Citrix Monitor.

Defina as seguintes variáveis de ambiente no arquivo .env.yml. Para informações sobre IDs e chaves secretas do cliente Citrix, consulte Como começar a usar as APIs do Citrix.

Nome da variável Descrição Valor padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
URL_DOMAIN Domínio do URL da Citrix. Nenhum Não
CITRIX_CLIENT_ID ID do cliente Citrix. Nenhum Não
CITRIX_CLIENT_SECRET Caminho para o secret no Secret Manager que armazena a chave secreta do cliente Citrix usada para autenticação. Nenhum Sim
CITRIX_CUSTOMER_ID ID do cliente da Citrix. Nenhum Não
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser igual ao intervalo do job do Cloud Scheduler. 30 Não
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não

Cloud Storage

Esse script busca registros do sistema no Cloud Storage e os ingere no Google SecOps com um valor configurável para o tipo de registro. Para mais detalhes, consulte a biblioteca de cliente doGoogle Cloud em Python.

Defina as seguintes variáveis de ambiente no arquivo .env.yml. Google Cloudtem registros relevantes para a segurança de que alguns tipos de registro não podem ser exportados diretamente para o Google SecOps. Para mais informações, consulte Análise de registros de segurança.

Variável Descrição Padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser a mesma do intervalo do job do Cloud Scheduler. 60 Não
GCS_BUCKET_NAME Nome do bucket do Cloud Storage de onde os dados serão buscados. Nenhum Não
GCP_SERVICE_ACCOUNT_SECRET_PATH Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço Google Cloud . Nenhum Sim
CHRONICLE_DATA_TYPE Tipo de registro para enviar dados à instância do Chronicle (Google SecOps). Nenhum Não

Atividade do Duo

Esse script busca os registros de atividade do Duo no administrador do Duo e os ingere no Google SecOps com o tipo de registro DUO_ACTIVITY. Para mais informações, consulte a API Duo Admin.

Defina as seguintes variáveis de ambiente no arquivo .env.yml.

Nome da variável Descrição Valor padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west12, me-central1, me-central2, me-west1 e northamerica-northeast2.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
BACKSTORY_API_V1_URL O caminho do URL da API Duo Security. Para mais informações sobre como baixar um arquivo JSON com a chave de integração da API Admin do Duo, consulte a documentação do Duo Admin. Nenhum Sim
DUO_SECRET_KEY A chave secreta do DUO necessária para buscar registros da API DUO. Consulte a documentação do Duo Admin para instruções sobre como baixar o arquivo JSON que contém a chave de integração da API Duo Admin, a chave secreta da API Duo Admin e o nome do host da API Duo Admin.
Nenhum Sim
DUO_INTEGRATION_KEY A chave de integração do DUO necessária para buscar registros da API DUO. Consulte a documentação do Duo Admin para instruções sobre como baixar o arquivo JSON que contém a chave de integração da API Duo Admin, a chave secreta da API Duo Admin e o nome do host da API Duo Admin.
Nenhum Sim
LOG_FETCH_DURATION O período em que os registros são buscados. 1 Não
CHECKPOINT_FILE_PATH O caminho do arquivo em que o carimbo de data/hora do último registro ingerido é armazenado. checkpoint.json Não
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para mais informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não

Administrador do Duo

O script recebe eventos do administrador do Duo relacionados a operações CRUD realizadas em vários objetos, como conta de usuário e segurança. Os eventos são ingeridos no Google SecOps com o tipo de registro DUO_ADMIN. Para mais informações, consulte a API Duo Admin.

Defina as seguintes variáveis de ambiente no arquivo .env.yml.

Nome da variável Descrição Valor padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser igual ao intervalo do job do Cloud Scheduler. Nenhum Não
DUO_API_DETAILS Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta do Duo. Ela contém a chave de integração da API Duo Admin, a chave secreta da API Duo Admin e o nome do host da API Duo Admin. Por exemplo:
{ "ikey": "abcd123", "skey": "def345", "api_host": "abc-123" }
Consulte a documentação do Duo Admin para instruções sobre como baixar o arquivo JSON.
Nenhum Sim
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para mais informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não

MISP

Esse script busca informações de relacionamento de ameaças no MISP, uma plataforma de código aberto de inteligência e compartilhamento de ameaças, e as ingere no Google SecOps com o tipo de registro MISP_IOC. Para mais informações, consulte a API de eventos do MISP.

Defina as seguintes variáveis de ambiente no arquivo .env.yml.

Variável Descrição Valor padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser igual ao intervalo do job do Cloud Scheduler. 5 Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
ORG_NAME Nome da organização para filtrar eventos. Nenhum Não
API_KEY Caminho para o secret no Secret Manager que armazena a chave de API para autenticação usada. Nenhum Sim
TARGET_SERVER O endereço IP da instância do MISP que você criou. Nenhum Não
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não

Eventos do OneLogin

Esse script recebe eventos de um ambiente do OneLogin e os ingere no Google SecOps com o tipo de registro ONELOGIN_SSO. Esses eventos fornecem informações como operações em contas de usuário. Para mais informações, consulte a API OneLogin Events .

Defina as seguintes variáveis de ambiente no arquivo .env.yml. Para informações sobre IDs de cliente e secrets do cliente do OneLogin, consulte Trabalhar com credenciais de API.

Nome da variável Descrição Valor padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser igual ao intervalo do job do Cloud Scheduler. 5 Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
CLIENT_ID ID do cliente da plataforma OneLogin. Nenhum Não
CLIENT_SECRET Caminho para o secret no Secret Manager que armazena a chave secreta do cliente da plataforma OneLogin usada para autenticação. Nenhum Sim
TOKEN_ENDPOINT O URL para solicitar um token de acesso. https://api.us.onelogin.com/auth/oauth2/v2/token Não
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não

Contexto do usuário do OneLogin

Esse script recebe dados relacionados a contas de usuário de um ambiente do OneLogin e os ingere no Google SecOps com o tipo de registro ONELOGIN_USER_CONTEXT. Para mais informações, consulte a API de usuário do OneLogin.

Defina as seguintes variáveis de ambiente no arquivo .env.yml. Para informações sobre IDs de cliente e secrets do cliente do OneLogin, consulte Trabalhar com credenciais de API.

Nome da variável Descrição Valor padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser igual ao intervalo do job do Cloud Scheduler. 30 Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
CLIENT_ID ID do cliente da plataforma OneLogin. Nenhum Não
CLIENT_SECRET Caminho para o secret no Secret Manager que armazena a chave secreta do cliente da plataforma OneLogin usada para autenticação. Nenhum Sim
TOKEN_ENDPOINT O URL para solicitar um token de acesso. https://api.us.onelogin.com/auth/oauth2/v2/token Não
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não

Proofpoint

Esse script busca dados sobre usuários que foram alvo de ataques de uma organização específica em um determinado período e os ingere no Google SecOps. Para informações sobre a API usada, consulte a API People.

Defina as seguintes variáveis de ambiente no arquivo .env.yml. Para detalhes sobre como conseguir o principal de serviço e o secreto do Proofpoint, consulte o Guia de configuração para fornecer credenciais do Proofpoint TAP ao Arctic Wolf.

Variável Descrição Padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser a mesma do intervalo do job do Cloud Scheduler. 360 Não
CHRONICLE_DATA_TYPE Tipo de registro para enviar dados à instância do Chronicle (Google SecOps). Nenhum Não
PROOFPOINT_SERVER_URL URL base do gateway de API do servidor Proofpoint. Nenhum Não
PROOFPOINT_SERVICE_PRINCIPLE Nome de usuário da plataforma Proofpoint. Normalmente, esse é o principal de serviço. Nenhum Não
PROOFPOINT_SECRET Caminho do Secret Manager com a versão em que a senha da plataforma Proofpoint está armazenada. Nenhum Sim
PROOFPOINT_RETRIEVAL_RANGE Número que indica de quantos dias os dados devem ser recuperados. Os valores aceitos são 14, 30 e 90. Nenhum Não

Pub/Sub

Esse script coleta mensagens de assinaturas do Pub/Sub e ingere os dados no Google SecOps. Ele monitora continuamente o gateway de assinatura e ingere mensagens mais recentes quando elas aparecem. Para mais informações, consulte os documentos a seguir:

Esse script de ingestão exige que você defina variáveis no arquivo .env.yml e no job do Cloud Scheduler.

  • Defina as seguintes variáveis de ambiente no arquivo .env.yml.

    Nome da variável Descrição Valor padrão Secret
    CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
    CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
    Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
    Não
    CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
    CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para mais informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não
  • Defina as seguintes variáveis no campo Corpo da mensagem do Cloud Scheduler como uma string formatada em JSON. Consulte Como criar o Cloud Scheduler para mais informações sobre o campo Corpo da mensagem.

    Nome da variável Descrição Valor padrão Secret
    PROJECT_ID ID do projeto do Pub/Sub. Consulte Como criar e gerenciar projetos para informações sobre o ID do projeto. Nenhum Não
    SUBSCRIPTION_ID ID da assinatura do Pub/Sub. Nenhum Não
    CHRONICLE_DATA_TYPE Rótulo de ingestão para o tipo de registro fornecido ao enviar dados para o Chronicle (Google SecOps). Consulte Analisadores padrão compatíveis para ver uma lista de tipos de registros compatíveis. Nenhum Não

    Este é um exemplo de string formatada em JSON para o campo Corpo da mensagem.

    { "PROJECT_ID":"projectid-0000","SUBSCRIPTION_ID":"subscription-id","CHRONICLE_DATA_TYPE":"SQUID_PROXY"}
    

Registros de auditoria do Slack

Esse script recebe registros de auditoria de uma organização do Slack Enterprise Grid e os ingere no Google SecOps com o tipo de registro SLACK_AUDIT. Para mais informações, consulte a API de registros de auditoria do Slack.

Defina as seguintes variáveis de ambiente no arquivo .env.yml.

Nome da variável Descrição Valor padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser igual ao intervalo do job do Cloud Scheduler. 5 Não
SLACK_ADMIN_TOKEN Caminho para o secret no Secret Manager que armazena o token de autenticação do Slack.
Nenhum
Sim
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não

STIX/TAXII

Esse script extrai indicadores do servidor STIX/TAXII e os ingere no Google SecOps. Para mais informações, consulte a documentação da API STIX/TAXII. Defina as seguintes variáveis de ambiente no arquivo .env.yml.

Nome da variável Descrição Padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
POLL_INTERVAL Intervalo de frequência (em minutos) em que a função é executada. Essa duração precisa ser igual à do job do Cloud Scheduler. 60 Não
TAXII_VERSION A versão do STIX/TAXII a ser usada. As opções possíveis são 1.1, 2.0 e 2.1. Nenhum Não
TAXII_DISCOVERY_URL URL de descoberta do servidor TAXII. Nenhum Não
TAXII_COLLECTION_NAMES Coleções (CSV) de onde buscar os dados. Deixe em branco para buscar dados de todas as coleções. Nenhum Não
TAXII_USERNAME Nome de usuário necessário para autenticação, se houver. Nenhum Não
TAXII_PASSWORD_SECRET_PATH Senha necessária para autenticação, se houver. Nenhum Sim

Tenable.io

Esse script busca dados de recursos e vulnerabilidades da plataforma Tenable.io e os ingere no Google SecOps com o tipo de registro TENABLE_IO. Para mais informações sobre a biblioteca usada, consulte o SDK pyTenable Python.

Defina as seguintes variáveis de ambiente no arquivo .env.yml. Para mais detalhes sobre dados de recursos e vulnerabilidades, consulte a API do Tenable.io: Exportar recursos e Exportar vulnerabilidades.

Variável Descrição Padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser a mesma do intervalo do job do Cloud Scheduler. 360 Não
TENABLE_ACCESS_KEY A chave de acesso usada para autenticação. Nenhum Não
TENABLE_SECRET_KEY_PATH Caminho do Google Secret Manager com a versão em que a senha do Tenable Server está armazenada. Nenhum Sim
TENABLE_DATA_TYPE Tipo de dados a serem ingeridos no Google SecOps. Valores possíveis: ASSETS, VULNERABILITIES. RECURSOS, VULNERABILIDADES Não
TENABLE_VULNERABILITY O estado das vulnerabilidades que você quer incluir na exportação. Valores possíveis: "OPEN", "REOPENED" e "FIXED". ABERTO, REABERTO Não

Trend Micro Cloud App Security

Esse script busca registros de segurança da plataforma Trend Micro e os ingere no Google SecOps. Para informações sobre a API usada, consulte a API de registros de segurança. Defina as seguintes variáveis de ambiente no arquivo .env.yml.

Variável Descrição Padrão Secret
CHRONICLE_CUSTOMER_ID ID do cliente da instância do Chronicle (Google SecOps). Nenhum Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser a mesma do intervalo do job do Cloud Scheduler. 10 Não
CHRONICLE_DATA_TYPE Tipo de registro para enviar dados à instância do Chronicle (Google SecOps). Nenhum Não
TREND_MICRO_AUTHENTICATION_TOKEN Caminho do Google Secret Manager com a versão em que o token de autenticação do Trend Micro Server está armazenado. Nenhum Sim
TREND_MICRO_SERVICE_URL URL do serviço do Cloud App Security. Nenhum Não
TREND_MICRO_SERVICE O nome do serviço protegido cujos registros serão recuperados. Aceita valores separados por vírgula. Valores possíveis: exchange, sharepoint, onedrive, dropbox, box, googledrive, gmail, teams, exchangeserver, salesforce_sandbox, salesforce_production, teams_chat. exchange, sharepoint, onedrive, dropbox, box, googledrive, gmail, teams, exchangeserver, salesforce_sandbox, salesforce_production, teams_chat Não
TREND_MICRO_EVENT O tipo de ocorrência de segurança cujos registros serão recuperados. Aceita valores separados por vírgula. Valores possíveis: securityrisk, virtualanalyzer, ransomware, dlp. securityrisk, virtualanalyzer, ransomware, dlp Não

Trend Micro Vision One

Esse script recupera os registros de auditoria do Trend Micro Vision One e os ingere no Google SecOps com o tipo de registro TREND_MICRO_VISION_AUDIT. Para informações sobre a API usada, consulte a API de registros de auditoria. Defina as seguintes variáveis de ambiente no arquivo .env.yml.

Variável Descrição Padrão Secret
TREND_MICRO_VISION_AUDIT ID do cliente da instância do Google SecOps. Nenhum Não
CHRONICLE_REGION Região da instância do Chronicle (Google SecOps). us
Outros valores válidos: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 e southamerica-east1.
Não
CHRONICLE_SERVICE_ACCOUNT Caminho para o secret no Secret Manager que armazena o arquivo JSON da conta de serviço do Chronicle (Google SecOps). Nenhum Sim
CHRONICLE_NAMESPACE O namespace com que os registros do Chronicle (Google SecOps) são rotulados. Para informações sobre namespaces do Google SecOps, consulte Trabalhar com namespaces de recursos. Nenhum Não
POLL_INTERVAL Intervalo de frequência em que a função é executada para receber dados de registro adicionais (em minutos). Essa duração precisa ser a mesma do intervalo do job do Cloud Scheduler. 10 Não
TREND_MICRO_AUTHENTICATION_TOKEN Caminho do Google Secret Manager com a versão em que o token de autenticação do Trend Micro Server está armazenado. Nenhum Sim
TREND_MICRO_DOMAIN Região do Trend Micro Vision One em que o endpoint de serviço está localizado. Nenhum Não

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.