Recoger registros de Aruba ClearPass

Disponible en:

En este documento se explica cómo recoger registros de Aruba ClearPass mediante Bindplane. El analizador intenta limpiar y estructurar los registros entrantes eliminando los campos superfluos y estandarizando el formato de los mensajes. A continuación, en función de si el registro sigue el formato CEF u otra estructura, el código usa una combinación de patrones grok, extracciones de pares clave-valor y lógica condicional para asignar los campos relevantes al modelo de datos unificado (UDM) y, en última instancia, clasificar cada evento en un tipo de evento de seguridad específico.

Antes de empezar

  • Asegúrate de que tienes una instancia de Google Security Operations.
  • Asegúrate de que usas Windows 2016 o una versión posterior, o un host Linux con systemd.
  • Si se ejecuta a través de un proxy, asegúrate de que los puertos del cortafuegos estén abiertos.
  • Asegúrate de que tienes acceso privilegiado a un Aruba ClearPass.

Obtener el archivo de autenticación de ingestión de Google SecOps

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

Obtener el ID de cliente de Google SecOps

  1. Inicia sesión en 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.

Instalar el agente de Bindplane

Instalación de ventanas

  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 un terminal con privilegios de superusuario 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

Configurar el agente de BindPlane para ingerir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    1. Busca el archivo config.yaml. Normalmente, 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. Sustituye el puerto y la dirección IP según sea necesario en tu infraestructura.

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

  5. Actualiza /path/to/ingestion-authentication-file.json a la ruta en la que se guardó el archivo de autenticación en la sección Obtener el archivo de autenticación de ingestión 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 Servicios o introducir el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar el servidor syslog de Aruba ClearPass

  1. Inicia sesión en la consola ClearPass Policy Manager.
  2. Selecciona Administración > Servidores externos > Destinos de Syslog.
  3. Haz clic en Añadir.
  4. En la ventana Add syslog target (Añadir destino syslog) que aparece, especifica los siguientes detalles:
    • Dirección de host: introduce la dirección IP de Bindplane.
    • Puerto del servidor: introduce el número de puerto de Bindplane.
    • Protocolo: selecciona UDP (también puedes seleccionar TCP, en función de tu configuración de Bindplane).
  5. Haz clic en Guardar.

Configurar filtros de exportación de syslog

  1. Vaya a Administración > Servidores externos > Filtros de exportación de Syslog.
  2. Haz clic en Añadir.
  3. En la ventana Añadir filtros Syslog que aparece, especifica lo siguiente en la pestaña General (General):
  4. En la lista Plantilla de exportación, cuando selecciona las plantillas de exportación Sesión o Estadísticas, se habilita la pestaña Filtro y columnas. Sigue estos 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: seleccione el grupo de campos predefinido en función de la tabla de Elementos de plantilla de exportación.
    • Columnas seleccionadas: compruebe que los campos rellenados automáticamente coinciden con la tabla de Elementos de la plantilla de exportación.
    • Haz clic en la pestaña Resumen.
    • Haz clic en Guardar.
  5. En la lista Plantilla de exportación, cuando selecciona las plantillas de exportación Eventos del sistema y Registros de auditoría, la pestaña Filtro y columnas no está habilitada. Vaya a la pestaña Resumen y haga clic en Guardar.
  6. Repite los pasos para añadir filtros de exportación de syslog a 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 del apartado Resumen de los elementos de las plantillas de exportación.

Exportar elementos de plantilla

En la siguiente tabla se describen los elementos que debe configurar en cada plantilla de exportación. Los campos predeterminados que se muestran en Columnas seleccionadas se admiten en el análisis de eventos. Asegúrese de que todos los campos que se mencionan en la tabla de la sección Columnas seleccionadas (predeterminadas) estén presentes y en el mismo orden. Crea plantillas de filtros de exportación de syslog exactamente como se indica en la tabla, incluido el nombre del filtro, que distingue entre mayúsculas y minúsculas.

Nombre del filtro de exportación de Syslog (distingue entre mayúsculas y minúsculas) Exportar plantilla Grupos de campos predefinidos Columnas seleccionadas (opción predeterminada)
ACPPM_radauth Registros de Insight Autenticaciones de radio 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 Insight 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 Insight RADIUS Accounting 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 Insight Autenticación 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 Insight tacacs Failed Authentication tacacs.Username
tacacs.Remote-Address
tacacs.Request-Type
tacacs.NAS-IP-Address
tacacs.Service
CppmErrorCode.Error-Code-Details
CppmAlert.Alerts
ACPPM_webauth Registros de 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 Registros de Insight WEBAUTH Failed Authentications 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 Insight 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 Insight Failed Application Authentication 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 Insight Endpoints 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 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 Registros de Insight Registro de Onboard OnboardEnrollment.Username
OnboardEnrollment.Device-Name
OnboardEnrollment.MAC-Address
OnboardEnrollment.Device-Product
OnboardEnrollment.Device-Version
OnboardEnrollment.Added-At
OnboardEnrollment.Updated-At
ACPPM_onbcert Registros de Insight Certificado de embarque OnboardCert.Username
OnboardCert.Mac-Address
OnboardCert.Subject
OnboardCert.Issuer
OnboardCert.Valid-From
OnboardCert.Valid-To
OnboardCert.Revoked-At
ACPPM_onboscp Registros de Insight Incorporar OCSP OnboardOCSP.Remote-Address
OnboardOCSP.Response-Status-Name
OnboardOCSP.Timestamp
ACPPM_cpsysevent Registros de Insight Eventos del sistema Clearpass CppmNode.CPPM-Node
CppmSystemEvent.Source
CppmSystemEvent.Level
CppmSystemEvent.Category
CppmSystemEvent.Action
CppmSystemEvent.Timestamp
ACPPM_cpconfaudit Registros de Insight Auditoría de configuración de Clearpass CppmConfigAudit.Name
CppmConfigAudit.Action
CppmConfigAudit.Category
CppmConfigAudit.Updated-By
CppmConfigAudit.Updated-At
ACPPM_possummary Registros de Insight Resumen de las posturas 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 Insight Resumen de cortafuegos 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 Registros de Insight Resumen de 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 Registros de Insight Resumen de la postura Antiespí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 Insight Resumen de 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 Registros de sesión Usuarios con sesión iniciada 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 RADIUS Accounting 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 invitado 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 eliminar los caracteres alfanuméricos y los espacios 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 "Logged in", el campo UDM se define como "USER_LOGIN". Si el valor es "Logged out", el campo UDM se define como "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 "Description" (Descripción) después de sustituir los caracteres de salto de línea por el símbolo de barra vertical. 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" (Descripción) contiene "Unable connection with" (No se puede conectar con), 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 UDM se define como "HIGH". Si el valor es "WARN", el campo UDM se define como "MEDIUM". Si el valor es "INFO" o "DEBUG", el campo UDM se define como "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" (Marca de tiempo) 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 desde el campo "prin_port" y se convierte en un 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".
version metadata.product_version El valor se asigna desde el campo "version".
extensions.auth.type El valor es "SSO".
metadata.event_type El valor se determina en función de varios campos de registro y de la lógica del analizador. Consulta el código del analizador para obtener más información.
metadata.log_type El valor se ha definido como "CLEARPASS".
metadata.product_name El valor es "ClearPass".
metadata.vendor_name El valor es "ArubaNetworks".

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.