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 standardisant 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 clé-valeur et de logique conditionnelle pour mapper les champs pertinents sur le modèle de données unifié (UDM), puis catégoriser chaque événement en fonction d'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 l'application 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 appareil 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 le numéro client Google SecOps

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

Installer l'agent Bindplane

Installation de Windows

  1. Ouvrez l'invite de commande 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 des 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
    

Autres ressources d'installation

Configurer l'agent Bindplane pour qu'il ingère les journaux Syslog et les envoie à 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 (nano, vi ou Bloc-notes, par exemple).
  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 dans votre infrastructure si nécessaire.

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

  5. Remplacez /path/to/ingestion-authentication-file.json par le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification d'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 du gestionnaire de règles ClearPass.
  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 informations suivantes :
    • Adresse de l'hôte: saisissez l'adresse IP de 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 des 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 de la section É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 de Bindplane.
  4. Dans la liste Modèle d'exportation, lorsque vous sélectionnez les modèles d'exportation Session ou Informations, l'onglet Filtres et colonnes est activé. Procédez comme suit :
    • Cliquez sur l'onglet Filtres et colonnes.
    • Filtre de données: assurez-vous que la valeur par défaut Toutes les requêtes est sélectionnée.
    • Sélection de colonnes: sélectionnez le groupe de champs prédéfini en fonction du tableau dans Exporter les éléments du modèle.
    • Colonnes sélectionnées: vérifiez que les champs renseignés automatiquement correspondent au tableau dans Exporter les éléments du modèle.
    • Cliquez sur l'onglet Résumé.
    • 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 Filtres et colonnes n'est pas activé. Accédez à l'onglet Résumé, puis cliquez sur Enregistrer.
  6. Répétez la procédure 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 de la section Récapitulatif des éléments du modèle d'exportation.

Exporter les éléments du 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. Veillez à créer des modèles de filtres d'exportation syslog exactement comme indiqué dans le tableau, y compris le nom du filtre, qui est sensible à la casse.

Nom du filtre d'exportation Syslog (sensible à la casse) Modèle d'exportation 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 Authentifications Radius échouées 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 Traçabilité 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 Authentifications WEBAUTH échouées 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 de l'application 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 Inscription d'intégration 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'intégration 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 de Clearpass CppmConfigAudit.Name
CppmConfigAudit.Action
CppmConfigAudit.Category
CppmConfigAudit.Updated-By
CppmConfigAudit.Updated-At
ACPPM_possummary Journaux d'insight Résumé 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ésumé de la stratégie de pare-feu 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ésumé de la stratégie antivirus 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ésumé 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ésumé de la posture 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 Authentifications échouées 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 Traçabilité 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 Tacacs+ Accounting 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

Tableau 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é par 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 "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 de pipe. Si le champ "Description" contient "User", "Address" et "Role", il est analysé en tant que paires clé-valeur et mappé sur les champs UDM correspondants. Si le champ "Description" contient "Connexion impossible avec", le nom d'hôte cible est extrait et mappé sur "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 "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 "entreprise".
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é par 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 "durée de disponibilité".
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 divers champs de journal et de la logique de l'analyseur. Pour en savoir plus, consultez le code de l'analyseur.
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".

Modifications

2024-09-12

Amélioration :

  • Possibilité d'analyser le nouveau format des journaux SYSLOG et JSON.

2024-08-08

Amélioration :

  • Mappage de Acct-NAS-IP-Address sur principal.ip.
  • Mappage de Acct-Username sur principal.user.userid.
  • Mappage de Acct-Calling-Station-Id sur principal.user.product_object_id.

2024-05-05

Amélioration :

  • Gestion de l'analyse des journaux au format SYSLOG.
  • Mappage de prin_port sur principal.port.
  • Mappage de agent_ip sur principal.ip et principal.asset.ip.
  • Mappage de descr et eventDescription sur metadata.description.
  • Mappage de version sur metadata.product_version.
  • specificTrap_name, uptime, enterprise, generic_num, specificTrap_num et community ont été mappés sur additional.fields.

2024-01-11

Amélioration :

  • Mappage de Common.NAS-IP-Address sur target.ip.
  • Common.Service, Common.Enforcement-Profiles et Common.Login-Status ont été mappés sur security_result.detection_fields.

2022-08-18

Amélioration :

  • Gérer les journaux abandonnés au format CEF et les journaux non analysés pour améliorer le taux d'analyse.
  • Mappage de metadata.event_type sur STATUS_UPDATE lorsque principal.hostname/principal.ip n'est pas nul, sinon mappage sur GENERIC_EVENT.

2022-07-08

Amélioration :

  • Mise à jour de la mise en correspondance de _target_user_groupid de target.user.groupid à target.user.group_identifiers.
  • Mappage modifié pour Common.Roles de principal.user.groupid à principal.user.group_identifiers.

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