Integre o OpenSearch com o Google SecOps
Versão da integração: 1.0
Este documento explica como integrar o OpenSearch com o Google Security Operations.
Exemplos de utilização
A integração do OpenSearch aborda os seguintes exemplos de utilização de orquestração e investigação de segurança:
Procura de ameaças automatizada: procure periodicamente em todos os índices do OpenSearch indicadores de comprometimento (IoCs) ou padrões suspeitos através de consultas Lucene e DSL.
Ingestão de alertas centralizada: ingira documentos do OpenSearch como alertas acionáveis no Google SecOps, garantindo que os eventos de segurança do seu data lake são priorizados e investigados.
Obtenção de dados contextuais: enriqueça os registos de segurança existentes obtendo automaticamente registos relacionados ou dados do histórico do OpenSearch para fornecer aos analistas um contexto mais detalhado durante uma investigação.
Mapeamento de dados flexível: mapeie dinamicamente os níveis de gravidade e as etiquetas de ambiente dos documentos do OpenSearch para as normas do Google SecOps de modo a manter a consistência em diferentes origens de registos.
Antes de começar
Antes de configurar a integração na plataforma Google SecOps, verifique se tem o seguinte:
Ficheiro de certificado da AC: um ficheiro de autoridade de certificação válido para proteger a ligação.
Versão de integração mais recente: certifique-se de que está a usar a versão mais recente da integração do OpenSearch.
Certificado codificado em Base64: o conteúdo do ficheiro do certificado da AC tem de ser convertido numa string Base64 antes da configuração.
Para configurar a integração com um certificado da AC, conclua os seguintes passos:
- Abra a página de parâmetros de configuração da integração.
- Cole a string codificada em Base64 no campo Ficheiro de certificado da AC.
- Selecione a caixa de verificação Validar SSL.
- Clique em Testar para verificar se a integração está configurada com êxito.
Parâmetros de integração
A integração do OpenSearch requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Server Address |
Obrigatório. O URL de ponto final da instância do OpenSearch, incluindo o protocolo e a porta (por exemplo, |
Username |
Opcional. O nome de utilizador usado para autenticar com a instância do OpenSearch. |
Password |
Opcional. A palavra-passe associada ao nome de utilizador especificado. |
API Token |
Opcional. O token da API usado para autenticação como alternativa a um nome de utilizador e a uma palavra-passe. |
Authenticate |
Opcional. Se estiver selecionada, a integração autentica a ligação ao servidor OpenSearch através das credenciais fornecidas. |
Verify SSL |
Opcional. Se esta opção estiver selecionada, a integração valida o certificado SSL quando se liga ao servidor OpenSearch. |
CA Certificate File |
Opcional. O conteúdo do ficheiro de certificado da autoridade de certificação (AC) no formato PEM, usado para validar o certificado SSL do servidor. |
Para ver instruções sobre como configurar uma integração no Google SecOps, consulte o artigo Configurar integrações.
Se necessário, pode fazer alterações numa fase posterior. Depois de configurar uma instância de integração, pode usá-la em manuais de procedimentos. Para mais informações sobre como configurar e suportar várias instâncias, consulte o artigo Suporte de várias instâncias.
Ações
Para mais informações sobre ações, consulte os artigos Responda a ações pendentes da sua mesa de trabalho e Realize uma ação manual.
Pesquisa ES avançada
Use a ação Pesquisa ES avançada para executar uma consulta de pesquisa pré-configurada no servidor OpenSearch e obter os resultados num formato de dicionário.
Esta ação não é executada em entidades do Google SecOps.
Dados de ações
A ação Pesquisa avançada de ES requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Index |
Opcional. O padrão de pesquisa para o índice do OpenSearch (por exemplo, O valor predefinido é |
Query |
Opcional. A consulta de pesquisa a executar com a sintaxe do Lucene (por exemplo,
O valor predefinido é |
Limit |
Opcional. O número máximo de documentos a devolver. Defina este valor como
O valor predefinido é |
Display Field |
Opcional. Uma lista separada por vírgulas de campos específicos a devolver. O valor predefinido é |
Search Field |
Opcional. O campo específico a pesquisar quando O valor predefinido é |
Timestamp Field |
Opcional. O nome do campo usado para a filtragem baseada no tempo. Se O valor predefinido é |
Oldest Date |
Opcional. A data de início da pesquisa. A ação devolve registos que ocorreram nesta data/hora ou após a mesma. Pode fornecer uma indicação de tempo UTC exata
( O valor predefinido é |
Earliest Date |
Opcional. A data de fim da pesquisa. A ação devolve registos que ocorreram a ou antes desta data/hora. Pode fornecer uma indicação de tempo UTC exata
( O valor predefinido é |
Resultados da ação
A ação Pesquisa avançada de ES fornece os seguintes resultados:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Fixação à parede da caixa | Não disponível |
| Link da parede da caixa | Não disponível |
| Mesa de parede para capas | Não disponível |
| Tabela de enriquecimento | Não disponível |
| Resultado JSON | Não disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado do script
A tabela seguinte lista o valor da saída do resultado do script quando usa a ação Pesquisa ES avançada:
| Nome do resultado do script | Valor |
|---|---|
results |
RESULTS |
DSL Search
Use a ação DSL Search para fazer uma pesquisa abrangente em todos os índices do OpenSearch e obter resultados num formato de dicionário.
Esta ação não é executada em entidades do Google SecOps.
Dados de ações
A ação DSL Search requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Index |
Opcional. O padrão de pesquisa para o índice do OpenSearch (por exemplo, O valor predefinido é |
Query |
Opcional. A consulta de pesquisa a executar com a sintaxe do Lucene (por exemplo,
O valor predefinido é |
Limit |
Opcional. O número máximo de documentos a devolver. Defina este valor como
O valor predefinido é |
Resultados da ação
A ação DSL Search fornece os seguintes resultados:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Fixação à parede da caixa | Não disponível |
| Link da parede da caixa | Não disponível |
| Mesa de parede para capas | Não disponível |
| Tabela de enriquecimento | Não disponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
O exemplo seguinte mostra o resultado JSON recebido quando usa a ação DSL Search:
[
{
"_score": 0.2876821,
"_type": "person",
"_id": "2",
"_source": {
"lastname": "Smith",
"name": "John",
"job_description": "Systems administrator"
},
"_index": "accounts"
}, {
"_score": 0.28582606,
"_type": "person",
"_id": "1",
"_source":
{
"lastname": "Doe",
"name": "John",
"job_description": "Systems administrator and Linux specialist"
},
"_index": "accounts"
}
]
Resultado do script
A tabela seguinte indica o valor da saída do resultado do script quando usa a ação DSL Search:
| Nome do resultado do script | Valor |
|---|---|
results |
RESULTS |
Tchim-tchim
Use a ação Ping para testar a conetividade com o OpenSearch.
Esta ação não é executada em entidades do Google SecOps.
Dados de ações
Nenhum.
Resultados da ação
A ação Ping fornece os seguintes resultados:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Fixação à parede da caixa | Não disponível |
| Link da parede da caixa | Não disponível |
| Mesa de parede para capas | Não disponível |
| Tabela de enriquecimento | Não disponível |
| Resultado JSON | Não disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado do script
A tabela seguinte lista o valor do resultado do script quando usa a ação Ping:
| Nome do resultado do script | Valor |
|---|---|
| is_success | true ou false |
Pesquisa ES simples
Use a ação Simple ES Search para fazer uma pesquisa básica em todos os campos indexados no OpenSearch e obter os resultados num formato de dicionário.
Esta ação não é executada em entidades do Google SecOps.
Dados de ações
A ação Simple ES Search requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Index |
Opcional. O padrão de pesquisa para o índice do OpenSearch (por exemplo, O valor predefinido é |
Query |
Opcional. A consulta de pesquisa a executar com a sintaxe do Lucene (por exemplo,
O valor predefinido é |
Limit |
Opcional. O número máximo de documentos a devolver. Defina este valor como
O valor predefinido é |
Resultados da ação
A ação Simple ES Search fornece os seguintes resultados:
| Tipo de saída da ação | Disponibilidade |
|---|---|
| Fixação à parede da caixa | Não disponível |
| Link da parede da caixa | Não disponível |
| Mesa de parede para capas | Não disponível |
| Tabela de enriquecimento | Não disponível |
| Resultado JSON | Disponível |
| Mensagens de saída | Disponível |
| Resultado do script | Disponível |
Resultado JSON
O exemplo seguinte mostra o resultado JSON recebido quando usa a ação Simple ES Search:
[{
"_score": 0.2876821,
"_type": "person",
"_id": "2",
"_source":
{
"lastname": "Smith",
"name": "John",
"job_description": "Systems administrator"
},
"_index": "accounts"
},
{
"_score": 0.28582606,
"_type": "person",
"_id": "1",
"_source":
{
"lastname": "Doe",
"name": "John",
"job_description": "Systems administrator and Linux specialist"
},
"_index": "accounts"
}
]
Resultado do script
A tabela seguinte lista o valor da saída do resultado do script quando usa a ação Simple ES Search:
| Nome do resultado do script | Valor |
|---|---|
results |
RESULTS |
Conetores
Para mais informações sobre como configurar conetores no Google SecOps, consulte o artigo Carregue os seus dados (conetores).
Conetor OpenSearch
Use o conetor do OpenSearch para pesquisar índices do OpenSearch especificados com uma consulta Lucene fornecida e carregar documentos como alertas no Google SecOps.
Entradas do conetor
O conector do OpenSearch requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Product Field Name |
Obrigatório. O nome do campo onde o nome do produto está armazenado. O nome do produto afeta principalmente o mapeamento. Para simplificar e melhorar o processo de mapeamento do conector, o valor predefinido é resolvido para um valor alternativo referenciado a partir do código. Qualquer entrada inválida para este parâmetro é resolvida para um valor alternativo por predefinição. O valor predefinido é |
Event Field Name |
Obrigatório. O nome do campo que determina o nome do evento (subtipo). O valor predefinido é
|
Script Timeout (Seconds) |
Obrigatório. O limite de tempo limite, em segundos, para o processo Python que executa o script atual. O valor predefinido é |
Server Address |
Obrigatório. O URL de ponto final da instância do OpenSearch, incluindo o protocolo e a porta (por exemplo, |
Username |
Opcional. O nome de utilizador usado para autenticar com a instância do OpenSearch. |
Password |
Opcional. A palavra-passe associada ao nome de utilizador especificado. |
Authenticate |
Opcional. Se estiver selecionada, a integração autentica a ligação ao servidor OpenSearch através das credenciais fornecidas. |
API Token |
Opcional. O token da API usado para autenticação como alternativa a um nome de utilizador e a uma palavra-passe. |
Verify SSL |
Opcional. Se estiver selecionada, a integração valida o certificado SSL quando se liga ao servidor OpenSearch. |
Alert Name Field |
Obrigatório. O nome do campo que contém o nome do alerta (por exemplo,
|
Timestamp Field |
Obrigatório. O nome do campo que contém a data/hora (por exemplo, |
Environment Field Name |
Opcional. O nome do campo onde o nome do ambiente está armazenado. Se o campo de ambiente estiver em falta, o conector usa o valor predefinido. O valor predefinido é |
Indexes |
Opcional. O padrão de índice a pesquisar. Use |
Query |
Opcional. A consulta de pesquisa a executar com a sintaxe do Lucene. |
Alerts Count Limit |
Obrigatório. O número máximo de alertas a obter num único ciclo. O valor predefinido é |
Max Days Backwards |
Obrigatório. O número de dias anteriores ao momento atual para obter alertas. Este parâmetro pode aplicar-se à iteração inicial do conector depois de ativar o conector pela primeira vez ou ao valor alternativo para uma data/hora do conector expirada. O valor predefinido é |
Severity Field Name |
Opcional. O nome do campo usado para extrair o valor da gravidade do alerta. Se o campo contiver valores numéricos (inteiros ou números de vírgula flutuante), o conector mapeia-os automaticamente para os níveis de gravidade do Google SecOps (por exemplo, |
Proxy Server Address |
Opcional. O endereço do servidor proxy a usar. |
Proxy Username |
Opcional. O nome de utilizador usado para autenticar com o servidor proxy. |
Proxy Password |
Opcional. A palavra-passe usada para a autenticação no servidor proxy. |
Environment Regex Pattern |
Opcional. Um padrão de expressão regular a executar no valor encontrado no campo Use o valor predefinido Se o padrão de expressão regular for nulo ou estiver vazio, ou o valor do ambiente for nulo, o resultado do ambiente final é o ambiente predefinido. |
Conetor DSL do OpenSearch
Use o conetor OpenSearch DSL para carregar documentos como alertas para o Google SecOps fazendo chamadas à API REST com consultas de linguagem específica do domínio (DSL).
Entradas do conetor
O conector DSL do OpenSearch requer os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
Product Field Name |
Obrigatório. O nome do campo onde o nome do produto está armazenado. O nome do produto afeta principalmente o mapeamento. Para simplificar e melhorar o processo de mapeamento do conector, o valor predefinido é resolvido para um valor alternativo referenciado a partir do código. Qualquer entrada inválida para este parâmetro é resolvida para um valor alternativo por predefinição. O valor predefinido é O valor predefinido é |
Event Field Name |
Obrigatório. O nome do campo que determina o nome do evento (subtipo). O valor predefinido é |
Script Timeout (Seconds) |
Obrigatório. O limite de tempo limite, em segundos, para o processo Python que executa o script atual. O valor predefinido é |
Server Address |
Obrigatório. O URL do ponto final da instância do OpenSearch, incluindo o protocolo (por exemplo, |
Port |
Obrigatório. A porta usada para estabelecer ligação ao servidor da API OpenSearch. |
Query |
Obrigatório. A consulta DSL usada para a pesquisa no formato JSON. Para melhorar a estabilidade do conector, recomendamos que inclua uma chave de data/hora de ordenação em ordem ascendente na sua consulta. |
Index |
Obrigatório. O índice usado para a pesquisa. Use |
Timestamp Field |
Obrigatório. O nome do campo que contém a data/hora (por exemplo, |
Alert Field Name |
Obrigatório. O nome do campo que contém o nome do alerta (por exemplo, |
Description Field |
Opcional. O nome do campo que contém a descrição do alerta (por exemplo,
|
Severity |
Obrigatório. O nível de gravidade estático a atribuir a todos os alertas carregados. Este parâmetro é usado se O valor predefinido é |
Alert Severity |
Opcional. A gravidade a atribuir aos alertas. Este parâmetro tem prioridade sobre
Se quiser usar o mapeamento dinâmico com o elemento |
Severity Field Name |
Opcional. O nome do campo usado para extrair o valor da gravidade do alerta. Se o campo contiver valores numéricos (inteiros ou números de vírgula flutuante), o conector mapeia-os automaticamente para os níveis de gravidade do Google SecOps (por exemplo, |
Alerts Count Limit |
Opcional. O número máximo de alertas a obter num único ciclo. O valor predefinido é |
Authenticate |
Opcional. Se estiver selecionada, o conetor autentica a ligação através das credenciais fornecidas. |
Username |
Opcional. O nome de utilizador usado para autenticar com a instância do OpenSearch. |
Password |
Opcional. A palavra-passe usada para autenticar com a instância do OpenSearch. |
Use SSL |
Opcional. Se estiver selecionada, o conector ativa uma ligação SSL/TLS ao servidor. |
Proxy Server Address |
Opcional. O endereço do servidor proxy a usar para a ligação. |
Proxy Username |
Opcional. O nome de utilizador usado para autenticar com o servidor proxy. |
Proxy Password |
Opcional. A palavra-passe usada para a autenticação no servidor proxy. |
Environment Field Name |
Opcional. O nome do campo onde o nome do ambiente está armazenado. Se o campo de ambiente estiver em falta, o conector usa o valor predefinido. O valor predefinido é |
Environment Regex Pattern |
Opcional. Um padrão de expressão regular a executar no valor encontrado no campo Use o valor predefinido Se o padrão de expressão regular for nulo ou estiver vazio, ou o valor do ambiente for nulo, o resultado do ambiente final é o ambiente predefinido. O valor predefinido é |
Apoio técnico de notação
O conetor suporta três notações diferentes para o mapeamento de campos. Por exemplo, para mapear event.type, pode fornecer _source_event_type, event_type ou event.type.
Isto aplica-se aos seguintes parâmetros:
Product Field NameEvent Field NameSeverity Field NameEnvironment Field NameTimestamp FieldAlert Field NameDescription Field(Apenas conetor DSL)
Como mapear a gravidade no conector
Se o Severity Field Name contiver valores numéricos (inteiros ou flutuantes), o conetor mapeia-os da seguinte forma:
- Crítico: 100
- Elevada: 80 ≤ x < 100
- Médio: 60 ≤ x < 80
- Baixa: 40 ≤ x < 60
- Informacional: x < 40
Para valores de string, tem de atualizar o ficheiro severity_map_config.json na pasta de scripts do conetor.
Exemplo de configuração
Para mapear um campo event.severity que contenha "Malicioso", "Desconhecido" ou "Benigno":
- Introduza
event.severityno parâmetro Nome do campo de gravidade. - Atualize
severity_map_config.json:
{
"event.severity": {
"Malicious": 100,
"Unknown": 60,
"Benign": -1
},
"Default": 50
}
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.