Zscaler
Ce document explique comment intégrer Zscaler à Google SecOps.
Cas d'utilisation
L'intégration Zscaler utilise les fonctionnalités Google SecOps pour prendre en charge les cas d'utilisation suivants :
Gérer le filtrage des URL : mettez à jour automatiquement les catégories d'URL et les règles de filtrage pour bloquer les domaines malveillants identifiés lors des investigations.
Automatisez la gestion du cycle de vie des utilisateurs : gérez de manière dynamique les accès utilisateur et les appartenances aux groupes dans Zscaler en fonction des niveaux de risque de sécurité.
Enrichir les alertes réseau : récupérez des informations détaillées sur les utilisateurs, les services et les lieux associés au trafic bloqué.
Synchroniser les règles de sécurité : déployez instantanément les modifications de sécurité dans votre environnement Zscaler pour répondre aux menaces actives.
Avant de commencer
Avant de configurer l'intégration dans Google SecOps, vérifiez que votre environnement Zscaler répond aux exigences suivantes :
Méthode d'authentification : déterminez si votre organisation utilise OAuth 2.0 ou l'ancienne authentification basée sur les identifiants. L'intégration utilise ces identifiants pour établir une session et récupérer un jeton temporaire pour les requêtes API :
OAuth 2.0 (recommandé) : cette méthode utilise le service ZSLogin pour la gestion centralisée des identités. Vous devez enregistrer un client OAuth 2.0 dans votre fournisseur d'identité et ajouter le serveur d'autorisation au portail d'administration ZIA. Pour en savoir plus, consultez Sécuriser les API ZIA avec OAuth 2.0.
Anciens identifiants : cette méthode utilise une clé API et des identifiants d'administrateur ZIA. Pour en savoir plus, consultez Gérer la clé API Cloud Service.
Autorisations du compte : assurez-vous que les rôles appropriés sont attribués au compte client ou administrateur :
OAuth 2.0 : nécessite un rôle API. Pour en savoir plus, consultez Ajouter des rôles d'API.
Anciennes identifiants : nécessitent un rôle d'administrateur avec les autorisations d'accès à l'API activées. Pour en savoir plus, consultez Ajouter des rôles d'administrateur.
Accès au réseau : assurez-vous que la configuration de votre réseau autorise les connexions HTTPS sortantes de votre environnement Google SecOps vers les points de terminaison de l'API Zscaler, par exemple
zsapi.{your_cloud_name}.
Paramètres d'intégration
L'intégration Zscaler nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
Api Root |
Obligatoire. URL de base de l'instance Zscaler, par exemple |
Login ID |
Facultatif. Nom d'utilisateur ou adresse e-mail associés au compte administrateur Zscaler utilisé pour l'authentification. Ce paramètre est obligatoire pour l'ancienne méthode d'authentification. Si des identifiants anciens et OAuth 2.0 sont fournis, OAuth 2.0 prévaut. |
Api Key |
Facultatif. Clé API unique générée dans le portail Zscaler pour autoriser les requêtes API. Ce paramètre est obligatoire pour l'ancienne méthode d'authentification. Si des identifiants anciens et OAuth 2.0 sont fournis, OAuth 2.0 prévaut. |
Password |
Facultatif. Mot de passe associé au compte administrateur Zscaler utilisé pour l'authentification. Ce paramètre est obligatoire pour l'ancienne méthode d'authentification. Si des identifiants anciens et OAuth 2.0 sont fournis, OAuth 2.0 prévaut. |
Verify SSL |
Facultatif. Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de la connexion au serveur Zscaler. Cette option est activée par défaut. |
Client ID |
Facultatif. Identifiant unique du client OAuth 2.0 utilisé pour l'authentification à l'aide du service ZSLogin. Ce paramètre est obligatoire pour la configuration OAuth 2.0 et est prioritaire sur l'ancienne authentification. |
Client Secret |
Facultatif. Clé secrète associée à l'ID client utilisé pour authentifier le client OAuth 2.0. Ce paramètre est obligatoire pour la configuration OAuth 2.0 et est prioritaire sur l'ancienne authentification. |
Login API Root |
Facultatif. URL de base du service ZSLogin utilisé pour la gestion centralisée des identités et des accès. Ce paramètre est obligatoire pour la configuration OAuth 2.0 et est prioritaire sur l'ancienne authentification. La valeur par défaut est |
Pour obtenir des instructions sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.
Vous pourrez apporter des modifications ultérieurement, si nécessaire. Une fois que vous avez configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour savoir comment configurer et prendre en charge plusieurs instances, consultez Prise en charge de plusieurs instances.
Actions
Pour en savoir plus sur les actions, consultez Répondre aux actions en attente depuis Votre bureau et Effectuer une action manuelle.
Ajouter à la liste noire
Ajoute une URL, un domaine ou une adresse IP à la liste de blocage.
Entrées d'action
Cette action nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
IOCs |
Facultatif. Liste d'IOC (adresses IP, URL ou domaines) à ajouter à la liste de blocage, séparés par une virgule. Par exemple, |
Exécuter sur
Cette action s'applique aux entités suivantes :
- URL
- Nom d'hôte
- Adresse IP
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
N/A
Enrichissement d'entités
N/A
Insights
N/A
Ajouter à la liste blanche
Ajoute une URL/un domaine/une adresse IP à la liste d'autorisation.
Entrées d'action
Cette action nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
IOCs |
Facultatif. Liste d'IOC (adresses IP, URL ou domaines) séparés par une virgule à ajouter à la liste d'autorisation, par exemple |
Exécuter sur
Cette action s'applique aux entités suivantes :
- URL
- Nom d'hôte
- Domaine
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
N/A
Enrichissement d'entités
N/A
Insights
N/A
Obtenir la liste noire
Obtient la liste des URL ajoutées à la liste noire.
Paramètres
N/A
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
N/A
Enrichissement d'entités
N/A
Insights
N/A
Obtenir le rapport du bac à sable
Obtenez un rapport complet pour un hachage MD5 d'un fichier analysé par Sandbox.
Paramètres
N/A
Exécuter sur
Cette action s'exécute sur l'entité Filehash.
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat 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"
}
]
Enrichissement d'entités
| Nom du champ d'enrichissement | Logique : quand l'appliquer ? |
|---|---|
| Informations détaillées | Renvoie la valeur si elle existe dans le résultat JSON. |
Insights
N/A
Obtenir les catégories d'URL
Obtient des informations sur toutes les catégories d'URL.
Paramètres
N/A
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat 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"
}
]
Enrichissement d'entités
N/A
Insights
N/A
Obtenir une liste blanche
Obtient la liste des URL autorisées.
Paramètres
N/A
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
N/A
Enrichissement d'entités
N/A
Insights
N/A
Rechercher une entité
Recherchez la catégorisation d'une URL, d'un domaine ou d'une adresse IP.
Paramètres
N/A
Exécuter sur
Cette action s'applique aux entités suivantes :
- URL
- Nom d'hôte
- Domaine
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
[
{
"EntityResult": {
"url": "markossolomon.com/f1q7qx.php",
"urlClassificationsWithSecurityAlert": ["MALWARE_SITE"],
"urlClassifications": []
},
"Entity": "HTTP://MARKOSSOLOMON.COM/F1Q7QX.PHP"
}
]
Enrichissement d'entités
| Nom du champ d'enrichissement | Logique : quand l'appliquer ? |
|---|---|
| url | Renvoie la valeur si elle existe dans le résultat JSON. |
| urlClassificationsWithSecurityAlert | Renvoie la valeur si elle existe dans le résultat JSON. |
| urlClassifications | Renvoie la valeur si elle existe dans le résultat JSON. |
Insights
N/A
Ping
Vérifiez la connectivité.
Paramètres
N/A
Exécuter sur
Cette action s'exécute sur toutes les entités.
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
N/A
Enrichissement d'entités
N/A
Insights
N/A
Supprimer de la liste noire
Supprime une URL/un domaine/une adresse IP de la liste de blocage.
Entrées d'action
Cette action nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
IOCs |
Facultatif. Liste d'IOC (adresses IP, URL ou domaines) à supprimer de la liste de blocage, séparés par une virgule (par exemple, |
Exécuter sur
Cette action s'applique aux entités suivantes :
- URL
- Nom d'hôte
- Adresse IP
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
N/A
Enrichissement d'entités
N/A
Insights
N/A
Supprimer de la liste blanche
Supprime une URL/un domaine/une adresse IP de la liste d'autorisation.
Entrées d'action
Cette action nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
IOCs |
Facultatif. Liste d'IOC (adresses IP, URL ou domaines) séparés par une virgule à supprimer de la liste d'autorisation, par exemple |
Exécuter sur
Cette action s'applique aux entités suivantes :
- URL
- Nom d'hôte
- Adresse IP
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
N/A
Enrichissement d'entités
N/A
Insights
N/A
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.