Compartir vía


Implementar contenedor del agente del conector de datos de Microsoft Sentinel para SAP con opciones avanzadas

En este artículo se proporcionan procedimientos para implementar y configurar el contenedor del agente del conector de datos de Microsoft Sentinel para SAP con opciones de configuración expertas, personalizadas o manuales. En el caso de las implementaciones típicas, se recomienda usar el portal en su lugar.

El contenido de este artículo está destinado a los equipos de SAP BASIS. Para obtener más información, consulte Implementación de un agente de conector de datos de SAP desde la línea de comandos.

Nota:

Este artículo solo es relevante para el agente del conector de datos y no es relevante para la solución sin agente de SAP (versión preliminar limitada).

Requisitos previos

Adición manual de secretos de Azure Key Vault del agente de conector de datos de SAP

Use el siguiente script para agregar manualmente secretos del sistema SAP al almacén de claves. Asegúrese de reemplazar los marcadores de posición por su propio id. de sistema y las credenciales que desea agregar:

#Add Abap username
az keyvault secret set \
  --name <SID>-ABAPUSER \
  --value "<abapuser>" \
  --description SECRET_ABAP_USER --vault-name $kvname

#Add Abap Username password
az keyvault secret set \
  --name <SID>-ABAPPASS \
  --value "<abapuserpass>" \
  --description SECRET_ABAP_PASSWORD --vault-name $kvname

#Add Java Username
az keyvault secret set \
  --name <SID>-JAVAOSUSER \
  --value "<javauser>" \
  --description SECRET_JAVAOS_USER --vault-name $kvname

#Add Java Username password
az keyvault secret set \
  --name <SID>-JAVAOSPASS \
  --value "<javauserpass>" \
  --description SECRET_JAVAOS_PASSWORD --vault-name $kvname

#Add abapos username
az keyvault secret set \
  --name <SID>-ABAPOSUSER \
  --value "<abaposuser>" \
  --description SECRET_ABAPOS_USER --vault-name $kvname

#Add abapos username password
az keyvault secret set \
  --name <SID>-ABAPOSPASS \
  --value "<abaposuserpass>" \
  --description SECRET_ABAPOS_PASSWORD --vault-name $kvname

#Add Azure Log ws ID
az keyvault secret set \
  --name <SID>-LOGWSID \
  --value "<logwsod>" \
  --description SECRET_AZURE_LOG_WS_ID --vault-name $kvname

#Add Azure Log ws public key
az keyvault secret set \
  --name <SID>-LOGWSPUBLICKEY \
  --value "<loswspubkey>" \
  --description SECRET_AZURE_LOG_WS_PUBLIC_KEY --vault-name $kvname

Para obtener más información, consulte Inicio rápido: Creación de un almacén de claves mediante la CLI de Azure y la documentación de az la CLI az keyvault secret.

Realización de una instalación de experto o personalizada

En este procedimiento se describe cómo implementar el conector de datos de Microsoft Sentinel para SAP a través de la CLI mediante un experto o una instalación personalizada, como al instalar localmente.

Requisitos previos: Azure Key Vault es el método recomendado para almacenar las credenciales de autenticación y los datos de configuración. Se recomienda realizar este procedimiento solo una vez que se tenga un almacén de claves preparado con sus credenciales de SAP.

Implementación del conector de datos de Microsoft Sentinel para SAP

  1. Descargue el SDK de SAP NW RFC más reciente desde el sitio de SAP Launchpad>SAP NW RFC SDK>SAP NW RFC SDK 7.50>nwrfc750X_X-xxxxxxx.zip, y guárdelo en la máquina del agente del conector de datos.

    Nota:

    Necesitará la información de inicio de sesión de usuario de SAP para acceder al SDK y descargar el SDK que coincida con el sistema operativo.

    Asegúrese de seleccionar la opción LINUX ON X86_64.

  2. En la misma máquina, cree una carpeta con un nombre descriptivo y copie el archivo ZIP del SDK en la nueva carpeta.

  3. Clone el repositorio de GitHub de la solución de Microsoft Sentinel en la máquina local y copie en esa nueva carpeta el archivo systemconfig.json de la solución de aplicaciones de Solución Microsoft Sentinel para SAP.

    Por ejemplo:

    mkdir /home/$(pwd)/sapcon/<sap-sid>/
    cd /home/$(pwd)/sapcon/<sap-sid>/
    wget  https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/template/systemconfig.json 
    cp <**nwrfc750X_X-xxxxxxx.zip**> /home/$(pwd)/sapcon/<sap-sid>/
    
  4. Edite el archivo systemconfig.json según sea necesario, con los comentarios insertados como guía.

    Defina las siguientes configuraciones mediante las instrucciones del archivo systemconfig.json:

    • Los registros que quiere ingerir en Microsoft Sentinel mediante las instrucciones del archivo systemconfig.json.
    • Si se deben incluir direcciones de correo electrónico de usuario en los registros de auditoría
    • Si se deben reintentar las llamadas API con error
    • Si se deben incluir registros de auditoría cexal
    • Si se debe esperar un intervalo de tiempo entre extracciones de datos, especialmente para extracciones grandes

    Para obtener más información, consulte Configuración manual del conector de datos de Microsoft Sentinel para SAP y Definición de los registros de SAP que se envían a Microsoft Sentinel.

    Para probar la configuración, puede agregar el usuario y la contraseña directamente al archivo de configuración systemconfig.json. Aunque se recomienda usar Azure Key Vault para almacenar las credenciales, también puede usar un archivo env.list y secretos de Docker, o puede agregar sus credenciales directamente al archivo systemconfig.json.

    Para más información, consulte Configuraciones del conector de registros de SAP.

  5. Guarde el archivo systemconfig.json actualizado en el directorio sapcon de la máquina.

  6. Si ha elegido usar un archivo env.list para sus credenciales, cree un archivo env.list temporal con las credenciales necesarias. Una vez que el contenedor de Docker se ejecute correctamente, asegúrese de eliminar este archivo.

    Nota

    En el siguiente script cada contenedor de Docker se conecta a un sistema ABAP específico. Modifique el script según sea necesario para su entorno.

    Ejecute:

    ##############################################################
    # Include the following section if you're using user authentication
    ##############################################################
    # env.list template for Credentials
    SAPADMUSER=<SET_SAPCONTROL_USER>
    SAPADMPASSWORD=<SET_SAPCONTROL_PASS>
    LOGWSID=<SET MICROSOFT SENTINEL WORKSPACE ID>
    LOGWSPUBLICKEY=<SET MICROSOFT SENTINEL WORKSPACE KEY>
    ABAPUSER=SET_ABAP_USER>
    ABAPPASS=<SET_ABAP_PASS>
    JAVAUSER=<SET_JAVA_OS_USER>
    JAVAPASS=<SET_JAVA_OS_USER>
    ##############################################################
    # Include the following section if you are using Azure Keyvault
    ##############################################################
    # env.list template for AZ Cli when MI is not enabled
    AZURE_TENANT_ID=<your tenant id>
    AZURE_CLIENT_ID=<your client/app id>
    AZURE_CLIENT_SECRET=<your password/secret for the service principal>
    ##############################################################
    
  7. Descargue y ejecute la imagen de Docker predefinida con el conector de datos de SAP instalado. Ejecute:

    docker pull mcr.microsoft.com/azure-sentinel/solutions/sapcon:latest-preview
    docker run --env-file=<env.list_location> -d --restart unless-stopped -v /home/$(pwd)/sapcon/<sap-sid>/:/sapcon-app/sapcon/config/system --name sapcon-<sid> sapcon
    rm -f <env.list_location>
    
  8. Compruebe que el contenedor de Docker se ejecute correctamente. Ejecute:

    docker logs –f sapcon-[SID]
    
  9. Continúe con la implementación de aplicaciones de Solución Microsoft Sentinel para SAP.

    Al implementar la solución, el conector de datos de SAP se muestra en Microsoft Sentinel y se implementan el libro y las reglas de análisis de SAP. Cuando haya terminado, agregue y personalice manualmente las listas de reproducción de SAP.

    Para más información, consulte Implementación de las aplicaciones de Solución Microsoft Sentinel para SAP desde el centro de contenido.

Configuración manual del conector de datos de Microsoft Sentinel para SAP

Cuando se implementa a través de la CLI, el conector de datos de Microsoft Sentinel para SAP se configura en el archivo systemconfig.json, que ha clonado en la máquina del conector de datos de SAP como parte del procedimiento de implementación. Use el contenido de esta sección para configurar manualmente la configuración del conector de datos.

Para obtener más información, consulte la referencia del archivo Systemconfig.json o la referencia del archivo Systemconfig.ini para sistemas heredados.

Definición de los registros de SAP que se envían a Microsoft Sentinel

El archivo de systemconfig.json predeterminado está configurado para cubrir análisis integrados, las tablas de datos maestros de autorización de usuario de SAP, con usuarios e información de privilegios, y la capacidad de realizar un seguimiento de los cambios y las actividades en el entorno de SAP.

La configuración predeterminada proporciona más información de registro para permitir investigaciones posteriores a la infracción y capacidades de búsqueda extendidas. Sin embargo, es posible que desee personalizar su configuración con el tiempo, sobre todo porque los procesos empresariales tienden a ser estacionales.

Use los siguientes conjuntos de código para configurar el archivo systemconfig.json para definir los registros que se envían a Microsoft Sentinel.

Para más información, consulte la referencia sobre registros de la solución de aplicaciones de Solución Microsoft Sentinel para SAP (versión preliminar pública).

Configurar un perfil predeterminado

El código siguiente configura una configuración predeterminada:

"logs_activation_status": {
      "abapauditlog": "True",
      "abapjoblog": "True",
      "abapspoollog": "True",
      "abapspooloutputlog": "True",
      "abapchangedocslog": "True",
      "abapapplog": "True",
      "abapworkflowlog": "True",
      "abapcrlog": "True",
      "abaptabledatalog": "False",
      "abapfileslogs": "False",
      "syslog": "False",
      "icm": "False",
      "wp": "False",
      "gw": "False",
      "javafileslogs": "False"

Configurar un perfil centrado en la detección

Use el código siguiente para configurar un perfil centrado en la detección, que incluye los registros de seguridad principales del panorama de SAP necesarios para que la mayor parte de las reglas de análisis funcionen bien. Las investigaciones posteriores a la infracción y las funcionalidades de búsqueda son limitadas.

"logs_activation_status": {
      "abapauditlog": "True",
      "abapjoblog": "False",
      "abapspoollog": "False",
      "abapspooloutputlog": "False",
      "abapchangedocslog": "True",
      "abapapplog": "False",
      "abapworkflowlog": "False",
      "abapcrlog": "True",
      "abaptabledatalog": "False",
      "abapfileslogs": "False",
      "syslog": "False",
      "icm": "False",
      "wp": "False",
      "gw": "False",
      "javafileslogs": "False"
    },
....
  "abap_table_selector": {
      "agr_tcodes_full": "True",
      "usr01_full": "True",
      "usr02_full": "True",
      "usr02_incremental": "True",
      "agr_1251_full": "True",
      "agr_users_full": "True",
      "agr_users_incremental": "True",
      "agr_prof_full": "True",
      "ust04_full": "True",
      "usr21_full": "True",
      "adr6_full": "True",
      "adcp_full": "True",
      "usr05_full": "True",
      "usgrp_user_full": "True",
      "user_addr_full": "True",
      "devaccess_full": "True",
      "agr_define_full": "True",
      "agr_define_incremental": "True",
      "pahi_full": "True",
      "pahi_incremental": "True",
      "agr_agrs_full": "True",
      "usrstamp_full": "True",
      "usrstamp_incremental": "True",
      "agr_flags_full": "True",
      "agr_flags_incremental": "True",
      "sncsysacl_full": "False",
      "usracl_full": "False",

Use el código siguiente para configurar un perfil mínimo, que incluye el registro de auditoría de seguridad de SAP, que es el origen de datos más importante que usa las aplicaciones de Solución Microsoft Sentinel para SAP para analizar actividades en el entorno de SAP. Habilitar este registro es el requisito mínimo para proporcionar cualquier cobertura de seguridad.

"logs_activation_status": {
      "abapauditlog": "True",
      "abapjoblog": "False",
      "abapspoollog": "False",
      "abapspooloutputlog": "False",
      "abapchangedocslog": "True",
      "abapapplog": "False",
      "abapworkflowlog": "False",
      "abapcrlog": "True",
      "abaptabledatalog": "False",
      "abapfileslogs": "False",
      "syslog": "False",
      "icm": "False",
      "wp": "False",
      "gw": "False",
      "javafileslogs": "False"
    },
....
  "abap_table_selector": {
      "agr_tcodes_full": "False",
      "usr01_full": "False",
      "usr02_full": "False",
      "usr02_incremental": "False",
      "agr_1251_full": "False",
      "agr_users_full": "False",
      "agr_users_incremental": "False",
      "agr_prof_full": "False",
      "ust04_full": "False",
      "usr21_full": "False",
      "adr6_full": "False",
      "adcp_full": "False",
      "usr05_full": "False",
      "usgrp_user_full": "False",
      "user_addr_full": "False",
      "devaccess_full": "False",
      "agr_define_full": "False",
      "agr_define_incremental": "False",
      "pahi_full": "False",
      "pahi_incremental": "False",
      "agr_agrs_full": "False",
      "usrstamp_full": "False",
      "usrstamp_incremental": "False",
      "agr_flags_full": "False",
      "agr_flags_incremental": "False",
      "sncsysacl_full": "False",
      "usracl_full": "False",

Configuración del conector de registros de SAP

Agregue el código siguiente al archivo systemconfig.json del conector de datos de Microsoft Sentinel para SAP para definir otras configuraciones para los registros de SAP ingeridos en Microsoft Sentinel.

Para más información, consulte Realización de una instalación de experto o personalizada del conector de datos de SAP.

    "connector_configuration": {
      "extractuseremail": "True",
      "apiretry": "True",
      "auditlogforcexal": "False",
      "auditlogforcelegacyfiles": "False",
      "timechunk": "60"

Esta sección le permite configurar los parámetros siguientes:

Nombre de parámetro Descripción
extractuseremail Determina si las direcciones de correo electrónico del usuario se incluyen en los registros de auditoría.
apiretry Determina si las llamadas API se reintentan como mecanismo de conmutación por error.
auditlogforcexal Determina si el sistema fuerza el uso de registros de auditoría para sistemas que no son SAP, como SAP BASIS versión 7.4.
auditlogforcelegacyfiles Determina si el sistema fuerza el uso de registros de auditoría con funcionalidades del sistema heredadas, como las de la versión 7.4 de SAP BASIS con niveles de revisión inferiores.
timechunk Determina que el sistema espera un número específico de minutos como intervalo entre extracciones de datos. Use este parámetro si se espera una gran cantidad de datos.

Por ejemplo, durante la carga de datos inicial durante las primeras 24 horas, es posible que quiera que la extracción de datos se ejecute solo cada 30 minutos para dar tiempo suficiente a cada uno de estos procesos. En tales casos, establezca este valor en 30.

Configuración de una instancia de ABAP de SAP Control

Para ingerir todos los registros de ABAP en Microsoft Sentinel, incluidos los registros basados en NW RFC y SAP Control Web Service, configure los siguientes detalles de ABAP SAP Control:

Configuración Descripción
javaappserver Especifique el host del servidor de ABAP de SAP Control.
Por ejemplo: contoso-erp.appserver.com
javainstance Especifique el número de instancia de ABAP de SAP Control.
Por ejemplo: 00
abaptz Especifique la zona horaria configurada en el servidor de ABAP de SAP Control, en formato GMT.
Por ejemplo: GMT+3
abapseverity Especifique el nivel de gravedad más bajo, incluido, para el que desea ingerir registros de ABAP en Microsoft Sentinel. Los valores son:

- 0 = todos los registros
- 1 = advertencia
- 2 = error

Configuración de una instancia de Java de SAP Control

Para ingerir registros de SAP Control Web Service en Microsoft Sentinel, configure los siguientes detalles de la instancia de Java de SAP Control:

Parámetro Descripción
javaappserver Especifique el host del servidor Java de SAP Control.
Por ejemplo: contoso-java.server.com
javainstance Especifique el número de instancia de ABAP de SAP Control.
Por ejemplo: 10
javatz Especifique la zona horaria configurada en el servidor Java de SAP Control, en formato GMT.
Por ejemplo: GMT+3
javaseverity Especifique el nivel de gravedad más bajo, incluido, para el que desea ingerir registros de Web Service en Microsoft Sentinel. Los valores son:

- 0 = todos los registros
- 1 = advertencia
- 2 = error

Configuración de la recopilación de datos maestros del usuario

Para ingerir tablas directamente desde el sistema SAP con detalles sobre los usuarios y las autorizaciones de roles, configure el archivo systemconfig.json con una instrucción True/False para cada tabla.

Por ejemplo:

    "abap_table_selector": {
      "agr_tcodes_full": "True",
      "usr01_full": "True",
      "usr02_full": "True",
      "usr02_incremental": "True",
      "agr_1251_full": "True",
      "agr_users_full": "True",
      "agr_users_incremental": "True",
      "agr_prof_full": "True",
      "ust04_full": "True",
      "usr21_full": "True",
      "adr6_full": "True",
      "adcp_full": "True",
      "usr05_full": "True",
      "usgrp_user_full": "True",
      "user_addr_full": "True",
      "devaccess_full": "True",
      "agr_define_full": "True",
      "agr_define_incremental": "True",
      "pahi_full": "True",
      "pahi_incremental": "True",
      "agr_agrs_full": "True",
      "usrstamp_full": "True",
      "usrstamp_incremental": "True",
      "agr_flags_full": "True",
      "agr_flags_incremental": "True",
      "sncsysacl_full": "False",
      "usracl_full": "False",

Para más información, consulte Referencia de tablas recuperadas directamente de sistemas SAP.

Para más información, vea: