Recopila registros de Aruba ClearPass

Compatible con:

En este documento, se explica cómo recopilar registros de Aruba ClearPass con Bindplane. El analizador intenta limpiar y estructurar los registros entrantes quitando campos innecesarios y estandarizando el formato de los mensajes. Luego, según si el registro sigue el formato CEF o una estructura diferente, el código usa una combinación de patrones grok, extracciones de par clave-valor y lógica condicional para asignar campos relevantes al modelo de datos unificado (UDM) y, en última instancia, categorizar cada evento en un tipo de evento de seguridad específico.

Antes de comenzar

  • Asegúrate de tener una instancia de Google Security Operations.
  • Asegúrate de usar Windows 2016 o una versión posterior, o un host de Linux con systemd.
  • Si se ejecuta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.
  • Asegúrate de tener acceso con privilegios a un Aruba ClearPass.

Obtén el archivo de autenticación de transferencia de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recopilación.
  3. Descarga el archivo de autenticación de transferencia. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.

Obtén el ID de cliente de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Perfil.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Instala el agente de Bindplane

Instalación de Windows

  1. Abre el símbolo del sistema o PowerShell como administrador.
  2. Ejecuta el siguiente comando:

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

Instalación de Linux

  1. Abre una terminal con privilegios de raíz o sudo.
  2. Ejecuta el siguiente comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Recursos de instalación adicionales

Configura el agente de Bindplane para transferir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    1. Ubica el archivo config.yaml. Por lo general, se encuentra en el directorio /etc/bindplane-agent/ en Linux o en el directorio de instalación en Windows.
    2. Abre el archivo con un editor de texto (por ejemplo, nano, vi o Bloc de notas).
  2. Edita el archivo config.yaml de la siguiente manera:

    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. Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.

  4. Reemplaza <customer_id> por el ID de cliente real.

  5. Actualiza /path/to/ingestion-authentication-file.json a la ruta de acceso en la que se guardó el archivo de autenticación en la sección Obtén el archivo de autenticación de transferencia de Google SecOps.

Reinicia el agente de Bindplane para aplicar los cambios

  • Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar el agente de Bindplane en Windows, puedes usar la consola Services o ingresar el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configura el servidor syslog de Aruba ClearPass

  1. Accede a la consola del Administrador de políticas de ClearPass.
  2. Selecciona Administración > Servidores externos > Destinos de Syslog.
  3. Haz clic en Agregar.
  4. En la ventana Add syslog target que aparece, especifica los siguientes detalles:
    • Dirección del host: Ingresa la dirección IP de Bindplane.
    • Puerto del servidor: Ingresa el número de puerto de Bindplane.
    • Protocolo: Selecciona UDP (también puedes seleccionar TCP, según la configuración de Bindplane).
  5. Haz clic en Guardar.

Configura los filtros de exportación de syslog

  1. Ve a Administración > Servidores externos > Filtros de exportación de Syslog.
  2. Haz clic en Agregar.
  3. En la ventana Agregar filtros de Syslog que aparece, especifica lo siguiente en la pestaña General:
  4. En la lista Exportar plantilla, cuando seleccionas las plantillas de exportación Sesión o Estadísticas, se habilita la pestaña Filtros y columnas. Completa los siguientes pasos:
    • Haz clic en la pestaña Filtros y columnas.
    • Filtro de datos: Asegúrate de que esté seleccionado el valor predeterminado Todas las solicitudes.
    • Selección de columnas: Selecciona el grupo de campos predefinido según la tabla en Exportar elementos de plantilla.
    • Columnas seleccionadas: Verifica que los campos propagados automáticamente coincidan con la tabla en Exportar elementos de plantilla.
    • Haz clic en la pestaña Resumen.
    • Haz clic en Guardar.
  5. En la lista Exportar plantilla, cuando seleccionas las plantillas de exportación Eventos del sistema y Registros de auditoría, la pestaña Filtros y columnas no está habilitada. Ve a la pestaña Resumen y haz clic en Guardar.
  6. Repite los pasos para agregar filtros de exportación de syslog para todas las plantillas de exportación de Sesión, Estadísticas, Registros de auditoría y Eventos del sistema según los detalles de la tabla en Resumen de los elementos de la plantilla de exportación.

Cómo exportar elementos de plantilla

En la siguiente tabla, se describen los elementos que debes configurar para cada plantilla de exportación. Los campos predeterminados que se enumeran en Columnas seleccionadas son compatibles con el análisis de eventos. Asegúrate de que todos los campos que se mencionan en la tabla de Columnas seleccionadas (predeterminada) estén presentes y en el mismo orden. Asegúrate de crear plantillas de filtros de exportación de syslog exactamente como se indica en la tabla, incluido el nombre del filtro en mayúsculas y minúsculas.

Nombre del filtro de exportación de Syslog (distingue mayúsculas de minúsculas) Plantilla de exportación Grupos de campos predefinidos Columnas seleccionadas (predeterminada)
ACPPM_radauth Registros de estadísticas Autenticaciones de 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 Registros de estadísticas Autenticaciones fallidas de Radius Auth.Username
Auth.Host-MAC-Address
Auth.NAS-IP-Address
CppmNode.CPPM-Node
Auth.Service
CppmErrorCode.Error-Code-Details
CppmAlert.Alerts
ACPPM_radacct Registros de estadísticas Contabilidad de 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 Registros de estadísticas Autenticación de 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 Registros de estadísticas Autenticación fallida de tacacs tacacs.Username
tacacs.Remote-Address
tacacs.Request-Type
tacacs.NAS-IP-Address
tacacs.Service
CppmErrorCode.Error-Code-Details
CppmAlert.Alerts
ACPPM_webauth Registros de estadísticas 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 Registros de estadísticas Autenticaciones fallidas de 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 Registros de estadísticas Autenticación de aplicaciones 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 Registros de estadísticas Autenticación de la aplicación fallida Auth.Username
Auth.Host-IP-Address
Auth.Protocol
CppmNode.CPPM-Node
Auth.Login-Status
Auth.Service
CppmErrorCode.Error-Code-Details
CppmAlert.Alerts
ACPPM_endpoints Registros de estadísticas Extremos 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 Registros de estadísticas Invitado de Clearpass 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 Registros de estadísticas Inscripción integrada OnboardEnrollment.Username
OnboardEnrollment.Device-Name
OnboardEnrollment.MAC-Address
OnboardEnrollment.Device-Product
OnboardEnrollment.Device-Version
OnboardEnrollment.Added-At
OnboardEnrollment.Updated-At
ACPPM_onbcert Registros de estadísticas Certificado de integración OnboardCert.Username
OnboardCert.Mac-Address
OnboardCert.Subject
OnboardCert.Issuer
OnboardCert.Valid-From
OnboardCert.Valid-To
OnboardCert.Revoked-At
ACPPM_onboscp Registros de estadísticas OCSP integrado OnboardOCSP.Remote-Address
OnboardOCSP.Response-Status-Name
OnboardOCSP.Timestamp
ACPPM_cpsysevent Registros de estadísticas Eventos del sistema de Clearpass CppmNode.CPPM-Node
CppmSystemEvent.Source
CppmSystemEvent.Level
CppmSystemEvent.Category
CppmSystemEvent.Action
CppmSystemEvent.Timestamp
ACPPM_cpconfaudit Registros de estadísticas Auditoría de configuración de Clearpass CppmConfigAudit.Name
CppmConfigAudit.Action
CppmConfigAudit.Category
CppmConfigAudit.Updated-By
CppmConfigAudit.Updated-At
ACPPM_possummary Registros de estadísticas Resumen de la postura 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 Registros de estadísticas Resumen del firewall de postura 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 Registros de estadísticas Resumen del antivirus de postura 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 Registros de estadísticas Resumen de la postura de software espía 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 Registros de estadísticas Resumen de DiskEncryption de la postura 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 Registros de sesión Usuarios que accedieron Common.Username
Common.Service
Common.Roles
Common.Host-MAC-Address
RADIUS.Acct-Framed-IP-Address
Common.NAS-IP-Address
Common.Request-Timestamp
ACPPM_failedauth Registros de sesión Autenticaciones fallidas 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 Registros de sesión Contabilidad de 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 Registros de sesión Administración de TACACS+ Common.Username
Common.Service
tacacs.Remote-Address
tacacs.Privilege.Level
Common.Request-Timestamp
ACPPM_tacacct Registros de sesión Contabilidad de TACACS+ Common.Username
Common.Service
tacacs.Remote-Address
tacacs.Acct-Flags
tacacs.Privilege.Level
Common.Request-Timestamp
ACPPM_webauthsession Registros de sesión Autenticación 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 Registros de sesión Acceso de invitados Common.Username
RADIUS.Auth-Method
Common.Host-MAC-Address
Common.Roles
Common.System-Posture-Token
Common.Enforcement-Profiles
Common.Request-Timestamp
ACPPM_auditrecords Registros de auditoría No aplicable No aplicable
ACPPM_systemevents Eventos del sistema No aplicable No aplicable

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
Acción security_result.action El valor se asigna desde el campo "Action" si su valor es "ALLOW" o "BLOCK".
Auth.Enforcement-Profiles security_result.detection_fields.value El valor se asigna desde el campo "Auth.Enforcement-Profiles".
Auth.Host-MAC-Address principal.mac El valor se asigna desde el campo "Auth.Host-MAC-Address" después de convertirlo al formato de dirección MAC separada por dos puntos.
Auth.Login-Status security_result.detection_fields.value El valor se asigna desde el campo "Auth.Login-Status".
Auth.NAS-IP-Address target.ip El valor se asigna desde el campo "Auth.NAS-IP-Address".
Auth.Protocol intermediary.application El valor se asigna desde el campo "Auth.Protocol".
Auth.Service security_result.detection_fields.value El valor se asigna desde el campo "Auth.Service".
Auth.Source principal.hostname El valor se asigna desde el campo "Auth.Source" después de quitar los espacios y los caracteres alfanuméricos iniciales.
Auth.Username principal.user.user_display_name El valor se asigna desde el campo "Auth.Username".
Categoría metadata.event_type Si el valor es "Accedió", el campo UDM se establece en "USER_LOGIN". Si el valor es "Salió de la cuenta", el campo UDM se establece en "USER_LOGOUT".
Common.Alerts security_result.description El valor se asigna desde el campo "Common.Alerts".
Common.Enforcement-Profiles security_result.detection_fields.value El valor se asigna desde el campo "Common.Enforcement-Profiles".
Common.Login-Status security_result.detection_fields.value El valor se asigna desde el campo "Common.Login-Status".
Common.NAS-IP-Address target.ip El valor se asigna desde el campo "Common.NAS-IP-Address".
Common.Roles principal.user.group_identifiers El valor se asigna desde el campo "Common.Roles".
Common.Service security_result.detection_fields.value El valor se asigna desde el campo "Common.Service".
Common.Username principal.user.userid El valor se asigna desde el campo "Common.Username".
Componente intermediary.application El valor se asigna desde el campo "Component".
Descripción metadata.description El valor se asigna desde el campo "Descripción" después de reemplazar los caracteres de línea nueva por el símbolo de barra. Si el campo "Description" contiene "User", "Address" y "Role", se analiza como pares clave-valor y se asigna a los campos de UDM correspondientes. Si el campo "Description" contiene "Unable connection with", se extrae el nombre de host de destino y se asigna a "target.hostname".
EntityName principal.hostname El valor se asigna desde el campo "EntityName".
InterIP target.ip El valor se asigna desde el campo "InterIP".
Nivel security_result.severity Si el valor es "ERROR" o "FATAL", el campo de la UDM se establece en "HIGH". Si el valor es "WARN", el campo UDM se establece en "MEDIUM". Si el valor es "INFO" o "DEBUG", el campo de la AUA se establece en "LOW".
LogNumber metadata.product_log_id El valor se asigna desde el campo "LogNumber".
RADIUS.Acct-Framed-IP-Address principal.ip El valor se asigna desde el campo "RADIUS.Acct-Framed-IP-Address".
Marca de tiempo metadata.event_timestamp El valor se asigna desde el campo "Timestamp" después de convertirlo a UTC y analizarlo como una marca de tiempo.
Usuario principal.user.userid El valor se asigna desde el campo "Usuario"
agent_ip principal.ip, principal.asset.ip El valor se asigna desde el campo "agent_ip".
comunidad additional.fields.value.string_value El valor se asigna desde el campo "community"
descr metadata.description El valor se asigna desde el campo "descr"
empresa additional.fields.value.string_value El valor se asigna desde el campo "enterprise"
eventDescription metadata.description El valor se asigna desde el campo "eventDescription" después de quitar las comillas.
generic_num additional.fields.value.string_value El valor se asigna desde el campo "generic_num".
prin_mac principal.mac El valor se asigna desde el campo "prin_mac" después de convertirlo al formato de dirección MAC separada por dos puntos.
prin_port principal.port El valor se asigna del campo "prin_port" y se convierte en número entero.
specificTrap_name additional.fields.value.string_value El valor se asigna desde el campo "specificTrap_name".
specificTrap_num additional.fields.value.string_value El valor se asigna desde el campo "specificTrap_num".
tiempo de actividad additional.fields.value.string_value El valor se asigna desde el campo "uptime"
versión metadata.product_version El valor se asigna desde el campo "versión"
extensions.auth.type El valor se establece en "SSO".
metadata.event_type El valor se determina en función de varios campos de registro y la lógica del analizador. Consulta el código del analizador para obtener más información.
metadata.log_type El valor se establece en "CLEARPASS".
metadata.product_name El valor se establece en "ClearPass".
metadata.vendor_name El valor se establece en "ArubaNetworks".

Cambios

2024-09-12

Mejora:

  • Se agregó compatibilidad para analizar el nuevo formato de registros SYSLOG y JSON.

2024-08-08

Mejora:

  • Se asignó Acct-NAS-IP-Address a principal.ip.
  • Se asignó Acct-Username a principal.user.userid.
  • Se asignó Acct-Calling-Station-Id a principal.user.product_object_id.

2024-05-05

Mejora:

  • Se controlaron los registros de formato SYSLOG sin analizar.
  • Se asignó prin_port a principal.port.
  • Se asignó agent_ip a principal.ip y principal.asset.ip.
  • Se asignaron descr y eventDescription a metadata.description.
  • Se asignó version a metadata.product_version.
  • Se asignaron specificTrap_name, uptime, enterprise, generic_num, specificTrap_num y community a additional.fields.

2024-01-11

Mejora:

  • Se asignó Common.NAS-IP-Address a target.ip.
  • Se asignaron Common.Service, Common.Enforcement-Profiles y Common.Login-Status a security_result.detection_fields.

18-8-2022

Mejora:

  • Se controlaron los registros descartados que están en formato CEF y los registros sin analizar para mejorar la velocidad de análisis.
  • Se asignó metadata.event_type a STATUS_UPDATE cuando principal.hostname/principal.ip no es nulo; de lo contrario, se asignó como GENERIC_EVENT.

2022-07-08

Mejora:

  • Se modificó la asignación de _target_user_groupid de target.user.groupid a target.user.group_identifiers.
  • Se modificó la asignación de Common.Roles de principal.user.groupid a principal.user.group_identifiers.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.