Collecter les journaux Aruba ClearPass

Compatible avec :

Ce document explique comment collecter les journaux Aruba ClearPass à l'aide de Bindplane. L'analyseur tente de nettoyer et de structurer les journaux entrants en supprimant les champs superflus et en normalisant le format des messages. Ensuite, selon que le journal suit le format CEF ou une structure différente, le code utilise une combinaison de modèles grok, d'extractions de paires clé-valeur et de logique conditionnelle pour mapper les champs pertinents au modèle de données unifié (UDM), en classant finalement chaque événement dans un type d'événement de sécurité spécifique.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google Security Operations.
  • Assurez-vous d'utiliser Windows 2016 ou une version ultérieure, ou un hôte Linux avec systemd.
  • Si vous exécutez le programme derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts.
  • Assurez-vous de disposer d'un accès privilégié à un Aruba ClearPass.

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Agents de collecte.
  3. Téléchargez le fichier d'authentification d'ingestion. Enregistrez le fichier de manière sécurisée sur le système sur lequel Bindplane sera installé.

Obtenir l'ID client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM> Profil.
  3. Copiez et enregistrez le numéro client de la section Informations sur l'organisation.

Installer l'agent Bindplane

Installation de fenêtres

  1. Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
  2. Exécutez la commande suivante :

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Installation de Linux

  1. Ouvrez un terminal avec les droits root ou sudo.
  2. 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

Configurer l'agent Bindplane pour ingérer Syslog et l'envoyer à Google SecOps

  1. Accédez au fichier de configuration :

    1. Recherchez le fichier config.yaml. En règle générale, il se trouve dans le répertoire /etc/bindplane-agent/ sous Linux ou dans le répertoire d'installation sous Windows.
    2. Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple, nano, vi ou le Bloc-notes).
  2. Modifiez le fichier config.yaml comme suit :

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/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
            ingestion_labels:
                log_type: CLEARPASS
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.

  4. Remplacez <customer_id> par le numéro client réel.

  5. Mettez à jour /path/to/ingestion-authentication-file.json en indiquant le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification pour l'ingestion Google SecOps.

Redémarrez l'agent Bindplane pour appliquer les modifications.

  • Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :

    sudo systemctl restart bindplane-agent
    
  • Pour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurer le serveur syslog Aruba ClearPass

  1. Connectez-vous à la console ClearPass Policy Manager.
  2. Sélectionnez Administration > Serveurs externes > Cibles Syslog.
  3. Cliquez sur Ajouter.
  4. Dans la fenêtre Ajouter une cible syslog qui s'affiche, spécifiez les détails suivants :
    • Adresse de l'hôte : saisissez l'adresse IP Bindplane.
    • Port du serveur : saisissez le numéro de port Bindplane.
    • Protocole : sélectionnez UDP (vous pouvez également sélectionner TCP, en fonction de votre configuration Bindplane).
  5. Cliquez sur Enregistrer.

Configurer les filtres d'exportation syslog

  1. Accédez à Administration > Serveurs externes > Filtres d'exportation Syslog.
  2. Cliquez sur Ajouter.
  3. Dans la fenêtre Ajouter des filtres Syslog qui s'affiche, spécifiez les éléments suivants dans l'onglet Général :
    • Nom : saisissez le nom du filtre d'exportation syslog en fonction du tableau dans Éléments du modèle d'exportation.
    • Modèle d'exportation : sélectionnez le modèle d'exportation approprié en fonction du tableau dans Éléments du modèle d'exportation.
    • Type de format d'événement à exporter : sélectionnez Standard.
    • Serveurs Syslog : sélectionnez l'adresse IP Bindplane.
  4. Dans la liste Exporter le modèle, lorsque vous sélectionnez les modèles d'exportation Session ou Insight, l'onglet Filtre et colonnes est activé. Procédez comme suit :
    • Cliquez sur l'onglet Filtre et colonnes.
    • Filtre de données : assurez-vous que la valeur par défaut Toutes les demandes est sélectionnée.
    • Sélection des colonnes : sélectionnez le groupe de champs prédéfini en fonction du tableau dans Éléments du modèle d'exportation.
    • Colonnes sélectionnées : vérifiez que les champs renseignés automatiquement correspondent au tableau de la section Éléments du modèle d'exportation.
    • Cliquez sur l'onglet Récapitulatif.
    • Cliquez sur Enregistrer.
  5. Dans la liste Modèle d'exportation, lorsque vous sélectionnez les modèles d'exportation Événements système et Enregistrements d'audit, l'onglet Filtre et colonnes n'est pas activé. Accédez à l'onglet Récapitulatif, puis cliquez sur Enregistrer.
  6. Répétez les étapes pour ajouter des filtres d'exportation Syslog pour tous les modèles d'exportation Session, Insight, Enregistrements d'audit et Événements système en fonction des informations du tableau dans Récapitulatif des éléments du modèle d'exportation.

Exporter les éléments de modèle

Le tableau suivant décrit les éléments que vous devez configurer pour chaque modèle d'exportation. Les champs par défaut listés dans "Colonnes sélectionnées" sont compatibles avec l'analyse des événements. Assurez-vous que tous les champs mentionnés dans le tableau sous "Colonnes sélectionnées (par défaut)" sont présents et dans le même ordre. Assurez-vous de créer des modèles de filtres d'exportation syslog exactement comme indiqué dans le tableau, y compris le nom du filtre (sensible à la casse).

Nom du filtre d'exportation Syslog (sensible à la casse) Exporter le modèle Groupes de champs prédéfinis Colonnes sélectionnées (par défaut)
ACPPM_radauth Journaux d'insight Authentifications Radius Auth.Username
Auth.Host-MAC-Address
Auth.Protocol
Auth.NAS-IP-Address
CppmNode.CPPM-Node
Auth.Login-Status
Auth.Service
Auth.Source
Auth.Roles
Auth.Enforcement-Profiles
ACPPM_radfailedauth Journaux d'insight Échecs d'authentification Radius Auth.Username
Auth.Host-MAC-Address
Auth.NAS-IP-Address
CppmNode.CPPM-Node
Auth.Service
CppmErrorCode.Error-Code-Details
CppmAlert.Alerts
ACPPM_radacct Journaux d'insight Comptabilité RADIUS Radius.Username
Radius.Calling-Station-Id
Radius.Framed-IP-Address
Radius.NAS-IP-Address
Radius.Start-Time
Radius.End-Time
Radius.Duration
Radius.Input-bytes
Radius.Output-bytes
ACPPM_tacauth Journaux d'insight Authentification tacacs tacacs.Username
tacacs.Remote-Address
tacacs.Request-Type
tacacs.NAS-IP-Address
tacacs.Service
tacacs.Auth-Source
tacacs.Roles
tacacs.Enforcement-Profiles
tacacs.Privilege-Level
ACPPM_tacfailedauth Journaux d'insight Échec de l'authentification TACACS tacacs.Username
tacacs.Remote-Address
tacacs.Request-Type
tacacs.NAS-IP-Address
tacacs.Service
CppmErrorCode.Error-Code-Details
CppmAlert.Alerts
ACPPM_webauth Journaux d'insight WEBAUTH Auth.Username
Auth.Host-MAC-Address
Auth.Host-IP-Address
Auth.Protocol
Auth.System-Posture-Token
CppmNode.CPPM-Node
Auth.Login-Status
Auth.Service
Auth.Source
Auth.Roles
Auth.Enforcement-Profiles
ACPPM_webfailedauth Journaux d'insight Échecs d'authentification WEBAUTH Auth.Username
Auth.Host-MAC-Address
Auth.Host-IP-Address
Auth.Protocol
Auth.System-Posture-Token
CppmNode.CPPM-Node
Auth.Login-Status
Auth.Service
CppmErrorCode.Error-Code-Details
CppmAlert.Alerts
ACPPM_appauth Journaux d'insight Authentification des applications Auth.Username
Auth.Host-IP-Address
Auth.Protocol
CppmNode.CPPM-Node
Auth.Login-Status
Auth.Service
Auth.Source
Auth.Roles
Auth.Enforcement-Profiles
ACPPM_failedappauth Journaux d'insight Échec de l'authentification de l'application Auth.Username
Auth.Host-IP-Address
Auth.Protocol
CppmNode.CPPM-Node
Auth.Login-Status
Auth.Service
CppmErrorCode.Error-Code-Details
CppmAlert.Alerts
ACPPM_endpoints Journaux d'insight Points de terminaison Endpoint.MAC-Address
Endpoint.MAC-Vendor
Endpoint.IP-Address
Endpoint.Username
Endpoint.Device-Category
Endpoint.Device-Family
Endpoint.Device-Name
Endpoint.Conflict
Endpoint.Status
Endpoint.Added-At
Endpoint.Updated-At
ACPPM_cpguest Journaux d'insight Clearpass Guest Guest.Username
Guest.MAC-Address
Guest.Visitor-Name
Guest.Visitor-Company
Guest.Role-Name
Guest.Enabled
Guest.Created-At
Guest.Starts-At
Guest.Expires-At
ACPPM_onbenroll Journaux d'insight Enregistrement à bord OnboardEnrollment.Username
OnboardEnrollment.Device-Name
OnboardEnrollment.MAC-Address
OnboardEnrollment.Device-Product
OnboardEnrollment.Device-Version
OnboardEnrollment.Added-At
OnboardEnrollment.Updated-At
ACPPM_onbcert Journaux d'insight Certificat d'embarquement OnboardCert.Username
OnboardCert.Mac-Address
OnboardCert.Subject
OnboardCert.Issuer
OnboardCert.Valid-From
OnboardCert.Valid-To
OnboardCert.Revoked-At
ACPPM_onboscp Journaux d'insight Intégrer OCSP OnboardOCSP.Remote-Address
OnboardOCSP.Response-Status-Name
OnboardOCSP.Timestamp
ACPPM_cpsysevent Journaux d'insight Événements système Clearpass CppmNode.CPPM-Node
CppmSystemEvent.Source
CppmSystemEvent.Level
CppmSystemEvent.Category
CppmSystemEvent.Action
CppmSystemEvent.Timestamp
ACPPM_cpconfaudit Journaux d'insight Audit de configuration Clearpass CppmConfigAudit.Name
CppmConfigAudit.Action
CppmConfigAudit.Category
CppmConfigAudit.Updated-By
CppmConfigAudit.Updated-At
ACPPM_possummary Journaux d'insight Récapitulatif de la stratégie Endpoint.MAC-Address
Endpoint.IP-Address
Endpoint.Hostname
Endpoint.Usermame
Endpoint.System-Agent-Type
Endpoint.System-Agent-Version
Endpoint.System-Client-OS
Endpoint.System-Posture-Token
Endpoint.Posture-Healthy
Endpoint.Posture-Unhealthy
ACPPM_posfwsummary Journaux d'insight Récapitulatif du pare-feu de posture Endpoint.MAC-Address
Endpoint.IP-Address
Endpoint.Hostname
Endpoint.Usermame
Endpoint.System-Agent-Type
Endpoint.System-Agent-Version
Endpoint.System-Client-OS
Endpoint.System-Posture-Token
Endpoint.Firewall-APT
Endpoint.Firewall-Input
Endpoint.Firewall-Output
ACPPM_poavsummary Journaux d'insight Récapitulatif de l'antivirus de posture Endpoint.MAC-Address
Endpoint.IP-Address
Endpoint.Hostname
Endpoint.Usermame
Endpoint.System-Agent-Type
Endpoint.System-Agent-Version
Endpoint.System-Client-OS
Endpoint.System-Posture-Token
Endpoint.Antivirus-APT
Endpoint.Antivirus-Input
Endpoint.Antivirus-Output
ACPPM_posassummary Journaux d'insight Récapitulatif de la stratégie anti-logiciels espions Endpoint.MAC-Address
Endpoint.IP-Address
Endpoint.Hostname
Endpoint.Usermame
Endpoint.System-Agent-Type
Endpoint.System-Agent-Version
Endpoint.System-Client-OS
Endpoint.System-Posture-Token
Endpoint.Antispyware-APT
Endpoint.Antispyware-Input
Endpoint.Antispyware-Output
ACPPM_posdskencrpsummary Journaux d'insight Récapitulatif de la stratégie DiskEncryption Endpoint.MAC-Address
Endpoint.IP-Address
Endpoint.Hostname
Endpoint.Usermame
Endpoint.System-Agent-Type
Endpoint.System-Agent-Version
Endpoint.System-Client-OS
Endpoint.System-Posture-Token
Endpoint.DiskEncryption-APT
Endpoint.DiskEncryption-Input
Endpoint.DiskEncryption-Output
ACPPM_loggedusers Journaux de session Utilisateurs connectés Common.Username
Common.Service
Common.Roles
Common.Host-MAC-Address
RADIUS.Acct-Framed-IP-Address
Common.NAS-IP-Address
Common.Request-Timestamp
ACPPM_failedauth Journaux de session Échecs d'authentification Common.Username
Common.Service
Common.Roles
RADIUS.Auth-Source
RADIUS.Auth-Method
Common.System-Posture-Token
Common.Enforcement-Profiles
Common.Host-MAC-Address
Common.NAS-IP-Address
Common.Error-Code
Common.Alerts
Common.Request-Timestamp
ACPPM_radacctsession Journaux de session Comptabilité RADIUS RADIUS.Acct-Username
RADIUS.Acct-NAS-IP-Address
RADIUS.Acct-NAS-Port
RADIUS.Acct-NAS-Port-Type
RADIUS.Acct-Calling-Station-Id
RADIUS.Acct-Framed-IP-Address
RADIUS.Acct-Session-Id
RADIUS.Acct-Session-Time
RADIUS.Acct-Output-Pkts
RADIUS.Acct-Input-Pkts
RADIUS.Acct-Output-Octets
RADIUS.Acct-Input.Octets
RADIUS.Acct-Service-Name
RADIUS.Acct-Timestamp
ACPPM_tacadmin Journaux de session Administration tacacs+ Common.Username
Common.Service
tacacs.Remote-Address
tacacs.Privilege.Level
Common.Request-Timestamp
ACPPM_tacacct Journaux de session Comptabilité tacacs+ Common.Username
Common.Service
tacacs.Remote-Address
tacacs.Acct-Flags
tacacs.Privilege.Level
Common.Request-Timestamp
ACPPM_webauthsession Journaux de session Authentification Web Common.Username
Common.Host-MAC-Address
WEBAUTH.Host-IP-Address
Common.Roles
Common.System-Posture-Token
Common.Enforcement-Profiles
Common.Request-Timestamp
ACPPM_guestacc Journaux de session Accès invité Common.Username
RADIUS.Auth-Method
Common.Host-MAC-Address
Common.Roles
Common.System-Posture-Token
Common.Enforcement-Profiles
Common.Request-Timestamp
ACPPM_auditrecords Enregistrements d'audit Non applicable Non applicable
ACPPM_systemevents Événements système Non applicable Non applicable

Table de mappage UDM

Champ du journal Mappage UDM Logique
Action security_result.action La valeur est mappée à partir du champ "Action" si sa valeur est "ALLOW" ou "BLOCK".
Auth.Enforcement-Profiles security_result.detection_fields.value La valeur est mappée à partir du champ "Auth.Enforcement-Profiles".
Auth.Host-MAC-Address principal.mac La valeur est mappée à partir du champ "Auth.Host-MAC-Address" après avoir été convertie au format d'adresse MAC séparée par des deux-points.
Auth.Login-Status security_result.detection_fields.value La valeur est mappée à partir du champ "Auth.Login-Status".
Auth.NAS-IP-Address target.ip La valeur est mappée à partir du champ "Auth.NAS-IP-Address".
Auth.Protocol intermediary.application La valeur est mappée à partir du champ "Auth.Protocol".
Auth.Service security_result.detection_fields.value La valeur est mappée à partir du champ "Auth.Service".
Auth.Source principal.hostname La valeur est mappée à partir du champ "Auth.Source" après suppression des caractères alphanumériques et des espaces de début.
Auth.Username principal.user.user_display_name La valeur est mappée à partir du champ "Auth.Username".
Catégorie metadata.event_type Si la valeur est "Logged in" (Connecté), le champ UDM est défini sur "USER_LOGIN". Si la valeur est "Déconnecté", le champ UDM est défini sur "USER_LOGOUT".
Common.Alerts security_result.description La valeur est mappée à partir du champ "Common.Alerts".
Common.Enforcement-Profiles security_result.detection_fields.value La valeur est mappée à partir du champ "Common.Enforcement-Profiles".
Common.Login-Status security_result.detection_fields.value La valeur est mappée à partir du champ "Common.Login-Status".
Common.NAS-IP-Address target.ip La valeur est mappée à partir du champ "Common.NAS-IP-Address".
Common.Roles principal.user.group_identifiers La valeur est mappée à partir du champ "Common.Roles".
Common.Service security_result.detection_fields.value La valeur est mappée à partir du champ "Common.Service".
Common.Username principal.user.userid La valeur est mappée à partir du champ "Common.Username".
Composant intermediary.application La valeur est mappée à partir du champ "Composant".
Description metadata.description La valeur est mappée à partir du champ "Description" après avoir remplacé les caractères de nouvelle ligne par le symbole pipe. Si le champ "Description" contient "User", "Address" et "Role", il est analysé en tant que paires clé/valeur et mappé aux champs UDM correspondants. Si le champ "Description" contient "Impossible de se connecter à", le nom d'hôte cible est extrait et mappé à "target.hostname".
EntityName principal.hostname La valeur est mappée à partir du champ "EntityName".
InterIP target.ip La valeur est mappée à partir du champ "InterIP".
Niveau security_result.severity Si la valeur est "ERROR" ou "FATAL", le champ UDM est défini sur "HIGH". Si la valeur est "WARN", le champ UDM est défini sur "MEDIUM". Si la valeur est "INFO" ou "DEBUG", le champ UDM est défini sur "LOW".
LogNumber metadata.product_log_id La valeur est mappée à partir du champ "LogNumber".
RADIUS.Acct-Framed-IP-Address principal.ip La valeur est mappée à partir du champ "RADIUS.Acct-Framed-IP-Address".
Horodatage metadata.event_timestamp La valeur est mappée à partir du champ "Code temporel" après avoir été convertie au format UTC et analysée en tant que code temporel.
Utilisateur principal.user.userid La valeur est mappée à partir du champ "Utilisateur".
agent_ip principal.ip, principal.asset.ip La valeur est mappée à partir du champ "agent_ip".
communauté additional.fields.value.string_value La valeur est mappée à partir du champ "community" (communauté).
descr metadata.description La valeur est mappée à partir du champ "descr".
entreprise additional.fields.value.string_value La valeur est mappée à partir du champ "enterprise"
eventDescription metadata.description La valeur est mappée à partir du champ "eventDescription" après suppression des guillemets.
generic_num additional.fields.value.string_value La valeur est mappée à partir du champ "generic_num".
prin_mac principal.mac La valeur est mappée à partir du champ "prin_mac" après sa conversion au format d'adresse MAC séparée par des deux-points.
prin_port principal.port La valeur est mappée à partir du champ "prin_port" et convertie en entier.
specificTrap_name additional.fields.value.string_value La valeur est mappée à partir du champ "specificTrap_name".
specificTrap_num additional.fields.value.string_value La valeur est mappée à partir du champ "specificTrap_num".
uptime additional.fields.value.string_value La valeur est mappée à partir du champ "uptime".
version metadata.product_version La valeur est mappée à partir du champ "version".
extensions.auth.type La valeur est définie sur "SSO".
metadata.event_type La valeur est déterminée en fonction de différents champs de journaux et de la logique de l'analyseur. Pour en savoir plus, consultez le code du parseur.
metadata.log_type La valeur est définie sur "CLEARPASS".
metadata.product_name La valeur est définie sur "ClearPass".
metadata.vendor_name La valeur est définie sur "ArubaNetworks".

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.