Collecter les journaux VPN SSL Array Networks
Version de l'analyseur : 1.0
Ce document explique comment ingérer les journaux VPN SSL Array Networks dans Google Security Operations à l'aide de l'agent Bindplane.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps
- Un hôte Windows 2016 ou version ultérieure, ou Linux avec
systemd - Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
- Un accès privilégié à la console de gestion ou à l'appliance VPN SSL Array Networks (série AG ou vxAG)
Obtenir les identifiants Google SecOps pour l'agent Bindplane
Pour authentifier l'agent Bindplane auprès de Google SecOps, choisissez l'une des méthodes suivantes :
- Nouveaux déploiements : utilisez l'API Chronicle (option 1).
- Anciens déploiements : continuez à utiliser le fichier d'authentification d'ingestion (option 2) jusqu'à l'arrêt de l'API d'ingestion le 20 juillet 2027.
Option 1 : Créer un compte de service pour l'API Chronicle (recommandé)
- Connectez-vous à la Google Cloud console et sélectionnez le Google Cloud projet associé à votre instance Google SecOps.
- Accédez à IAM et administration > Comptes de service.
- Cliquez sur Créer un compte de service.
- Fournissez les informations de configuration suivantes :
- Nom du compte de service : saisissez un nom pour le compte (par exemple,
bindplane-ingest). - Description du compte de service : saisissez une description (par exemple,
Bindplane agent log ingestion).
- Nom du compte de service : saisissez un nom pour le compte (par exemple,
- Cliquez sur Créer et continuer.
- Dans la section Autoriser ce compte de service à accéder au projet , cliquez sur Sélectionner un rôle , puis sélectionnez Éditeur Chronicle.
- Cliquez sur Continuer, puis sur OK.
- Cliquez sur le compte de service que vous avez créé, puis accédez à l'onglet Clés.
- Cliquez sur Ajouter une clé > Créer une clé.
- Sélectionnez JSON , puis cliquez sur Créer. Le fichier de clé est téléchargé sur votre ordinateur.
- Enregistrez le fichier de clé sous le nom
ingestion-auth.jsondans le répertoire du collecteur Bindplane (/opt/observiq-otel-collector/ingestion-auth.jsonsous Linux ouC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonsous Windows), ou mettez à jourcreds_file_pathdansconfig.yamlpour qu'il corresponde au chemin d'accès où vous l'enregistrez. - Accédez à IAM et administration > Paramètres , puis copiez le numéro de projet. Vous en aurez besoin pour la configuration de l'exportateur.
Option 2 : Télécharger le fichier d'authentification d'ingestion (ancienne version)
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM > Agents de collecte.
- Téléchargez le fichier d'authentification d'ingestion.
- Enregistrez le fichier de manière sécurisée sur le système où l'agent Bindplane sera installé.
Obtenir le numéro client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM > Profil.
- Copiez et enregistrez le numéro client dans la section Informations sur l'organisation.
Installer l'agent Bindplane
Installez l'agent Bindplane sur votre système d'exploitation Windows ou Linux en suivant les instructions ci-dessous.
Installation sous Windows
- Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
Exécutez la commande suivante :
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Installation sous Linux
- Ouvrez un terminal avec des droits root ou sudo.
Exécutez la commande suivante :
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Ressources d'installation supplémentaires
Pour obtenir d'autres options d'installation, consultez ce guide d'installation.
Configurer l'agent Bindplane pour ingérer Syslog et l'envoyer à Google SecOps
Accédez au fichier de configuration :
- Recherchez le fichier
config.yaml. Il se trouve généralement dans le répertoire/opt/observiq-otel-collector/sous Linux ou dans le répertoire d'installation sous Windows. - Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple,
nano,viou Bloc-notes).
- Recherchez le fichier
Modifiez le fichier
config.yamlcomme suit :receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <CUSTOMER_ID> endpoint: chronicle.googleapis.com # Add optional ingestion labels for better organization log_type: 'ARRAYNETWORKS_VPN' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels- Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.
- Remplacez
<CUSTOMER_ID>par le numéro client réel. - Mettez à jour
/path/to/ingestion-authentication-file.jsonavec le chemin d'accès au fichier où le fichier de clé du compte de service (option 1) a été enregistré à l'étape 1. - Remplacez
<LOCATION>par la région de votre instance Google SecOps (par exemple,us,europe, ouasia-southeast1). L'exportateur préfixechronicle.googleapis.comavec cette valeur. Pour obtenir la liste complète, consultez la section Points de terminaison régionaux. - Remplacez
<PROJECT_NUMBER>par le numéro de projet dans IAM et administration > Paramètres.
Ancien exportateur d'API d'ingestion
Si vous utilisez le fichier d'authentification d'ingestion de l'option 2, remplacez le bloc
exporterspar le code suivant. Définissezcreds_file_pathsur le chemin d'accès au fichier d'authentification d'ingestion. Si votre instance se trouve en dehors des États-Unis, remplacezmalachiteingestion-pa.googleapis.compar votre point de terminaison régional (par exemple,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <CUSTOMER_ID> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'ARRAYNETWORKS_VPN' raw_log_field: body ingestion_labels:
Redémarrer l'agent Bindplane pour appliquer les modifications
Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :
sudo systemctl restart observiq-otel-collectorPour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :
net stop observiq-otel-collector && net start observiq-otel-collector
Configurer le transfert Syslog sur le VPN SSL Array Networks
- Connectez-vous à la console de gestion du VPN SSL Array Networks (interface utilisateur Web).
- Dans le menu de navigation de gauche, cliquez sur OUTILS D'ADMINISTRATION.
- Cliquez sur Surveillance.
- Cliquez sur l'onglet Journalisation.
- Cliquez sur le sous-onglet Serveurs Syslog.
- Dans la section CONFIGURATION DU SERVEUR SYSLOG DISTANT, cliquez sur Ajouter une entrée de serveur.
- Fournissez les informations de configuration suivantes :
- Adresse IP de l'hôte : saisissez l'adresse IP de l'agent Bindplane.
- Port de l'hôte : saisissez le numéro de port de l'agent Bindplane (par exemple, 514).
- Protocole : sélectionnez UDP ou TCP, selon la configuration de votre agent Bindplane.
- Port source : laissez la valeur par défaut ou spécifiez-la si votre configuration réseau l'exige.
- Niveau : sélectionnez le niveau de gravité minimal à transférer (par exemple, "Informations", "Avertissement", "Erreur").
- Cliquez sur Ajouter ou Enregistrer pour appliquer la configuration.
Cliquez sur Enregistrer la configuration en haut de la page pour conserver les modifications.
Tableau de mappage UDM
| Champ du journal | Mappage UDM | Logique |
|---|---|---|
clientip |
principal.ip |
Adresse IP du client extraite du champ clientip dans le message de journal brut. |
column1 |
principal.ip |
Adresse IP extraite de column1 dans le journal brut. |
column1 |
principal.asset.ip |
Adresse IP extraite de column1 dans le journal brut. |
column3 |
network.received_bytes |
Nombre d'octets reçus, converti en entier non signé. |
column4 |
network.http.method |
Méthode HTTP extraite de column4 dans le journal brut. |
column7 |
target.ip |
Adresse IP cible extraite de column7 dans le journal brut. |
dport |
target.port |
Port de destination, converti en entier. |
dst |
target.ip |
Adresse IP de destination. |
dst |
target.asset.ip |
Adresse IP de destination. |
hostname |
principal.hostname |
Nom d'hôte extrait du champ hostname dans le message de journal brut. |
hostname |
principal.asset.hostname |
Nom d'hôte extrait du champ hostname dans le message de journal brut. |
http_method |
network.http.method |
Méthode HTTP extraite du message de journal brut. |
id |
principal.application |
ID application du journal brut. |
mac |
principal.mac |
Adresse MAC extraite du champ mac dans le message de journal brut. |
msg |
metadata.product_event_type |
Champ de message du journal brut, utilisé comme type d'événement de produit. Également utilisé pour security_result.description après suppression des barres obliques inverses et des guillemets. |
product_name |
metadata.product_name |
Nom du produit extrait du message de journal brut. |
prxy_ip |
intermediary.ip |
Adresse IP du proxy. |
prxy_port |
intermediary.port |
Port du proxy, converti en entier. |
response_code |
network.http.response_code |
Code de réponse HTTP, converti en entier. |
security_result.action |
security_result.action |
Déterminé par la logique de l'analyseur en fonction de la valeur de column2. "BLOCK" si column2 contient "TCP_MISS", "UNKNOWN_ACTION" sinon. |
security_result.description |
security_result.description |
Champ de message du journal brut, après suppression des barres obliques inverses et des guillemets. |
sport |
principal.port |
Port source, converti en entier. |
src |
principal.ip |
Adresse IP source. |
src |
principal.asset.ip |
Adresse IP source. |
target_hostname |
target.hostname |
Nom d'hôte cible extrait du message de journal brut. |
timestamp |
metadata.event_timestamp |
Code temporel extrait du message de journal brut et analysé dans un objet de code temporel. |
uri |
target.url |
Partie de l'URL cible. Combiné avec uri_param pour former l'URL complète. |
uri_param |
target.url |
Partie de l'URL cible. Combiné avec uri pour former l'URL complète. |
user |
target.user.userid |
Nom d'utilisateur extrait du message de journal brut. |
user_agent_string |
network.http.user_agent |
Chaîne de l'agent utilisateur extraite du message de journal brut. |
vpn |
target.user.group_identifiers |
Nom du VPN extrait du message de journal brut. |
metadata.event_type |
metadata.event_type |
Déterminé par la logique de l'analyseur en fonction d'une combinaison de champs tels que has_principal, has_target, has_http_value et user. Peut être "NETWORK_HTTP", "NETWORK_CONNECTION", "STATUS_UPDATE", "USER_UNCATEGORIZED" ou "GENERIC_EVENT". |
network.ip_protocol |
network.ip_protocol |
Défini sur "TCP" si le message contient "TCP". |
Journal des modifications
Consulter le journal des modifications de cet analyseur
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.