Servicio NetScaler Console

Integración con Microsoft Sentinel

Puedes integrar NetScaler Console con Microsoft Sentinel para exportar los siguientes análisis de NetScaler Console a Microsoft Sentinel:

  • Infracciones de WAF
  • Infracciones de bot
  • Información de certificados SSL
  • Información de Gateway
  • Registros de auditoría de NetScaler Console

Microsoft Sentinel proporciona una recopilación de datos centralizada que reúne datos de diversas fuentes, como aplicaciones, servidores, etc. Como administrador, puedes ver los datos y tomar decisiones una vez que la información o las infracciones se notifiquen en Microsoft Sentinel.

Para una integración correcta, asegúrate de tener una suscripción activa de Azure y, a continuación, sigue el procedimiento de cada sección:

Configurar el espacio de trabajo de Log Analytics

Se requiere un espacio de trabajo de Log Analytics para almacenar y analizar los datos recopilados.

  1. Inicia sesión en Azure.

  2. Haz clic en Crear un recurso.

    Recurso

  3. En la barra de búsqueda, escribe “log analytics workspace” y haz clic en Crear en Log Analytics Workspace.

    Espacio de trabajo de Log Analytics

  4. En la página principal de Log Analytics Workspace, haz clic en Crear.

    Creación del espacio de trabajo

  5. En Crear espacio de trabajo de Log Analytics:

    1. Selecciona la suscripción activa y el grupo de recursos.

      Nota:

      También puedes hacer clic en Crear nuevo para agregar un grupo de recursos si tienes los privilegios.

    2. Especifica un nombre de tu elección.

    3. Selecciona tu región de la lista.

    4. Haz clic en Revisar + crear.

      Creación del espacio de trabajo, etapa previa final

    5. Aparece un mensaje de validación correcta. Haz clic en Crear para implementar el espacio de trabajo.

      Creación del espacio de trabajo

    6. Verás el mensaje de implementación en curso. Después de ver el mensaje de implementación completada, haz clic en Ir al recurso.

      Recurso del espacio de trabajo

      El espacio de trabajo se ha creado correctamente.

Crear una aplicación de Microsoft Entra

Debes crear una aplicación de Entra asociada a tu suscripción de Azure para comunicarte en nombre del espacio de trabajo de Log Analytics. Después de crear la aplicación, también debes conceder permisos con el rol de Colaborador de Microsoft Sentinel. La aplicación también proporciona detalles como el ID de cliente, el ID de inquilino y el Secreto de cliente. Te recomendamos que tomes nota de estos detalles. Estos detalles son necesarios cuando crees una suscripción en NetScaler Console para completar el proceso de integración.

  1. En tu portal de Azure, escribe la palabra clave en la barra de búsqueda.

  2. Haz clic en Microsoft Entra ID.

    Aplicación Entra

  3. Haz clic en Agregar y selecciona Registro de aplicaciones.

    Registrar una aplicación

  4. Especifica un nombre para la aplicación, selecciona la opción predeterminada en Tipos de cuenta admitidos y, a continuación, haz clic en Registrar.

    Registro de la aplicación

  5. Después de registrar la aplicación:

    1. Toma nota del ID de cliente y del ID de inquilino.

      IDs de cliente e inquilino

    2. Crea un ID secreto para tu aplicación. Haz clic en Certificados y secretos y, en Secretos de cliente, haz clic en Nuevo secreto de cliente. Proporciona una descripción, la validez y, a continuación, haz clic en Agregar para crear un ID secreto para tu aplicación.

      ID de secreto de cliente

    3. Se muestran los detalles de tu aplicación. Asegúrate de tomar nota del ID que aparece en Valor inmediatamente después de crear el secreto. Este valor se oculta si navegas a cualquier otra opción de la GUI.

      ID de valor

Enviar datos a Microsoft Sentinel mediante el conector de datos de Microsoft Entra ID

Los registros de Microsoft Entra ID proporcionan información completa sobre los usuarios, las aplicaciones y las redes que acceden a tu inquilino de Entra. Para obtener más información, consulta Enviar datos a Microsoft Sentinel mediante el conector de datos de Microsoft Entra ID.

Configurar el punto de conexión de recopilación de datos

Debes crear un punto de conexión de recopilación de datos para obtener la URL del punto de conexión. Esto es necesario cuando creas una suscripción en NetScaler Console.

  1. En tu portal de Azure, en Servicios de Azure, selecciona Puntos de conexión de recopilación de datos o escribe la palabra clave en la barra de búsqueda.

    Seleccionar DCR

  2. Haz clic en Crear en la página Puntos de conexión de recopilación de datos.

    Crear DCR

  3. En Crear punto de conexión de recopilación de datos:

    1. Especifica un nombre de punto de conexión de tu elección

    2. Selecciona la Suscripción, el Grupo de recursos y la Región.

    3. Haz clic en Revisar + crear.

    4. Después de ver el mensaje de validación correcta, haz clic en Crear.

Debes tomar nota de la URL del punto de conexión. En la página principal de Punto de conexión de recopilación de datos, selecciona el punto de conexión creado, haz clic en Vista JSON y toma nota del ID del punto de conexión.

ID de DCR

Crear tablas para exportar datos

Debes crear una tabla y proporcionar la información JSON para cada información que quieras exportar de NetScaler Console a Microsoft Sentinel. Puedes consultar los siguientes detalles sobre los requisitos de la tabla para cada información:

Información Número total de tablas requeridas
Información de SSL 3
WAF 1
Bot 1
Información de Gateway 5

Para cada espacio de trabajo, puedes crear un máximo de 10 tablas. Más allá de 10 tablas, debes crear otro espacio de trabajo.

  1. Navega a tu espacio de trabajo en el portal de Azure y haz clic en Tablas en Configuración.

  2. Haz clic en Crear y selecciona Nuevo registro personalizado (basado en DCR)

    Tabla

  3. En Crear un registro personalizado:

    1. Especifica un nombre de tabla. El nombre de la tabla debe tener el formato console_insightname. Por ejemplo: console_ns_sslvserver, console_ns_ssl_certkey. Puedes consultar el paso 4 para obtener los nombres de tabla aplicables a cada información.

    2. Proporciona una descripción para agregar más información sobre el nombre de la tabla. Esto es opcional.

    3. Crea una nueva regla de recopilación de datos y agrégala.

    4. Selecciona el punto de conexión de recopilación de datos de la lista.

      Parámetros de la tabla

    5. Haz clic en Siguiente.

  4. En la ficha Esquema y transformación, debes cargar los registros de ejemplo JSON para la información que quieras exportar. Puedes usar el siguiente JSON de ejemplo para cada información y crear un archivo JSON para cargar:

    Información JSON Nombre de tabla a usar
    SSL (1) {"id": "3eb05733-c326-493c-9aa0-f7db3a6b4277", "ns_ip_address": "10.106.186.141", "name": "zeta_192_168_110_250", "vsvr_ip_address": "", "vsvr_port": -1, "vsvr_type": "", "state": "", "partition_name": "", "display_name": "10.106.186.141", "poll_time": 1716539986, "managed": "f", "ssl2": "f", "ssl3": "t", "tls10": "t", "tls11": "t", "tls12": "t", "dh": "f", "ersa": "t", "sslprofile": "", "tls13": "f", "dhkeyexpsizelimit": "DISABLED", "pushenctriggertimeout": 1, "sessionticket": "", "includesubdomains": "f", "sessionticketkeyrefresh": "", "ssllogprofile": "", "serverauth": "", "ssltriggertimeout": 100, "ersacount": 0, "strictcachecks": "NO", "dhfile": "", "sessreuse": "ENABLED", "redirectportrewrite": "DISABLED", "skipclientcertpolicycheck": "", "tls13sessionticketsperauthcontext": 1, "cipherredirect": "DISABLED", "dropreqwithnohostheader": "NO", "sessionticketlifetime": -1, "maxage": 0, "pushenctrigger": "Always", "strictsigdigestcheck": "f", "sslredirect": "DISABLED", "sessionkeylifetime": -1, "alpnprotocol": "", "clientauthuseboundcachain": "", "sesstimeout": 120, "clientcert": "", "snihttphostmatch": "CERT", "preload": "NO", "prevsessionkeylifetime": -1, "sessionticketkeydata": "", "encrypttriggerpktcount": 45, "cleartextport": "", "ssliocspcheck": "", "hsts": "f", "sslinterception": "", "commonname": "", "sslireneg": "", "ocspstapling": "DISABLED", "quantumsize": 8192, "insertionencoding": "Unicode", "sslimaxsessperserver": -1, "cipherurl": "", "pushflag": 0, "zerorttearlydata": "DISABLED", "allowextendedmastersecret": "", "dhekeyexchangewithpsk": "NO", "clientauth": "DISABLED", "denysslreneg": "NONSECURE", "sendclosenotify": "YES", "dhcount": 0, "snienable": "DISABLED", "table_name": "ns_sslvserver"} console_ns_sslvserver
    SSL (2) {"id": "a6673ab2-0b59-47b9-b530-bc30fb2b937c", "ssl_certificate": "/nsconfig/ssl/ca-cert.pem", "ssl_key": "/nsconfig/ssl/ca-key.pem", "certkeypair_name": "athul-ca", "cert_format": "PEM", "days_to_expiry": 281, "ns_ip_address": "10.106.186.141", "status": "Valid", "device_name": "10.106.186.141", "file_location_path": "", "certificate_data": "", "key_data": "", "poll_time": 1717434335, "no_domain_check": "f", "version": 3, "serial_number": "7B34B6A6A1A79E0FF168242D7BCFF78F04C9EE66", "signature_algorithm": "sha256WithRSAEncryption", "issuer": "C=IN,ST=KA,L=BAN,O=CIT,OU=ADM,CN=A", "valid_from": "Mar 12 08:51:11 2024 GMT", "valid_to": "Mar 12 08:51:11 2025 GMT", "subject": "C=IN,ST=KA,L=BAN,O=CIT,OU=ADM,CN=A", "public_key_algorithm": "rsaEncryption", "public_key_size": 4096, "no_of_bound_entities": 0, "partition_name": "", "display_name": "10.106.186.141", "hostname": "athulsadc", "key_name": "", "subjaltname": "", "managed_by": "", "certificate_dn": "", "linkcertkeyname": "", "table_name": "ns_ssl_certkey"} console_ns_ssl_certkey
    SSL (3) {"id": "2baffd1a-7ed6-4035-91e8-ad3a3125bff4", "certkeypair_name": "cert1", "ns_ip_address": "10.106.186.127", "poll_time": 1715671567, "partition_name": "", "display_name": "10.106.186.127", "hostname": "", "entity_name": "secure_gateway", "entity_type": "sslvserver", "table_name": "ns_sslcertkey_binding"} console_ns_sslcertkey_binding
    WAF [{"ip_address": "10.106.185.156", "ctnsappname": "vserver_1", "severity": 2, "violation_type": 19, "violation_type_desc": "Start URL", "block_flags": 1, "transformed_flags": 0, "not_blocked_flags": 0, "country_code": "-NA-", "region_code": "-NA-", "city": "-NA-", "latitude": 200.0, "longitude": 200.0, "signature_category": "", "attack_category": 2, "attack_category_desc": "Broken Authentication and Session Management", "total_attacks": 1, "rpt_sample_time": 1704783773, "source_ip_address": 174766492, "attack_time": 1704783538, "profile_name": "appfw_cs_lb_prof", "session_id": "", "http_req_url": "https://10.106.192.54/csrf_ffc/ffc.html?field10=asfasd", "violation_name": "-NA-", "violation_value": "-NA-", "violation_location": 4, "violation_threat_index": 5, "app_threat_index": 5, "http_method": 0, "violation_action": 3, "violation_action_desc": "Blocked", "severity_type": 2, "severity_type_desc": "Medium", "iprep_score": 0, "iprep_category": 0, "counter_value": 0, "appname": "vserver_1_10.106.185.156_lb", "violation_category": 12, "violation_category_desc": "Start URL", "source_ipv6_address": "", "true_client_ip": "\\N", "backend_vserver": "", "backend_appname": "", "transactionId": "0", "table_name": "af_threat_exporter_data_l2"}] console_af_threat_exporter_data_l2
    Bot {"ip_address": "10.106.186.122", "ctnsappname": "secure_gateway", "bot_type": "2", "bot_type_desc": "Bad", "action_type": "6", "action_type_desc": "Log", "country_code": "0.0", "region_code": "0.0", "city": "0.0", "bot_severity": "0", "bot_severity_desc": "Critical", "latitude": "0", "longitude": "0", "bot_detection_mechanism": "6", "bot_detection_mechanism_desc": "BlackList", "bot_category": "0", "bot_category_desc": "Uncategorized", "source_ip_address": "174758625", "bot_signature_category": "Custom Policy Expression", "appname": "secure_gateway_10.106.186.122_lb", "backend_vserver": "", "backend_appname": "", "total_attacks": "2", "rpt_sample_time": "1718783216", "table_name": "af_bot_attack_details_l2"} console_af_bot_attack_details_l2
    Información de Gateway (1) {"adc_ip_address": "10.106.186.141", "auth_server": "", "client_ip": 174766732, "epa_method_type": 0, "error_count": 14, "error_details": "Invalid credentials passed", "error_type": 1, "gateway_name": "vpn_vserver_142_6", "req_url": "", "resource": "", "rpt_sample_time": 1713505215, "sso_method_type": 0, "sta_ip": "", "table_name": "af_vpn_error_details", "username": "John"} console_af_vpn_error_details
    Información de Gateway (2) {"adc_ip_address": "10.102.71.166", "display_name": "10.102.71.166", "gateway_name": "firsthop", "ip_address": "10.102.71.168", "rpt_sample_time": "1718812158", "state": "Up", "table_name": "ns_vpnvserver"} console_ns_vpnvserver
    Información de Gateway (3) {"adc_ip_address": "10.106.186.141", "gateway_name": "vpn_vserver_141_7", "rpt_sample_time": 1702011308, "sessions": 1, "table_name": "af_vpn_session_details", "users": 1} console_af_vpn_session_details
    Información de Gateway (4) {"active_sessions": 59, "active_users": 1, "adc_ip_address": "10.106.186.136", "gateway_name": "vpnathul2", "rpt_sample_time": 1698919848, "table_name": "af_vpn_active_session_1"} console_af_vpn_active_session_1
    Información de Gateway (5) {"adc_ip_address": "10.106.186.136", "entity_type": 3, "gateway_name": "vpnathul2", "hits": 3, "rpt_sample_time": 1698052438, "table_name": "af_vpn_error_reports"} console_af_vpn_error_reports
    Registros de auditoría {"system_gmt_time":1721868291, "source":"X.X.X.X", "severity":"INFO", "module":"DEVICECONFIG", "event_type":"CMD_EXECUTED", "message":"Sample Mesage", "instance_ip":"X.X.X.X", "app_name":""} console_syslog_messages

    Después de cargar el JSON, puedes ver los siguientes detalles:

    Detalles de JSON

    Haz clic en Editor de transformación, introduce la siguiente consulta aplicable a la información correspondiente y haz clic en Ejecutar para aceptar los datos a partir del tiempo de sondeo en NetScaler Console.

    • SSL - source | extend TimeGenerated = todatetime(poll_time) | project-rename sslvserver_id = id

    • WAF y Bot - source | extend TimeGenerated = todatetime(rpt_sample_time)

    • Información de Gateway - source | extend TimeGenerated = todatetime(rpt_sample_time)

      Ejecución de la tabla

  5. Haz clic en Siguiente y haz clic en Crear para completar.

  6. Navega a Reglas de recopilación de datos, haz clic en la DCR que has creado.

  7. En Configuración, haz clic en Orígenes de datos para ver la tabla creada.

    Origen de la tabla

    La DCR (regla de recopilación de datos) requiere acceso al rol de Publicador de métricas de supervisión.

    1. Navega a tu DCR a la que puedes acceder desde tu portal de Azure en Recientes.

    2. Haz clic en Control de acceso (IAM) desde la página de tu DCR y haz clic en Agregar asignación de roles.

      Asignar rol

    3. En la barra de búsqueda, escribe la palabra clave “monitor” para seleccionar Publicador de métricas de supervisión y haz clic en Siguiente.

    4. En la ficha Miembros, haz clic en Seleccionar miembros y selecciona la aplicación Entra que creaste.

    5. Haz clic en Revisar + asignar.

      Debes tomar nota del ID de las reglas de recopilación de datos. Navega a la página de reglas de recopilación de datos, selecciona tu DCR y haz clic en la vista JSON para tomar nota del ID.

      ID de DCR

Crear una suscripción en NetScaler Console

Ahora tienes todo listo. El paso final es configurar NetScaler Console creando una suscripción y agregando los detalles necesarios. Para crear una suscripción en NetScaler Console, necesitas los siguientes detalles que has anotado:

  • URL del punto de conexión
  • ID de las reglas de recopilación de datos
  • ID de inquilino
  • ID de cliente
  • Secreto de cliente
  1. Inicia sesión en NetScaler Console.

  2. Navega a Configuración > Integración de observabilidad.

  3. En la página Integraciones, haz clic en Agregar.

  4. En la página Crear suscripción, especifica los siguientes detalles:

    1. Especifica un nombre de tu elección en el campo Nombre de la suscripción.

    2. Selecciona NetScaler Console como Origen y haz clic en Siguiente.

    3. Selecciona Microsoft Sentinel y haz clic en Configurar. En la página Configurar punto de conexión, introduce todos los detalles y haz clic en Enviar.

    4. Haz clic en Siguiente.

  5. Haz clic en Agregar información y, en la ficha Seleccionar característica, según las tablas que hayas agregado en Microsoft Azure, selecciona las características que quieras exportar y haz clic en Agregar seleccionados y, a continuación, haz clic en Siguiente.

  6. En la ficha Seleccionar instancia, puedes elegir Seleccionar todas las instancias o Selección personalizada y, a continuación, haz clic en Siguiente.

    • Seleccionar todas las instancias - Exporta datos a Microsoft Sentinel desde todas las instancias de NetScaler.

    • Selección personalizada - Te permite seleccionar las instancias de NetScaler de la lista. Si seleccionas instancias específicas de la lista, los datos se exportan a Microsoft Sentinel solo desde las instancias de NetScaler seleccionadas.

  7. Haz clic en Enviar.

Ver registros en Microsoft Azure

Después de configurar todo, te recomendamos que esperes 30 minutos para ver los detalles en Microsoft Azure.

  1. En tu portal de Azure, navega a tu Espacio de trabajo de Log Analytics.

  2. Haz clic en Registros, proporciona el nombre de la tabla y haz clic en Ejecutar para ver los resultados.

    Ver registros

Integración con Microsoft Sentinel