Integrare Armis con Google SecOps

Questo documento descrive come integrare Armis con Google Security Operations.

Versione integrazione: 12.0

Casi d'uso

  1. Eseguire azioni di arricchimento.
  2. Esegui l'importazione degli avvisi.
  3. Esegui l'azione di triage (aggiorna lo stato dell'avviso).

Parametri di integrazione

Utilizza i seguenti parametri per configurare l'integrazione:

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Root API Stringa Root API Armis
API secret Password N/D API secret di Armis
Verifica SSL Casella di controllo Selezionata Se abilitata, verifica che il certificato SSL per la connessione al server Armis sia valido.

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

Se necessario, potrai apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supportare più istanze.

Azioni

Per ulteriori informazioni sulle azioni, vedi Rispondere alle azioni in attesa dalla tua scrivania e Eseguire un'azione manuale.

Dindin

Verifica la connettività ad Armis.

Parametri

N/D

Pubblica su

L'azione non utilizza entità né ha parametri di input obbligatori.

Risultati dell'azione

Risultato dello script
Nome del risultato dello script Opzioni del valore Esempio
is_success Vero/Falso is_success:False
Bacheca casi
Tipo di risultato Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

In caso di esito positivo: "Connessione al server Armis riuscita con i parametri di connessione forniti."

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

Se l'operazione non va a buon fine: "Impossibile connettersi al server Armis. Error is {0}".format(exception.stacktrace)

Generale

Arricchisci entità

Arricchisci le entità utilizzando le informazioni di Armis. Entità supportate: IP, indirizzo Mac.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Crea approfondimento sull'endpoint Casella di controllo Selezionata Se attivata, l'azione crea un approfondimento contenente informazioni sugli endpoint.

Pubblica su

Questa azione viene eseguita sulle seguenti entità:

  • Indirizzo IP
  • Indirizzo MAC

Risultati dell'azione

Risultato dello script
Nome del risultato dello script Opzioni del valore Esempio
is_success Vero/Falso is_success:False

Risultato JSON

{
    "accessSwitch": null,
    "category": "Computers",
    "dataSources": [
        {
            "firstSeen": "2021-03-07T04:04:22.562873+00:00",
            "lastSeen": "2021-03-07T04:04:22.562873+00:00",
            "name": "Example",
            "types": [
                "Asset & System Management",
                "Virtualization"
            ]
        },
        {
            "firstSeen": "2021-03-07T04:04:22.562873+00:00",
            "lastSeen": "2021-03-07T04:04:22.562873+00:00",
            "name": "Armis Smart Scanner",
            "types": [
                "Vulnerability Management"
            ]
        }
    ],
    "firstSeen": "2021-03-07T04:04:22.562873+00:00",
    "id": 1616,
    "ipAddress": "192.0.2.120",
    "ipv6": null,
    "lastSeen": "2021-03-21T08:05:40.244960+00:00",
    "macAddress": "01:23:45:ab:cd:ef",
    "manufacturer": "VMware",
    "model": "VMware Virtual Platform",
    "name": "Example",
    "operatingSystem": "CentOS",
    "operatingSystemVersion": "6.6",
    "purdueLevel": 4.0,
    "riskLevel": 5,
    "sensor": {
        "name": "North conference room",
        "type": "Physical Sensor"
    },
    "site": {
        "location": "Palo Alto",
        "name": "Palo Alto Offices"
    },
    "tags": [
        "Discover",
        "Example"
    ],
    "type": "Virtual Machines",
    "user": "",
    "visibility": "Full"
}

Arricchimento delle entità

Nome del campo di arricchimento Logica - Quando applicarla
categoria Quando disponibile in formato JSON
id Quando disponibile in formato JSON
ipAddress Quando disponibile in formato JSON
macAddress Quando disponibile in formato JSON
nome Quando disponibile in formato JSON
os Quando disponibile in formato JSON
purdue_level Quando disponibile in formato JSON
risk_level Quando disponibile in formato JSON
Tag Quando disponibile in formato JSON
tipo Quando disponibile in formato JSON
utente Quando disponibile in formato JSON
visibilità Quando disponibile in formato JSON
sito Quando disponibile in formato JSON
link Quando disponibile in formato JSON
Bacheca casi
Tipo di risultato Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

if enriched some(is_success = true): "Successfully enriched the following entities using Armis:\n".format(entity.identifier)

Se non è stato eseguito l'arricchimento di alcuni (is_success = true): "L'azione non è riuscita ad arricchire le seguenti entità utilizzando Armis:\n".format(entity.identifier)

Se non è stato eseguito l'arricchimento di tutte le entità (is_success = false): "Nessuna entità è stata arricchita".

L'azione deve non riuscire e 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 "Arricchisci entità". Motivo: {0}''.format(error.Stacktrace)

Generale
Tabella entità Entità

List Alert Connections

Elenca le connessioni correlate all'avviso in Armis.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
ID avviso Numero intero Specifica l'ID dell'avviso per cui vuoi estrarre i dati delle connessioni.
Gravità minima da recuperare DDL

Media

Valori possibili:

  • Bassa
  • Media
  • Alta
No Specifica la gravità minima delle connessioni da utilizzare durante il recupero.
Numero massimo di connessioni da restituire Numero intero 50 No Specifica il numero di connessioni da restituire.

Pubblica su

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato dello script
Nome del risultato dello script Opzioni del valore Esempio
is_success Vero/Falso is_success:False

Risultato JSON

{
    "band": null,
    "channel": null,
    "dhcpAuthenticationDuration": null,
    "duration": 12339,
    "endTimestamp": "2021-03-18T20:19:31.562873+00:00",
    "id": 33355,
    "inboundTraffic": 12412512,
    "outboundTraffic": 19626489,
    "protocol": "Bluetooth",
    "radiusAuthenticationDuration": null,
    "risk": "Medium",
    "rssi": null,
    "sensor": {
        "name": "EXAMPLE",
        "type": "Switch"
    },
    "site": {
        "location": "Location",
        "name": "Location HQ"
    },
    "snr": null,
    "sourceId": 2097,
    "startTimestamp": "2021-03-18T16:53:52.562873+00:00",
    "targetId": 217,
    "title": "Connection between Example and user's iPhone",
    "totalAssociationDuration": null,
    "traffic": 32039001,
    "wlanAssociationDuration": null
}
Bacheca casi
Tipo di risultato Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

if 200 and data is available (is_success = true): "Successfully returned connections related to the alert {alertId} based on the provided criteria in Armis."

Se il codice di risposta è 200 e non sono disponibili dati (is_success=false): "Non sono state trovate connessioni correlate all'avviso {alertId} in base ai criteri forniti in Armis."

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

if fatal error, like wrong credentials, no connection to server, other: "Error executing action "List Alert Connections". Motivo: {0}''.format(error.Stacktrace)

Generale
Tabella Bacheca casi

Nome: Available Communications

Colonne:

  • Titolo
  • Protocollo
  • Gravità
  • Ora di inizio
  • Ora di fine
Generale

Aggiorna stato avviso

Aggiorna lo stato dell'avviso in Armis.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
ID avviso Numero intero Specifica l'ID dell'avviso di cui vuoi aggiornare lo stato.
Stato DDL

Non gestito

Valori possibili:

  • Non gestito
  • Soppressa
  • Risolto
No Specifica lo stato da impostare per l'avviso.

Pubblica su

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato dello script
Nome del risultato dello script Opzioni del valore Esempio
is_success Vero/Falso is_success:False
Bacheca casi
Tipo di risultato Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

if 200 (is_success = true): "Successfully updated status of the alert "{alert id}" to "{status}" in Armis.".

Se 400 (is_success=true): "L'avviso "{alert id}" ha già lo stato "{status}" in Armis. "

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

if fatal error, like wrong credentials, no connection to server, other: "Error executing action "Update Alert Status". Motivo: {0}''.format(error.Stacktrace)

Se 404: "Errore durante l'esecuzione dell'azione "Aggiorna stato avviso". Motivo: l'avviso "{alert id}" non è stato trovato in Armis.

Generali

Connettore

Per maggiori dettagli su come configurare i connettori in Google SecOps, consulta Importare i dati (connettori).

Armis - Alerts Connector

Recupera gli avvisi con le attività correlate da Armis.

Parametri del connettore

Utilizza i seguenti parametri per configurare il connettore:

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Nome campo prodotto Stringa alert_type

Il nome del campo in cui è memorizzato il nome del prodotto.

Il valore predefinito è alert_type.

Il nome del prodotto influisce principalmente sulla mappatura. Per semplificare e migliorare il processo di mappatura per il connettore, il valore predefinito alert_type viene risolto in un valore di riserva a cui viene fatto riferimento dal codice. Qualsiasi input non valido per questo parametro viene risolto in un valore di riserva per impostazione predefinita.

Nome campo evento Stringa tipo

Il nome del campo che determina il nome (sottotipo) dell'evento.

Nome campo ambiente Stringa "" No

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

Se il campo ambiente non è presente, il connettore utilizza il valore predefinito.

Environment Regex Pattern Stringa .* No

Un pattern di espressione regolare da eseguire sul valore trovato nel campo Environment Field Name. Questo parametro ti consente di manipolare il campo dell'ambiente utilizzando la logica delle espressioni regolari.

Utilizza il valore predefinito .* per recuperare il valore Environment Field Name non elaborato richiesto.

Se il pattern dell'espressione regolare è nullo o vuoto oppure il valore dell'ambiente è nullo, l'ambiente finale è quello predefinito.

Timeout dello script (secondi) Numero intero 180

Il limite di timeout, in secondi, per il processo Python che esegue lo script corrente.

Root API Stringa https:// Radice API dell'istanza Armis.
API secret Password N/D API secret dell'account Armis.
Gravità minima da recuperare Bassa Bassa No La gravità minima che verrà utilizzata per recuperare gli avvisi. Valori possibili: Low, Medium, High.
Ore massime indietro Numero intero 1 No

Il numero di ore prima della prima iterazione del connettore per recuperare gli avvisi.

Questo parametro può essere applicato all'iterazione iniziale del connettore dopo l'attivazione del connettore per la prima volta o al valore di riserva per un timestamp del connettore scaduto.

Numero massimo di avvisi da recuperare Numero intero 10 No Il numero di avvisi da elaborare per ogni iterazione del connettore. Il valore massimo è 1000.
Use whitelist as a blacklist Casella di controllo Selezionata

Se selezionato, il connettore utilizza l'elenco dinamico come blocklist.

Verifica SSL Casella di controllo Deselezionata Se selezionata, l'integrazione convalida il certificato SSL quando si connette al server Armis.
Indirizzo del server proxy Stringa No L'indirizzo del server proxy da utilizzare.
Nome utente proxy Stringa No Il nome utente del proxy con cui eseguire l'autenticazione.
Password proxy Password No La password del proxy per l'autenticazione.

Regole del connettore

Il connettore supporta i proxy.

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