Integra Armis con Google SecOps

Questo documento descrive come integrare Armis con Google Security Operations.

Casi d'uso

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

Parametri di integrazione

Utilizza i seguenti parametri per configurare l'integrazione:

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

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

Se necessario, puoi 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 Supporto di più istanze.

Azioni

Per saperne di più sulle azioni, consulta Rispondi alle azioni in attesa dalla scrivania di lavoro ed Esegui un'azione manuale nel tuo caso.

Dindin

Testa 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 avere esito negativo né interrompere l'esecuzione di un playbook:

Se l'operazione va a buon fine: "Connessione al server Armis eseguita correttamente con i parametri di connessione forniti".

L'azione dovrebbe 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 le entità

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

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Crea insight sugli endpoint Casella di controllo Selezionata Sì Se abilitata, l'azione crea un insight 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"
}

Enrichment delle entità

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

L'azione non deve avere esito negativo 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 ha arricchito alcune entità (is_success = true): "Action wasn't able to enriche the following entities using Armis:\n".format(entity.identifier)

Se non sono state arricchite tutte le entità (is_success = false): "Nessuna entità è stata arricchita".

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 "Arricchisci entità". Reason: {0}''.format(error.Stacktrace)

Generale
Tabella entità Entità

Elenco dei collegamenti degli avvisi

Elenca le connessioni correlate all'avviso in Armis.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
ID avviso Numero intero Sì 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à più bassa 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 avere esito negativo 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 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 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 "Elenca connessioni di avviso". Reason: {0}''.format(error.Stacktrace)

Generale
Tabella della bacheca casi

Nome: Comunicazioni disponibili

Colonne:

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

Aggiorna lo stato dell'avviso

Aggiorna lo stato dell'avviso in Armis.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
ID avviso Numero intero Sì Specifica l'ID dell'avviso per 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 avere esito negativo né interrompere l'esecuzione di un playbook:

if 200 (is_success = true): "Stato dell'avviso "{alert id}" aggiornato correttamente a "{status}" in Armis.".

Se 400 (is_success=true): "Alert "{alert id}" already has status "{status}" in Armis. "

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 avviso". Reason: {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 scoprire di più sulla configurazione dei connettori in Google SecOps, consulta Importa i dati (connettori).

Armis - Connettore di avvisi

Estrai 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 del campo del prodotto Stringa alert_type Sì

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 Sì

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

Nome campo ambiente Stringa "" No

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

Se il campo dell'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 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 o se il valore dell'ambiente è nullo, il risultato finale dell'ambiente è l'ambiente predefinito.

Timeout dello script (secondi) Numero intero 180 Sì

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

Root API Stringa https:// Sì Radice API dell'istanza Armis.
API secret Password N/D Sì API secret dell'account Armis.
Gravità minima da recuperare Bassa Bassa No La gravità più bassa che verrà utilizzata per recuperare gli avvisi. Valori possibili: Low, Medium, High.
Numero massimo di ore 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 un'iterazione del connettore. Il valore massimo è 1000.
Use whitelist as a blacklist Casella di controllo Selezionata Sì

Se selezionata, il connettore utilizza l'elenco dinamico come lista bloccata.

Verifica SSL Casella di controllo Deselezionata Sì Se selezionata, l'integrazione convalida il certificato SSL durante la connessione 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 con cui eseguire 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.