Recopila registros de Aruba ClearPass
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
- Accede a la consola de Google SecOps.
- Ve a Configuración de SIEM > Agentes de recopilación.
- 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
- Accede a la consola de Google SecOps.
- Ve a Configuración de SIEM > Perfil.
- 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
- Abre el símbolo del sistema o PowerShell como administrador.
Ejecuta el siguiente comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalación de Linux
- Abre una terminal con privilegios de raíz o sudo.
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
- Para obtener más opciones de instalación, consulta esta guía de instalación.
Configura el agente de Bindplane para transferir Syslog y enviarlo a Google SecOps
Accede al archivo de configuración:
- 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. - Abre el archivo con un editor de texto (por ejemplo,
nano
,vi
o Bloc de notas).
- Ubica el archivo
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
Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.
Reemplaza
<customer_id>
por el ID de cliente real.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
- Accede a la consola del Administrador de políticas de ClearPass.
- Selecciona Administración > Servidores externos > Destinos de Syslog.
- Haz clic en Agregar.
- 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).
- Haz clic en Guardar.
Configura los filtros de exportación de syslog
- Ve a Administración > Servidores externos > Filtros de exportación de Syslog.
- Haz clic en Agregar.
- En la ventana Agregar filtros de Syslog que aparece, especifica lo siguiente en la pestaña General:
- Nombre: Ingresa el nombre del filtro de exportación de syslog según la tabla en Elementos de la plantilla de exportación.
- Plantilla de exportación: Selecciona la plantilla de exportación adecuada según la tabla en Elementos de plantilla de exportación.
- Export event format type: Selecciona Estándar.
- Servidores de Syslog: Selecciona la dirección IP de Bindplane.
- 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.
- 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.
- 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
aprincipal.ip
. - Se asignó
Acct-Username
aprincipal.user.userid
. - Se asignó
Acct-Calling-Station-Id
aprincipal.user.product_object_id
.
2024-05-05
Mejora:
- Se controlaron los registros de formato SYSLOG sin analizar.
- Se asignó
prin_port
aprincipal.port
. - Se asignó
agent_ip
aprincipal.ip
yprincipal.asset.ip
. - Se asignaron
descr
yeventDescription
ametadata.description
. - Se asignó
version
ametadata.product_version
. - Se asignaron
specificTrap_name
,uptime
,enterprise
,generic_num
,specificTrap_num
ycommunity
aadditional.fields
.
2024-01-11
Mejora:
- Se asignó
Common.NAS-IP-Address
atarget.ip
. - Se asignaron
Common.Service
,Common.Enforcement-Profiles
yCommon.Login-Status
asecurity_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
aSTATUS_UPDATE
cuandoprincipal.hostname/principal.ip
no es nulo; de lo contrario, se asignó comoGENERIC_EVENT
.
2022-07-08
Mejora:
- Se modificó la asignación de
_target_user_groupid
detarget.user.groupid
atarget.user.group_identifiers
. - Se modificó la asignación de
Common.Roles
deprincipal.user.groupid
aprincipal.user.group_identifiers
.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.