Collecter les journaux Avaya Aura
Version de l'analyseur : 3.0
Ce document explique comment ingérer des journaux Avaya Aura dans Google Security Operations à l'aide de l'agent Bindplane.
Avaya Aura est une plate-forme de communications unifiées qui génère des messages syslog pour les événements de connexion/déconnexion des utilisateurs, les modifications de configuration du système et les événements de sécurité. L'analyseur extrait les champs des messages syslog à l'aide de modèles grok et les mappe au modèle de données unifié (UDM).
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps
- Windows Server 2016 ou version ultérieure, ou hôte Linux avec
systemd - Connectivité réseau entre l'agent Bindplane et le système Avaya Aura
- Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports de pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
- Accès privilégié à Avaya Aura
Obtenir le fichier d'authentification d'ingestion Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à SIEM Settings > Collection Agents (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 l'ID client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM > Profil.
Copiez et enregistrez l'ID client dans la section Organization Details (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 commande 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" /quietAttendez la fin de l'installation.
Vérifiez l'installation en exécutant la commande suivante :
sc query observiq-otel-collectorL'état du service doit être RUNNING (En cours d'exécution).
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.shAttendez la fin de l'installation.
Vérifiez l'installation en exécutant la commande suivante :
sudo systemctl status observiq-otel-collectorL'état du service doit être active (running) (Actif (en cours d'exécution)).
Ressources d'installation supplémentaires
Pour obtenir des options d'installation supplémentaires et des informations sur le dépannage, consultez le guide d'installation de l'agent Bindplane.
Configurer l'agent Bindplane pour ingérer syslog et l'envoyer à Google SecOps
Localiser le fichier de configuration
Linux :
sudo nano /etc/bindplane-agent/config.yamlWindows :
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Modifier le fichier de configuration
Remplacez l'intégralité du contenu de
config.yamlpar la configuration suivante :receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/avaya_aura: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: AVAYA_AURA raw_log_field: body service: pipelines: logs/avaya_aura_to_chronicle: receivers: - udplog exporters: - chronicle/avaya_aura
Paramètres de configuration
Remplacez les espaces réservés suivants :
Configuration du récepteur :
listen_address: adresse IP et port à écouter :0.0.0.0pour écouter sur toutes les interfaces (recommandé)- Le port
514est le port syslog standard (nécessite un accès root sous Linux ; utilisez1514pour un accès non root).
Configuration de l'exportateur :
creds_file_path: chemin d'accès complet au fichier d'authentification d'ingestion :- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: ID client copié depuis la console Google SecOpsendpoint: URL du point de terminaison régional :- États-Unis :
malachiteingestion-pa.googleapis.com - Europe:
europe-malachiteingestion-pa.googleapis.com - Asie :
asia-southeast1-malachiteingestion-pa.googleapis.com - Consultez la liste complète des points de terminaison régionaux.
- États-Unis :
Enregistrer le fichier de configuration
- Après avoir modifié le fichier, enregistrez-le :
- Linux : appuyez sur
Ctrl+O, puis surEnter, puis surCtrl+X. - Windows : cliquez sur File > Save
- Linux : appuyez sur
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-collectorVérifiez que le service est en cours d'exécution :
sudo systemctl status observiq-otel-collectorRecherchez les erreurs dans les journaux :
sudo journalctl -u observiq-otel-collector -f
Pour redémarrer l'agent Bindplane sous Windows, choisissez l'une des options suivantes :
Invite de commande ou PowerShell en tant qu'administrateur :
net stop observiq-otel-collector && net start observiq-otel-collectorConsole Services :
- Appuyez sur
Win+R, saisissezservices.msc, puis appuyez sur Entrée. - Recherchez observIQ OpenTelemetry Collector.
- Faites un clic droit et sélectionnez Restart (Redémarrer).
Vérifiez que le service est en cours d'exécution :
sc query observiq-otel-collectorRecherchez les erreurs dans les journaux :
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Appuyez sur
Configurer syslog dans Avaya Aura
- Connectez-vous à la console Avaya Aura.
- Accédez à EM > Configuration du système > Paramètres de journalisation > Syslog.
- Activez l'option SYSLOG Delivery of Logs (Diffusion des journaux via SYSLOG).
- Cliquez sur Ajouter.
- Fournissez les informations de configuration suivantes :
- Server Address (Adresse du serveur) : saisissez l'adresse IP de l'agent Bindplane.
- Port : saisissez le port d'écoute de l'agent Bindplane.
- Cliquez sur Enregistrer.
- Cliquez sur Confirmer.
- Redémarrez Avaya Aura.
Table de mappage UDM
| Champ du journal | Mappage UDM | Logique |
|---|---|---|
| data{}.@timestamp | metadata.event_timestamp | L'horodatage de l'événement est analysé à partir du champ de données à l'aide du modèle grok et attribué au champ event_timestamp dans la section metadata de l'UDM. |
| data{}.host | principal.hostname | La valeur de l'hôte est extraite du champ de données à l'aide du modèle grok et attribuée au champ hostname dans la section principal de l'UDM. |
| data{}.portal | security_result.about.resource.attribute.labels.value | La valeur du portail est extraite du champ de données à l'aide du modèle grok et attribuée comme valeur de l'étiquette Portal dans la section about.resource.attribute.labels du security_result dans l'UDM. |
| data{}.prod_log_id | metadata.product_log_id | La valeur prod_log_id est extraite du champ de données à l'aide du modèle grok et attribuée au champ product_log_id dans la section metadata de l'UDM. |
| data{}.sec_cat | security_result.category_details | La valeur sec_cat est extraite du champ de données à l'aide du modèle grok et attribuée au champ category_details dans la section security_result de l'UDM. |
| data{}.sec_desc | security_result.description | La valeur sec_desc est extraite du champ de données à l'aide du modèle grok et attribuée au champ description dans la section security_result de l'UDM. |
| data{}.severity | security_result.severity | La valeur de gravité est extraite du champ de données à l'aide du modèle grok. Si la gravité est warn, fatal ou error (sans tenir compte de la casse), elle est mappée sur HIGH dans le champ security_result.severity de l'UDM. Sinon, si la gravité est info (sans tenir compte de la casse), elle est mappée sur LOW. |
| data{}.summary | security_result.summary | La valeur du résumé est extraite du champ de données à l'aide du modèle grok et attribuée au champ summary dans la section security_result de l'UDM. |
| data{}.user_id | target.user.userid | La valeur user_id est extraite du champ de données à l'aide du modèle grok et attribuée au champ userid dans la section target.user de l'UDM. |
| extensions.auth.type | Le champ auth.type est défini sur AUTHTYPE_UNSPECIFIED si le champ event_name contient log(in|on) ou logoff (sans tenir compte de la casse), ou si le champ summary contient login ou logoff (sans tenir compte de la casse) et que le champ user_id n'est pas vide. |
|
| metadata.description | Le champ description est renseigné avec la valeur du champ desc s'il n'est pas vide. | |
| metadata.event_type | Le champ event_type est déterminé en fonction de la logique suivante : - Si le champ event_name contient log(in|on) ou si le champ summary contient login (sans tenir compte de la casse) et que le champ user_id n'est pas vide, event_type est défini sur USER_LOGIN. - Si le champ event_name contient logoff ou si le champ summary contient logoff (sans tenir compte de la casse) et que le champ user_id n'est pas vide, event_type est défini sur USER_LOGOUT. - Si le champ has_principal est true, event_type est défini sur STATUS_UPDATE. - Sinon, event_type reste GENERIC_EVENT (valeur par défaut). |
|
| metadata.log_type | Le champ log_type est codé en dur sur AVAYA_AURA. |
|
| metadata.product_event_type | Le champ product_event_type est renseigné avec la valeur du champ event_name s'il n'est pas vide. | |
| metadata.product_name | Le champ product_name est codé en dur sur AVAYA AURA. |
|
| metadata.vendor_name | Le champ vendor_name est codé en dur sur AVAYA AURA. |
|
| security_result.action | Le champ action dans la section security_result est défini en fonction de la logique suivante : - Si le champ summary contient fail ou failed (sans tenir compte de la casse), l'action est définie sur BLOCK. - Si le champ summary contient success (sans tenir compte de la casse), l'action est définie sur ALLOW. |
|
| security_result.severity_details | Le champ severity_details est renseigné avec la valeur du champ severity_details s'il n'est pas vide. | |
| timestamp.nanos | metadata.event_timestamp.nanos | La valeur nanos du champ timestamp est directement mappée sur le champ nanos dans la section event_timestamp des métadonnées de l'UDM. |
| timestamp.seconds | metadata.event_timestamp.seconds | La valeur seconds du champ timestamp est directement mappée sur le champ seconds dans la section event_timestamp des métadonnées de l'UDM. |
time |
event.idm.read_only_udm.metadata.event_timestamp |
Mappé à partir du journal des modifications |
src_ip |
event.idm.read_only_udm.principal.ip et event.idm.read_only_udm.principal.asset.ip |
Mappé à partir du journal des modifications |
src_port |
event.idm.read_only_udm.principal.port |
Mappé à partir du journal des modifications |
dst_ip |
event.idm.read_only_udm.target.ip et event.idm.read_only_udm.target.asset.ip |
Mappé à partir du journal des modifications |
dst_port |
event.idm.read_only_udm.target.port |
Mappé à partir du journal des modifications |
process_pid |
event.idm.read_only_udm.principal.process.pid |
Mappé à partir du journal des modifications |
principal_application |
event.idm.read_only_udm.principal.application |
Mappé à partir du journal des modifications |
network_protocol |
event.idm.read_only_udm.network.ip_protocol |
Mappé à partir du journal des modifications |
application_protocol_version |
event.idm.read_only_udm.network.application_protocol_version |
Mappé à partir du journal des modifications |
community_id |
event.idm.read_only_udm.network.community_id |
Mappé à partir du journal des modifications |
security_description |
event.idm.read_only_udm.security_result.description |
Mappé à partir du journal des modifications |
device_uptime |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
cmg_trap_subsystem |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
cmg_trap_onboard |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
cmg_trap_location |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
syslog_priority |
event.idm.read_only_udm.additional.fields |
Mappé à partir du journal des modifications |
Journal des modifications
Consulter le journal des modifications de cet analyseur
Vous avez encore besoin d'aide ? Obtenez des réponses auprès des membres de la communauté et des professionnels Google SecOps.