Recoger registros de acceso web de Broadcom Symantec SiteMinder

Disponible en:

En este documento se explica cómo recoger registros de acceso web de Broadcom Symantec SiteMinder en Google Security Operations mediante un agente de Bindplane. El analizador transforma los registros sin procesar con formato JSON en un modelo de datos unificado (UDM) estructurado. Extrae campos de los mensajes de registro sin procesar mediante patrones grok, los cambia de nombre y los asigna al esquema de UDM, gestiona diferentes tipos de eventos y formatos de usuario y, en última instancia, enriquece los datos para el análisis de seguridad.

Antes de empezar

  • Asegúrate de que tienes una instancia de Google SecOps.
  • Asegúrate de usar 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 con privilegios a Symantec SiteMinder.

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: CA_SSO_WEB
                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 Syslog en Symantec SiteMinder 12.8

  1. Comprueba que haya un servidor X-windows en tu sistema.
  2. Abre una ventana de terminal.
  3. Define la variable DISPLAY con el siguiente comando:

    export DISPLAY=<IP_ADDRESS>:0.0
    
    • Sustituye <IP_ADDRESS> por la dirección IP del sistema desde el que te conectas a la consola. Por ejemplo, 192.168.1.100.
  4. Inicia sesión en el sistema que aloja la consola.

  5. Ve al directorio <installation_directory>/siteminder/bin.

    • Sustituye <installation_directory> por la ubicación del sistema de archivos donde está instalado Policy Server. Por ejemplo, /opt/CA/siteminder.
  6. Abre la consola ejecutando el siguiente comando:

    ./smconsole
    
  7. Haga clic en la pestaña Datos.

  8. Haz clic en la lista desplegable Base de datos y, a continuación, selecciona Registros de auditoría.

  9. Haz clic en la lista desplegable Almacenamiento y, a continuación, selecciona Syslog.

  10. Selecciona el valor LOG_INFO en el campo Priority (Prioridad).

  11. Selecciona el valor LOG_LOCAL0 en el campo Facility.

  12. Haz clic en Aceptar.

Reiniciar el servidor de políticas de UNIX

  1. Inicia sesión en el sistema que aloja el servidor de políticas con la misma cuenta de usuario con la que se instaló originalmente el servidor de políticas.
  2. Abre la consola de administración.
  3. Haga clic en la pestaña Estado y, a continuación, en los botones Detener.
  4. Espera a que se detengan todos los servicios.
  5. En la misma pestaña Estado, haz clic en los botones Iniciar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
Acción event1.idm.read_only_udm.network.http.method Si el campo Action no está vacío, se asigna a event1.idm.read_only_udm.network.http.method. Si el valor es Visit, se sustituye por GET.
AgentName event1.idm.read_only_udm.target.hostname Se asigna directamente desde el campo AgentName.
ClientIp event1.idm.read_only_udm.principal.ip Se extrae del campo ClientIp mediante un patrón grok para extraer la dirección IP.
DomainName event1.idm.read_only_udm.target.administrative_domain Se asigna directamente desde el campo DomainName.
Evento event1.idm.read_only_udm.metadata.product_event_type Se asigna directamente desde el campo Event.
Recurso event1.idm.read_only_udm.target.url Se asigna directamente desde el campo Resource.
SessionId event1.idm.read_only_udm.network.session_id Se asigna directamente desde el campo SessionId.
Hora event1.idm.read_only_udm.metadata.event_timestamp Se analiza a partir del campo Time mediante filtros de fecha para extraer la marca de tiempo.
Nombre de usuario event1.idm.read_only_udm.target.user.userid La lógica gestiona diferentes formatos del campo UserName y extrae el ID de usuario.
Nombre de usuario event1.idm.read_only_udm.target.user.email_addresses La lógica gestiona diferentes formatos del campo UserName y extrae la dirección de correo del usuario.
Nombre de usuario event1.idm.read_only_udm.target.user.group_identifiers La lógica gestiona diferentes formatos del campo UserName y extrae los identificadores de grupo.
event1.idm.read_only_udm.extensions.auth.type Se define como SSO en el código del analizador.
event1.idm.read_only_udm.intermediary.hostname Mapeado de logstash.process.host.
event1.idm.read_only_udm.metadata.description Se asigna al valor del campo message en condiciones específicas relacionadas con los campos Event y AgentName.
event1.idm.read_only_udm.metadata.event_type Se determina en función del valor del campo Event. Valores posibles: USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED y GENERIC_EVENT.
event1.idm.read_only_udm.metadata.log_type Se define como CA_SSO_WEB en el código del analizador.
event1.idm.read_only_udm.metadata.product_name Se define como Web Access Management en el código del analizador.
event1.idm.read_only_udm.metadata.vendor_name Se define como Siteminder en el código del analizador.
event1.idm.read_only_udm.observer.hostname Asigna el valor logstash.collect.host.
event1.idm.read_only_udm.security_result.action Se determina en función del valor del campo Event. Valores posibles: ALLOW, BLOCK

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