Punto di log

Questo documento fornisce indicazioni su come integrare Logpoint con Google SecOps.

Casi d'uso

Eseguire azioni attive: eseguire query per ottenere maggiori informazioni sulle entità.

Configura l'integrazione di Logpoint in Google Security Operations

Per istruzioni dettagliate su come configurare un'integrazione in Google SecOps, consulta Configura le integrazioni.

Parametri di integrazione

Utilizza i seguenti parametri per configurare l'integrazione:

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
Indirizzo IP Stringa https://x.x.x.x Sì Indirizzo IP dell'istanza Logpoint.
Nome utente Stringa N/D Sì Nome utente dell'account Logpoint.
Secret Password N/D Sì Chiave API secret dell'account Logpoint
File del certificato CA Stringa N/D No File del certificato CA con codifica Base64.
Verifica SSL Casella di controllo Selezionata Sì Se l'opzione è attiva, verifica che il certificato SSL per la connessione al server Logpoint sia valido.

Azioni

Dindin

Descrizione

Testa la connettività a Logpoint con i parametri forniti nella pagina di configurazione dell'integrazione nella pagina Google SecOps Content Hub.

Parametri

N/D

Esegui il

L'azione non viene eseguita sulle entità e non ha parametri di input obbligatori.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni del valore
is_success is_success=False
is_success is_success=True
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve fallire né interrompere l'esecuzione di un playbook:
se l'operazione va a buon fine: "Connessione al server Logpoint riuscita con i parametri di connessione forniti."

L'azione non dovrebbe riuscire e dovrebbe interrompere l'esecuzione di un playbook:
se non va a buon fine: "Impossibile connettersi al server Logpoint! Error is {0}".format(exception.stacktrace)

Generale

Esegui query

Descrizione

Esegui la query di ricerca in Logpoint.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
Query Stringa N/D Sì Specifica la query da eseguire in Logpoint.
Intervallo di tempo DDL

Ultime 24 ore

Valori possibili:
Ultima ora

Ultime 12 ore

Ultime 24 ore

Ultimi 30 giorni

Ultimi 365 giorni

Personalizzato

Sì Specifica l'intervallo di tempo per la query. Se selezioni "Personalizzato", devi fornire anche l'ora di inizio e l'ora di fine.
Ora di inizio Stringa N/D No

Specifica l'ora di inizio della query. Formato:

AAAA-MM-GGThh:mm:ssZ o timestamp.

Ora di fine Stringa N/D No

Specifica l'ora di fine della query.Formato:

AAAA-MM-GGThh:mm:ssZ o timestamp. Se non viene fornito alcun valore, l'azione utilizzerà l'ora corrente come ora di fine.

Repository CSV N/D No Specifica un elenco separato da virgole dei nomi dei repository. Se non viene fornito alcun valore, l'azione eseguirà la ricerca in tutti i repository.
Numero massimo di risultati da restituire Numero intero 100 No Specifica il numero di risultati da restituire.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni del valore
is_success is_success=False
is_success is_success=True
Risultato JSON
{
    "query_type": "simple",
    "rows": [
        {
            "msg": "2021-01-10 10:27:50 Benchmarker; reporting speed; service=norm_front; actual_mps=1; doable_mps=19096;",
            "log_ts": 1610274470,
            "actual_mps": "1",
            "doable_mps": "19096",
            "_type_str": "_tz device_name msg source_name col_type object norm_id service collected_at label device_ip
    _enrich_policy action _fromV550 repo_name logpoint_name",
    "device_name": "localhost",
            "_offset": 48317,
            "logpoint_name": "Logpoint",
            "action": "reporting speed",
            "repo_name": "_logpoint",
            "source_name": "/opt/immune/var/log/benchmarker/norm_front.log",
            "col_ts": 1610274470,
            "_tz": "UTC",
            "norm_id": "Logpoint",
            "_identifier": "0",
            "collected_at": "Logpoint",
            "device_ip": "127.0.0.1",
            "service": "norm_front",
            "_fromV550": "t",
            "_enrich_policy": "None",
            "_type_num": "actual_mps doable_mps col_ts sig_id log_ts _offset _identifier",
            "_type_ip": "device_ip",
            "sig_id": "10505",
            "col_type": "filesystem",
            "object": "Benchmarker",
            "_labels": [
                "Logpoint",
                "Benchmarker"
            ]
        }
    ],
    "version": 6,
    "extracted_terms": [],
    "time_range": [
        1609496280,
        1610274480
    ],
    "orig_search_id": "9acac4a0-e530-4a19-a446-e17d4d9f8aae",
    "success": true,
    "final": true,
    "totalPages": 1,
    "estim_count": 185003,
    "complete": true,
    "status": {
        "Logpoint": {
            "default": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 3,
                "final": true
            },
            "_logpoint": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 185000,
                "final": true
            },
            "LogSource1": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 0,
                "final": true
            },
            "_LogpointAlerts": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 0,
                "final": true
            }
        }
    }
}
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve avere esito negativo né interrompere l'esecuzione di un playbook:
se success == true per tutte le richieste (is_success = true): "Query eseguita correttamente e risultati recuperati da Logpoint".

Se success == true per tutte le richieste, ma non ci sono risultati (is_success=false): "Non sono stati trovati dati per la query fornita."

Se success == false per almeno una richiesta (is_success = false): "L'azione non è riuscita a eseguire correttamente la query e a recuperare i risultati da Logpoint. Reason: {0}".format(message)

Messaggio asincrono

"In attesa del completamento dell'elaborazione della query in Logpoint."

L'azione non dovrebbe riuscire e dovrebbe interrompere l'esecuzione di un playbook:
in caso di errore irreversibile, come credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Esegui query". Reason: {0}''.format(error.Stacktrace)

If timeout:

Errore durante l'esecuzione dell'azione "Esegui query". Motivo: l'azione ha raggiunto un timeout. Restringi l'intervallo di tempo o riduci il numero di risultati da restituire.

Se non viene trovato almeno un repository:

"Errore durante l'esecuzione dell'azione "Esegui query". Motivo: i seguenti repository non sono stati trovati in Logpoint: {0}. Assicurati che tutti i repository siano disponibili.".format(elenco separato da virgole di repository non trovati)

Se è selezionata l'opzione"Personalizzato ", ma non viene fornita l'ora di inizio:

"Errore durante l'esecuzione dell'azione "Esegui query". Motivo: devi fornire l'ora di inizio se hai selezionato "Personalizzato" per il periodo di tempo.

Generale
Tabella della bacheca casi

Nome tabella: "Risultati"

Tutte le colonne della risposta verranno utilizzate come colonne della tabella.

Generale

Esegui query entità

Descrizione

Esegui la query in Logpoint in base alle entità. Tipi di entità attualmente supportati: utente, IP, indirizzo email, URL, hash del file, nome host. Nota: l'indirizzo email è un'entità utente che corrisponde al formato dell'indirizzo email.

Come utilizzare i parametri di azione

Questa azione consente di recuperare facilmente le informazioni relative alle entità. Ad esempio, è possibile risolvere il caso d'uso in cui vuoi visualizzare la quantità di log degli endpoint interessati dall'hash fornito senza creare query complicate.

Per risolvere questo problema nel punto di log, devi preparare la seguente query: ("device_ip"="10.0.0.1" or "device_ip"="10.0.0.2") and ("hash"="7694f4a66316e53c8cdd9d9954bd611d" or "hash"="8264ee52f589f4c0191aa94f87aa1aeb") | chart count() by device_ip

Per creare la stessa query utilizzando l'azione "Esegui query entità", devi compilare i parametri dell'azione nel seguente modo:

Query | chart count() by device_ip
Chiave entità IP device_ip
Chiave entità hash file hash
Operatore cross-entità E

Tutti gli altri campi possono essere lasciati vuoti.

Se il caso d'uso è vedere quanti endpoint sono stati interessati dagli hash forniti, la configurazione di "Esegui query entità" avrà il seguente aspetto.

Query | chart count() by device_ip
Chiave entità hash file hash

In questa situazione, "Cross Entity Operator" non avrà alcun impatto, perché influisce sulla query solo quando vengono fornite più "Entity Keys".

Parametri

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
Query Stringa Sì Specifica la query da eseguire. Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Intervallo di tempo DDL

Ultime 24 ore

Valori possibili:
Ultima ora

Ultime 12 ore

Ultime 24 ore

Ultimi 30 giorni

Ultimi 365 giorni

Personalizzato

Sì Specifica l'intervallo di tempo per la query. Se selezioni "Personalizzato", devi anche fornire l'ora di inizio, mentre l'ora di fine utilizzerà l'ora corrente per impostazione predefinita.
Ora di inizio Stringa No

Specifica l'ora di inizio della query. Formato:

AAAA-MM-GGThh:mm:ssZ o timestamp.

Ora di fine Stringa No

Specifica l'ora di fine della query.Formato:

AAAA-MM-GGThh:mm:ssZ o timestamp. Se non viene fornito alcun valore, l'azione utilizzerà l'ora corrente come ora di fine.

Repository CSV No Specifica un elenco separato da virgole dei nomi dei repository. Se non viene fornito alcun valore, l'azione eseguirà la ricerca in tutti i repository.
Chiave entità IP Stringa No Specifica la chiave da utilizzare con le entità IP. Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Chiave entità nome host Stringa No Specifica quale chiave deve essere utilizzata con le entità Hostname durante la preparazione di . Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Chiave entità hash file No Specifica la chiave da utilizzare con le entità File Hash. Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Chiave entità utente No Specifica quale chiave deve essere utilizzata con le entità User. Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Chiave entità URL No Specifica la chiave da utilizzare con le entità URL. Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Chiave entità indirizzo email No Specifica la chiave da utilizzare con le entità Indirizzo email. Per informazioni dettagliate, consulta la documentazione relativa all'azione.
Interrompi se non ci sono abbastanza entità Casella di controllo Selezionata Sì Se abilitata, l'azione non verrà eseguita, a meno che tutti i tipi di entità non siano disponibili per le ".. Chiavi entità" specificate. Esempio: se sono specificate "IP Entity Key" e "File Hash Entity Key", ma nell'ambito non sono presenti hash dei file, se questo parametro è abilitato, l'azione non eseguirà la query.
Operatore cross-entità DDL

OPPURE

Valori possibili:

OPPURE

E

Sì Specifica l'operatore logico da utilizzare tra i diversi tipi di entità.
Numero massimo di risultati da restituire Numero intero 100 No Specifica il numero di risultati da restituire.

Esegui il

Questa azione viene eseguita sulle seguenti entità:

  • Indirizzo IP
  • Host
  • Utente
  • Hash
  • URL

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni del valore
is_success is_success=False
is_success is_success=True
Risultato JSON
{
    "query_type": "simple",
    "rows": [
        {
            "msg": "2021-01-10 10:27:50 Benchmarker; reporting speed; service=norm_front; actual_mps=1; doable_mps=19096;",
            "log_ts": 1610274470,
            "actual_mps": "1",
            "doable_mps": "19096",
            "_type_str": "_tz device_name msg source_name col_type object norm_id service collected_at label device_ip
    _enrich_policy action _fromV550 repo_name logpoint_name",
    "device_name": "localhost",
            "_offset": 48317,
            "logpoint_name": "Logpoint",
            "action": "reporting speed",
            "repo_name": "_logpoint",
            "source_name": "/opt/immune/var/log/benchmarker/norm_front.log",
            "col_ts": 1610274470,
            "_tz": "UTC",
            "norm_id": "Logpoint",
            "_identifier": "0",
            "collected_at": "Logpoint",
            "device_ip": "127.0.0.1",
            "service": "norm_front",
            "_fromV550": "t",
            "_enrich_policy": "None",
            "_type_num": "actual_mps doable_mps col_ts sig_id log_ts _offset _identifier",
            "_type_ip": "device_ip",
            "sig_id": "10505",
            "col_type": "filesystem",
            "object": "Benchmarker",
            "_labels": [
                "Logpoint",
                "Benchmarker"
            ]
        }
    ],
    "version": 6,
    "extracted_terms": [],
    "time_range": [
        1609496280,
        1610274480
    ],
    "orig_search_id": "9acac4a0-e530-4a19-a446-e17d4d9f8aae",
    "success": true,
    "final": true,
    "totalPages": 1,
    "estim_count": 185003,
    "complete": true,
    "status": {
        "Logpoint": {
            "default": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 3,
                "final": true
            },
            "_logpoint": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 185000,
                "final": true
            },
            "LogSource1": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 0,
                "final": true
            },
            "_LogpointAlerts": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 0,
                "final": true
            }
        }
    }
}
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve avere esito negativo né interrompere l'esecuzione di un playbook:
se success == true per tutte le richieste (is_success = true): "Query eseguita correttamente e risultati recuperati da Logpoint".

Se success == true per tutte le richieste, ma non ci sono risultati (is_success=false): "Non sono stati trovati dati per la query fornita."

Se success == false per almeno una richiesta (is_success = false): "L'azione non è riuscita a eseguire correttamente la query e a recuperare i risultati da Logpoint. Reason: {0}".format(message)

Messaggio asincrono

"In attesa del completamento dell'elaborazione della query in Logpoint."

Se l'opzione "Interrompi se non ci sono abbastanza entità" è attiva e non sono disponibili abbastanza tipi di entità per le "Chiavi entità" fornite (is_success=false): l'azione non è riuscita a creare la query perché non sono stati forniti abbastanza tipi di entità per le "Chiavi entità" specificate. Disattiva il parametro "Interrompi se non ci sono abbastanza entità" o fornisci almeno un'entità per ogni ".. Chiave entità" specificata.

L'azione non dovrebbe riuscire e dovrebbe interrompere l'esecuzione di un playbook:
se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Esegui query entità". Reason: {0}''.format(error.Stacktrace)

If timeout:

Errore durante l'esecuzione dell'azione "Esegui query entità". Motivo: l'azione ha raggiunto il timeout. Restringi l'intervallo di tempo o riduci la quantità di risultati da restituire.

Se non viene trovato almeno un repository:
"Errore durante l'esecuzione dell'azione "Esegui query entità". Motivo: i seguenti repository non sono stati trovati in Logpoint: {0}. Assicurati che tutti i repository siano disponibili.".format(elenco separato da virgole di repository non trovati)

Se non vengono specificate chiavi "Entity":

Errore durante l'esecuzione dell'azione "Esegui query entità". Motivo: specifica almeno un parametro ".. Entity Key".

Se è selezionata l'opzione"Personalizzato ", ma non viene fornita l'ora di inizio:

"Errore durante l'esecuzione dell'azione "Esegui query entità". Motivo: devi fornire l'ora di inizio se hai selezionato "Personalizzato" per il periodo di tempo.

Generale

Tabella della bacheca casi

Nome tabella: "Results"

Tutte le colonne della risposta verranno utilizzate come colonne della tabella.

Generale

Elenca repository

Descrizione

Elenca i repository disponibili in Logpoint.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
Numero massimo di repository da restituire Numero intero 100 No Specifica il numero di report da restituire.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni del valore
is_success is_success=False
is_success is_success=True
Risultato JSON
{
    "success": true,
    "allowed_repos": [
        {
            "repo": "default",
            "address": "127.0.0.1:5504/default"
        },
        {
            "repo": "_logpoint",
            "address": "127.0.0.1:5504/_logpoint"
        },
        {
            "repo": "_LogpointAlerts",
            "address": "127.0.0.1:5504/_LogpointAlerts"
        },
        {
            "repo": "LogSource1",
            "address": "127.0.0.1:5504/LogSource1"
        }
    ],
    "logpoint": [
        {
            "name": "Logpoint",
            "ip": "127.0.0.1"
        }
    ]
}
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve fallire né interrompere l'esecuzione di un playbook:
se success == true (is_success = true): "Recupero della query dei repository disponibili da Logpoint riuscito".

L'azione non deve riuscire e deve interrompere l'esecuzione di un playbook:
in caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Elenca repository". Reason: {0}''.format(error.Stacktrace)

Generale
Tabella della bacheca casi

Nome tabella: "Repository disponibili"

Nome: allowed_repos/repo

Indirizzo - allowed_repos/address

Generale

Aggiorna stato dell'incidente

Descrizione

Aggiorna lo stato dell'incidente in Logpoint.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
ID incidente Stringa N/D Sì Specifica l'ID dell'incidente che vuoi aggiornare.
Azione DLL

Chiudi

Valori possibili:

Risolvi

Chiudi

Sì Specifica l'azione per l'incidente.

Esegui il

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni del valore
is_success is_success=False
is_success is_success=True
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve avere esito negativo né interrompere l'esecuzione di un playbook:
if success== true (is_success = true): "Successfully {0} incident with ID {1} in Logpoint.".format(resolved/closed, incident_id)

if success== false(is_success = true): "Action wasn't able to {0} incident with ID {1} in Logpoint.".format(resolve/close, incident_id)

L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook:

In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Aggiorna stato incidente". Reason: {0}''.format(error.Stacktrace)

Generale

Connettore

Logpoint - Incidents Connector

Descrizione

Estrai gli incidenti da Logpoint.

Configura il connettore Logpoint - Incidents in Google SecOps

Per istruzioni dettagliate su come configurare un connettore in Google SecOps, consulta Configurazione del connettore.

Parametri del connettore

Utilizza i seguenti parametri per configurare il connettore:

Nome visualizzato del parametro Tipo Valore predefinito Is Mandatory Descrizione
Nome campo prodotto Stringa Nome prodotto Sì Inserisci il nome del campo di origine per recuperare il nome del campo del prodotto.
Nome campo evento Stringa tipo Sì Inserisci il nome del campo di origine per recuperare il nome del campo evento.
Nome campo ambiente Stringa "" No

Descrive il nome del campo in cui è memorizzato il nome dell'ambiente.

Se il campo dell'ambiente non viene trovato, l'ambiente è quello predefinito.

Pattern regex dell'ambiente Stringa .* No

Un pattern regex da eseguire sul valore trovato nel campo "Nome campo ambiente".

Il valore predefinito è .* per rilevare tutto e restituire il valore invariato.

Utilizzato per consentire all'utente di manipolare il campo dell'ambiente tramite la logica delle espressioni regolari.

Se il pattern regex è nullo o vuoto o se il valore dell'ambiente è nullo, il risultato finale dell'ambiente è l'ambiente predefinito.

Timeout dello script (secondi) Numero intero 180 Sì Limite di timeout per il processo Python che esegue lo script corrente.
Indirizzo IP Stringa https://x.x.x.x Sì Indirizzo IP dell'istanza Logpoint.
Nome utente Stringa N/D Sì Nome utente dell'account Logpoint.
Secret Password N/D Sì Secret dell'account Logpoint.
Numero massimo di ore indietro Numero intero 1 No Numero di ore da cui recuperare gli incidenti.
Rischio di recupero minimo Stringa N/D No

Rischio più basso degli incidenti da recuperare. Valori possibili:

Critico, Alto, Medio, Basso.

Numero massimo di incidenti da recuperare Numero intero 10 No Numero di incidenti da elaborare per un'iterazione del connettore.
Utilizza la lista consentita come lista bloccata Casella di controllo Deselezionata Sì Se questa opzione è attiva, la lista consentita verrà utilizzata come lista bloccata.
Verifica SSL Casella di controllo Deselezionata Sì Se l'opzione è abilitata, verifica che il certificato SSL per la connessione al server Logpoint sia valido.
File del certificato CA Stringa N/D No File del certificato CA con codifica Base64.
Indirizzo del server proxy Stringa N/D No L'indirizzo del server proxy da utilizzare.
Nome utente proxy Stringa N/D No Il nome utente del proxy con cui eseguire l'autenticazione.
Password proxy Password N/D No La password del proxy con cui eseguire l'autenticazione.
Filtro utente CSV N/D No Un elenco separato da virgole di nomi utente utilizzati per filtrare gli incidenti. Vengono importati solo gli incidenti creati dagli utenti validi. Se non viene fornito alcun valore, questo filtro non viene applicato e il connettore importa gli incidenti di tutti gli utenti.

Regole del connettore

Supporto dei proxy

Il connettore supporta il proxy.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.