Zscaler

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

Casi d'uso

L'integrazione di Zscaler utilizza le funzionalità di Google SecOps per supportare i seguenti casi d'uso:

  • Gestisci il filtro degli URL: aggiorna automaticamente le categorie di URL e le regole di filtro per bloccare i domini dannosi identificati durante le indagini.

  • Automatizza la gestione del ciclo di vita degli utenti: gestisci dinamicamente l'accesso degli utenti e l'appartenenza ai gruppi in Zscaler in base ai livelli di rischio per la sicurezza.

  • Arricchisci gli avvisi di rete: recupera informazioni dettagliate su utenti, reparti e sedi associati al traffico bloccato.

  • Sincronizza le policy di sicurezza: implementa immediatamente le modifiche alla sicurezza nel tuo ambiente Zscaler per rispondere alle minacce attive.

Prima di iniziare

Prima di configurare l'integrazione in Google SecOps, verifica che il tuo ambiente Zscaler soddisfi i seguenti requisiti:

  • Metodo di autenticazione: determina se la tua organizzazione utilizza OAuth 2.0 o l'autenticazione legacy basata su credenziali. L'integrazione utilizza queste credenziali per stabilire una sessione e recuperare un token temporaneo per le richieste API:

    • OAuth 2.0 (consigliato): questo metodo utilizza il servizio ZSLogin per la gestione centralizzata delle identità. Devi registrare un client OAuth 2.0 nel tuo provider di identità e aggiungere il server di autorizzazione al portale di amministrazione ZIA. Per i dettagli, vedi Proteggere le API ZIA con OAuth 2.0.

    • Credenziali legacy: questo metodo utilizza una chiave API e le credenziali di amministratore ZIA. Per maggiori dettagli, vedi Gestione della chiave API Cloud Service.

  • Autorizzazioni account: assicurati che all'account cliente o amministratore siano assegnati i ruoli corretti:

  • Accesso alla rete: assicurati che la configurazione di rete consenta connessioni HTTPS in uscita dal tuo ambiente Google SecOps agli endpoint API Zscaler, ad esempio zsapi.{your_cloud_name}.

Parametri di integrazione

L'integrazione Zscaler richiede i seguenti parametri:

Parametro Descrizione
Api Root

Obbligatorio.

L'URL di base dell'istanza Zscaler, ad esempio, https://admin.zscalertwo.net o https://api.zsapi.net.

Login ID

Facoltativo.

Il nome utente o l'indirizzo email associato all'account amministratore Zscaler utilizzato per l'autenticazione.

Questo parametro è obbligatorio per l'autenticazione legacy.

Se vengono fornite sia le credenziali legacy sia quelle OAuth 2.0, queste ultime hanno la precedenza.

Api Key

Facoltativo.

La chiave API univoca generata nel portale Zscaler per autorizzare le richieste API.

Questo parametro è obbligatorio per l'autenticazione legacy.

Se vengono fornite sia le credenziali legacy sia quelle OAuth 2.0, queste ultime hanno la precedenza.

Password

Facoltativo.

La password associata all'account amministratore Zscaler utilizzato per l'autenticazione.

Questo parametro è obbligatorio per l'autenticazione legacy.

Se vengono fornite sia le credenziali legacy sia quelle OAuth 2.0, queste ultime hanno la precedenza.

Verify SSL

Facoltativo.

Se selezionata, l'integrazione convalida il certificato SSL quando si connette al server Zscaler.

Abilitato per impostazione predefinita.

Client ID

Facoltativo.

L'identificatore univoco del client OAuth 2.0 utilizzato per l'autenticazione tramite il servizio ZSLogin.

Questo parametro è obbligatorio per la configurazione di OAuth 2.0 e ha la precedenza sull'autenticazione legacy.

Client Secret

Facoltativo.

La chiave segreta associata all'ID client utilizzato per autenticare il client OAuth 2.0.

Questo parametro è obbligatorio per la configurazione di OAuth 2.0 e ha la precedenza sull'autenticazione legacy.

Login API Root

Facoltativo.

L'URL di base per il servizio ZSLogin utilizzato per la gestione centralizzata di identità e accessi.

Questo parametro è obbligatorio per la configurazione di OAuth 2.0 e ha la precedenza sull'autenticazione legacy.

Il valore predefinito è https://{instance}.zslogin.net.

Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configurare 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 Supportare più istanze.

Azioni

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

Aggiungi alla blacklist

Aggiunge un URL/dominio/IP alla blocklist.

Input azione

Questa azione richiede i seguenti parametri:

Parametro Descrizione
IOCs

Facoltativo.

Un elenco separato da virgole di indicatori di compromissione (indirizzi IP, URL o domini) da aggiungere alla lista bloccata, ad esempio 10.1.1.1, google.com, http://example.net.

Run On

Questa azione viene eseguita sulle seguenti entità:

  • URL
  • Nome host
  • Indirizzo IP
Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
N/A
Arricchimento delle entità

N/D

Approfondimenti

N/D

Aggiungi alla lista consentita

Aggiunge un URL/dominio/IP alla lista consentita.

Input azione

Questa azione richiede i seguenti parametri:

Parametro Descrizione
IOCs

Facoltativo.

Un elenco di indicatori di compromissione (IOC) (indirizzi IP, URL o domini) separato da virgole da aggiungere alla lista consentita, ad esempio 10.1.1.1, google.com, http://example.net.

Run On

Questa azione viene eseguita sulle seguenti entità:

  • URL
  • Nome host
  • Dominio
Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
N/A
Arricchimento delle entità

N/D

Approfondimenti

N/D

Ottieni lista nera

Recupera un elenco di URL nella lista nera.

Parametri

N/D

Run On

Questa azione viene eseguita su tutte le entità.

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
N/A
Arricchimento delle entità

N/D

Approfondimenti

N/D

Ottenere il report della sandbox

Ricevi un report completo per un hash MD5 di un file analizzato da Sandbox.

Parametri

N/D

Run On

Questa azione viene eseguita sull'entità Filehash.

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
[
    {
        "EntityResult":
        {
            "Full Details":
            {
              "SystemSummary": [
                    {
                        "SignatureSources": [
                            "",
                            "76CD0000 page execute and read and write",
                            "76DD0000 page execute and read and write"
                           ],
                        "Risk": "LOW",
                        "Signature": "Allocates memory within range which is reserved for system DLLs"
                    },{
                     "SignatureSources": [
                            "",
                            "wow64.pdb source: loaddll32.exe",
                            "wow64.pdbH source: loaddll32.exe",
                            "wow64cpu.pdb source: loaddll32.exe",
                            "wow64win.pdb source: loaddll32.exe",
                            "wow64win.pdbH source: loaddll32.exe"
                        ],
                        "Risk": "LOW",
                        "Signature": "Binary contains paths to debug symbols"
                    },{
                        "SignatureSources": [
                            "",
                            "clean0.winDLL@1/1@0/0"
                        ],
                        "Risk": "LOW",
                        "Signature": "Classification label"
                    }, {
                        "SignatureSources":[
                            "",
                            "More than 502 > 100 exports found"
                        ],
                     "Risk": "LOW",
                     "Signature": "PE file exports many functions"
                   }, {
                     "SignatureSources": [
                             "",
                             "Virtual size of .text is bigger than: 0x100000"
                            ],
                     "Risk": "LOW",
                     "Signature": "PE file has a big code size"
                    },{
                     "SignatureSources": [
                             "",
                             "Raw size of .text is bigger than: 0x100000 < 0x176000"
                     ],
                        "Risk": "LOW",
                        "Signature": "PE file has a big raw section"
                    }, {
                     "SignatureSources": [
                         "",
                         "Image base 0x704c0000 > 0x60000000"
                     ],
                        "Risk": "LOW",
                        "Signature": "PE file has a high image base. often used for DLLs"
                    }, {
                        "SignatureSources": [
                            "",
                            "Section: .text IMAGE_SCN_ALIGN_MASK, IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_16BYTES, IMAGE_SCN_ALIGN_64BYTES, IMAGE_SCN_ALIGN_1BYTES, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_ALIGN_2048BYTES, IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN"
                        ],
                        "Risk": "LOW",
                        "Signature": "PE file has an executable .text section and no other executable section"
                    }, {
                      "SignatureSources": [
                          "", "HKEY_USERS\\\\Software\\\\Policies\\\\Microsoft\\\\Windows\\\\Safer\\\\CodeIdentifiers"
                      ],
                        "Risk": "LOW",
                        "Signature": "Reads software policies"
                    },{
                      "SignatureSources": [
                          "",
                          "File size 1710606 > 1048576"
                      ],
                        "Risk": "LOW",
                        "Signature": "Submission file is bigger than most known malware samples"
                    },{
                       "SignatureSources": [
                           "",
                           "no activity detected"
                       ],
                        "Risk": "MODERATE",
                        "Signature": "Program does not show much activity"
                    }
                ],
                "Summary":
                {
                    "Status": "COMPLETED",
                    "Category": "EXECS",
                    "FileType": "DLL",
                    "Duration": 499618,
                    "StartTime": 1553130306
                },
                "Classification":
                {
                    "Category": "BENIGN",
                    "Type": "BENIGN",
                    "Score": 0,
                    "DetectedMalware": ""
                },
                "Persistence":[
                    {
                        "SignatureSources": [
                            "",
                            "section name: /4"
                        ],
                        "Risk": "LOW",
                        "Signature": "PE file contains sections with non-standard names"
                    }
                ],
                "FileProperties":
                {
                    "SHA1": "b0aa7eecfa6c0066504bf79efe1bc057ac61e9b8",
                    "FileSize": 1710606,
                    "RootCA": "",
                    "Issuer": "",
                    "FileType": "DLL",
                    "Sha256": "a39180232ae6a689650f5df566bb4e81b94d9d19a53363ce17d7a12fd21f78cf",
                    "DigitalCerificate": "",
                    "SSDeep": "24576:3LnYQhDtnNgQe42lcCZNj4I/MmaOdb+Y+mmY5Gc3nGkh2sQginrgGGQCTQIMGNdd:zYQlEpIE/p3nFhckZF7oU",
                    "MD5": "1803c2c0f0ec61c98b3630d7e4b1cd5d"
                }
            }
        },
        "Entity": "1803C2C0F0EC61C98B3630D7E4B1CD5D"
    }
]
Arricchimento delle entità
Nome campo di arricchimento Logica - Quando applicarla
Dettagli completi Restituisce se esiste nel risultato JSON
Approfondimenti

N/D

Ottenere le categorie di URL

Recupera informazioni su tutte le categorie di URL.

Parametri

N/D

Run On

Questa azione viene eseguita su tutte le entità.

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
[
    {
        "description": "OTHER_ADULT_MATERIAL_DESC",
        "val": 1,
        "dbCategorizedUrls": [],
        "editable": true,
        "urls": [],
        "customCategory": false,
        "id": "OTHER_ADULT_MATERIAL"
    }, {
        "description": "ADULT_THEMES_DESC",
        "val": 2,
        "dbCategorizedUrls": [],
        "editable": true,
        "urls": [],
        "customCategory": false,
        "id": "ADULT_THEMES"
    }
]
Arricchimento delle entità

N/D

Approfondimenti

N/D

Ottieni la lista consentita

Recupera un elenco di URL inclusi nella lista consentita.

Parametri

N/D

Run On

Questa azione viene eseguita su tutte le entità.

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
N/A
Arricchimento delle entità

N/D

Approfondimenti

N/D

Cerca entità

Cerca la classificazione di un URL/dominio/IP.

Parametri

N/D

Run On

Questa azione viene eseguita sulle seguenti entità:

  • URL
  • Nome host
  • Dominio
Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
[
    {
   "EntityResult": {
       "url": "markossolomon.com/f1q7qx.php",
       "urlClassificationsWithSecurityAlert": ["MALWARE_SITE"],
       "urlClassifications": []
   },
        "Entity": "HTTP://MARKOSSOLOMON.COM/F1Q7QX.PHP"
    }
]
Arricchimento delle entità
Nome campo di arricchimento Logica - Quando applicarla
url Restituisce se esiste nel risultato JSON
urlClassificationsWithSecurityAlert Restituisce se esiste nel risultato JSON
urlClassifications Restituisce se esiste nel risultato JSON
Approfondimenti

N/D

Dindin

Controlla la connettività.

Parametri

N/D

Run On

Questa azione viene eseguita su tutte le entità.

Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
N/A
Arricchimento delle entità

N/D

Approfondimenti

N/D

Rimuovi dalla blacklist

Rimuove un URL/dominio/IP dalla lista bloccata.

Input azione

Questa azione richiede i seguenti parametri:

Parametro Descrizione
IOCs

Facoltativo.

Un elenco separato da virgole di indicatori di compromissione (indirizzi IP, URL o domini) da rimuovere dalla lista bloccata, ad esempio 10.1.1.1, google.com, http://example.net.

Run On

Questa azione viene eseguita sulle seguenti entità:

  • URL
  • Nome host
  • Indirizzo IP
Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
N/A
Arricchimento delle entità

N/D

Approfondimenti

N/D

Rimuovi dalla lista consentita

Rimuove un URL/dominio/IP dalla lista consentita.

Input azione

Questa azione richiede i seguenti parametri:

Parametro Descrizione
IOCs

Facoltativo.

Un elenco separato da virgole di indicatori di compromissione (indirizzi IP, URL o domini) da rimuovere dalla lista consentita, ad esempio 10.1.1.1, google.com, http://example.net.

Run On

Questa azione viene eseguita sulle seguenti entità:

  • URL
  • Nome host
  • Indirizzo IP
Risultato script
Nome risultato script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
N/A
Arricchimento delle entità

N/D

Approfondimenti

N/D

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