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 le iscrizioni 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 località associati al traffico bloccato.

  • Sincronizza le policy di sicurezza: implementa istantaneamente 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 l'ambiente Zscaler soddisfi i seguenti requisiti:

  • Metodo di autenticazione: determina se la tua organizzazione utilizza OAuth 2.0 o l'autenticazione basata su credenziali legacy. 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, consulta Protezione delle API ZIA con OAuth 2.0.

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

  • Autorizzazioni dell'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 di 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, OAuth 2.0 ha 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, OAuth 2.0 ha 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, OAuth 2.0 ha la precedenza.

Verify SSL

Facoltativo.

Se selezionata, l'integrazione convalida il certificato SSL durante la connessione 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 precedente.

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 precedente.

Login API Root

Facoltativo.

L'URL di base del 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 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.

Aggiungi alla lista nera

Aggiunge un URL/dominio/IP alla lista bloccata.

Input azione

Questa azione richiede i seguenti parametri:

Parametro Descrizione
IOCs

Facoltativo.

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

Esegui il

Questa azione viene eseguita sulle seguenti entità:

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

N/D

Insight

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 separato da virgole di IOC (indirizzi IP, URL o domini) da aggiungere alla lista consentita, ad esempio 10.1.1.1, google.com, http://example.net.

Esegui il

Questa azione viene eseguita sulle seguenti entità:

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

N/D

Insight

N/D

Ottieni lista bloccata

Recupera un elenco di URL inseriti nella lista nera.

Parametri

N/D

Esegui il

Questa azione viene eseguita su tutte le entità.

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

N/D

Insight

N/D

Genera report sandbox

Genera un report completo per un hash MD5 di un file analizzato dalla sandbox.

Parametri

N/D

Esegui il

Questa azione viene eseguita sull'entità Filehash.

Risultato script
Nome del risultato dello script Opzioni del 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 del campo di arricchimento Logica: quando applicarle
Dettagli completi Restituisce se esiste nel risultato JSON
Insight

N/D

Recupera le categorie di URL

Recupera informazioni su tutte le categorie di URL.

Parametri

N/D

Esegui il

Questa azione viene eseguita su tutte le entità.

Risultato script
Nome del risultato dello script Opzioni del 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

Insight

N/D

Ottieni la whitelist

Recupera un elenco di URL inclusi nella lista consentita.

Parametri

N/D

Esegui il

Questa azione viene eseguita su tutte le entità.

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

N/D

Insight

N/D

Cerca entità

Cerca la categorizzazione di un URL/dominio/IP.

Parametri

N/D

Esegui il

Questa azione viene eseguita sulle seguenti entità:

  • URL
  • Nome host
  • Dominio
Risultato script
Nome del risultato dello script Opzioni del 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 del campo di arricchimento Logica: quando applicarle
url Restituisce se esiste nel risultato JSON
urlClassificationsWithSecurityAlert Restituisce se esiste nel risultato JSON
urlClassifications Restituisce se esiste nel risultato JSON
Insight

N/D

Dindin

Controlla la connettività.

Parametri

N/D

Esegui il

Questa azione viene eseguita su tutte le entità.

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

N/D

Insight

N/D

Rimuovi dalla lista bloccati

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 IOC (indirizzi IP, URL o domini) da rimuovere dalla lista bloccata, ad esempio 10.1.1.1, google.com, http://example.net.

Esegui il

Questa azione viene eseguita sulle seguenti entità:

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

N/D

Insight

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 IOC (indirizzi IP, URL o domini) da rimuovere dalla lista consentita, ad esempio 10.1.1.1, google.com, http://example.net.

Esegui il

Questa azione viene eseguita sulle seguenti entità:

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

N/D

Insight

N/D

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