Opciones de configuración de expertos, implementación local y orígenes de registro de SAPControl

En este artículo se describe cómo implementar el conector de datos de Microsoft Sentinel para SAP en un proceso experto o personalizado, como el uso de una máquina local y una instancia de Azure Key Vault para almacenar las credenciales.

Nota

El proceso predeterminado y más recomendado para implementar el conector de datos de Microsoft Sentinel para SAP es mediante una máquina virtual de Azure. Este artículo está destinado a usuarios avanzados.

Prerrequisitos

Los requisitos previos básicos para implementar el conector de datos de Microsoft Sentinel para SAP son los mismos, independientemente del método de implementación.

Antes de empezar, asegúrese de que el sistema cumple los requisitos previos que se recogen en el documento de requisitos previos del conector de datos de SAP principal.

Creación del almacén de claves de Azure

Cree un almacén de claves de Azure que pueda dedicar a su conector de datos de Microsoft Sentinel para aplicaciones de SAP®.

Ejecute el siguiente comando para crear el almacén de claves de Azure y conceder acceso a una entidad de servicio de Azure:

kvgp=<KVResourceGroup>

kvname=<keyvaultname>

spname=<sp-name>

kvname=<keyvaultname>
# Optional when Azure MI not enabled - Create sp user for AZ cli connection, save details for env.list file
az ad sp create-for-rbac –name $spname --role Contributor --scopes /subscriptions/<subscription_id>

SpID=$(az ad sp list –display-name $spname –query “[].appId” --output tsv

#Create key vault
az keyvault create \
  --name $kvname \
  --resource-group $kvgp
  
# Add access to SP
az keyvault set-policy --name $kvname --resource-group $kvgp --object-id $spID --secret-permissions get list set

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

Adición de secretos de Azure Key Vault

Para agregar secretos de Azure Key Vault, ejecute el siguiente script, con su propio identificador de sistema y las credenciales que quiera 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 más información, consulte la documentación de la CLI de 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 mediante una instalación de experto o personalizada, como la instalación en el entorno local.

Se recomienda realizar este procedimiento después de tener un almacén de claves preparado con las credenciales de SAP.

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

  1. En la máquina local, descargue el SDK de SAP NW RFC más reciente del sitio de SAP Launchpad>SAP NW RFC SDK>SAP NW RFC SDK 7.50>nwrfc750X_X-xxxxxxx.zip.

    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 máquina local, 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.ini de la solución Microsoft Sentinel para aplicaciones de 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.ini 
    cp <**nwrfc750X_X-xxxxxxx.zip**> /home/$(pwd)/sapcon/<sap-sid>/
    
  4. Edite el archivo systemconfig.ini según sea necesario, con los comentarios insertados como guía. Para más información, consulte Configuración manual del conector de datos de Microsoft Sentinel para SAP.

    Para probar la configuración, puede agregar el usuario y la contraseña directamente al archivo de configuración systemconfig.ini. 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.ini.

  5. Defina los registros que quiere ingerir en Microsoft Sentinel mediante las instrucciones del archivo systemconfig.ini. Por ejemplo, consulte Definición de los registros de SAP que se envían a Microsoft Sentinel.

  6. Defina las siguientes configuraciones mediante las instrucciones del archivo systemconfig.ini:

    • 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 más información, consulte Configuraciones del conector de registros de SAP.

  7. Guarde el archivo systemconfig.ini actualizado en el directorio sapcon de la máquina.

  8. 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 SENTINEL WORKSPACE id>
    LOGWSPUBLICKEY=<SET 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>
    ##############################################################
    
  9. 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>
    
  10. Compruebe que el contenedor de Docker se ejecute correctamente. Ejecute:

    docker logs –f sapcon-[SID]
    
  11. Continúe con la implementación de la solución de Microsoft Sentinel para aplicaciones de 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 la solución Microsoft Sentinel para SAP® desde el centro de contenido.

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

El conector de datos de Microsoft Sentinel para SAP se configura en el archivo systemconfig.ini, que ha clonado en la máquina del conector de datos de SAP como parte del procedimiento de implementación.

El código siguiente muestra un archivo systemconfig.ini de ejemplo:

[Secrets Source]
secrets = '<DOCKER_RUNTIME/AZURE_KEY_VAULT/DOCKER_SECRETS/DOCKER_FIXED>'
keyvault = '<SET_YOUR_AZURE_KEYVAULT>'
intprefix = '<SET_YOUR_PREFIX>'

[ABAP Central Instance]
##############################################################
# Define the following values according to your server configuration.
ashost = <SET_YOUR_APPLICATION_SERVER_HOST>
mshost = <SET_YOUR_MESSAGE_SERVER_HOST> - #In case different then App
##############################################################
group = <SET_YOUR_LOGON_GROUP>
msserv = <SET_YOUR_MS_SERVICE> - #Required only if the message server service is not defined as sapms<SYSID> in /etc/services
sysnr = <SET_YOUR_SYS_NUMBER>
user = <SET_YOUR_USER>
##############################################################
# Enter your password OR your X509 SNC parameters
passwd = <SET_YOUR_PASSWORD>
snc_partnername = <SET_YOUR_SNC_PARTNER_NAME>
snc_lib = <SET_YOUR_SNC_LIBRARY_PATH>
x509cert = <SET_YOUR_X509_CERTIFICATE>
##############################################################
sysid = <SET_YOUR_SYSTEM_ID>
client = <SET_YOUR_CLIENT>

[Azure Credentials]
loganalyticswsid = <SET_YOUR_LOG_ANALYTICS_WORKSPACE_ID>
publickey = <SET_YOUR_PUBLIC_KEY>

[File Extraction ABAP]
osuser = <SET_YOUR_SAPADM_LIKE_USER>
##############################################################
# Enter your password OR your X509 SNC parameters
ospasswd = <SET_YOUR_SAPADM_PASS>
x509pkicert = <SET_YOUR_X509_PKI_CERTIFICATE>
##############################################################
appserver = <SET_YOUR_SAPCTRL_SERVER IP OR FQDN>
instance = <SET_YOUR_SAP_INSTANCE NUMBER, example 10>
abapseverity = <SET_ABAP_SEVERITY 0 = All logs ; 1 = Warning ; 2 = Error>
abaptz = <SET_ABAP_TZ --Use ONLY GMT FORMAT-- example - For OS Timezone = NZST use abaptz = GMT+12>

[File Extraction JAVA]
javaosuser = <SET_YOUR_JAVAADM_LIKE_USER>
##############################################################
# Enter your password OR your X509 SNC parameters
javaospasswd = <SET_YOUR_JAVAADM_PASS>
javax509pkicert = <SET_YOUR_X509_PKI_CERTIFICATE>
##############################################################
javaappserver = <SET_YOUR_JAVA_SAPCTRL_SERVER IP ADDRESS OR FQDN>
javainstance = <SET_YOUR_JAVA_SAP_INSTANCE for example 10>
javaseverity = <SET_JAVA_SEVERITY  0 = All logs ; 1 = Warning ; 2 = Error>
javatz = <SET_JAVA_TZ --Use ONLY GMT FORMAT-- example - For OS Timezone = NZST use javatz = GMT+12>

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

Agregue el código siguiente al archivo systemconfig.ini de la solución Microsoft Sentinel para aplicaciones de SAP® 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 Microsoft Sentinel para aplicaciones de SAP® (versión preliminar pública).

##############################################################
# Enter True OR False for each log to send those logs to Microsoft Sentinel
[Logs Activation Status]
ABAPAuditLog = True
ABAPJobLog = True
ABAPSpoolLog = True
ABAPSpoolOutputLog = True
ABAPChangeDocsLog = True
ABAPAppLog = True
ABAPWorkflowLog = True
ABAPCRLog = True
ABAPTableDataLog = False
# ABAP SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
ABAPFilesLogs = False
SysLog = False
ICM = False
WP = False
GW = False
# Java SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
JAVAFilesLogs = False
##############################################################

Configuración del conector de registros de SAP

Agregue el código siguiente al archivo systemconfig.ini 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. Estos valores incluyen:

- 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. Estos valores incluyen:

- 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.ini con una instrucción True/False para cada tabla.

Por ejemplo:

[ABAP Table Selector] 
USR01_FULL = True
USR02_FULL = True
USR02_INCREMENTAL = True
UST04_FULL = True
AGR_USERS_FULL = True
AGR_USERS_INCREMENTAL = True
USR21_FULL = True
AGR_1251_FULL = True
ADR6_FULL = True
AGR_TCODES_FULL = True 
DEVACCESS_FULL = True
AGR_DEFINE_FULL = True
AGR_DEFINE_INCREMENTAL = True
AGR_PROF_FULL = True
PAHI_FULL = True

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

Pasos siguientes

Una vez instalado el conector de datos de SAP, puede agregar el contenido de seguridad relacionado con SAP.

Para más información, consulte Implementación de la solución SAP.

Para más información, consulte: