Recopila registros de Microsoft System Center Endpoint Protection (SCEP)

Compatible con:

En este documento, se describe cómo recopilar registros de Microsoft System Center Endpoint Protection (SCEP) configurando un feed de Google Security Operations con Microsoft Azure Blob Storage V2.

Microsoft System Center Endpoint Protection (SCEP) es una solución antivirus y antimalware empresarial integrada en System Center Configuration Manager (SCCM). SCEP proporciona protección en tiempo real contra software malicioso, virus, software espía y otros programas maliciosos para los endpoints basados en Windows. SCEP escribe eventos de seguridad en el canal Microsoft-Windows-Windows Defender/Operational del registro de eventos de Windows, que se puede recopilar con el agente de Azure Monitor y exportar a Azure Blob Storage.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Una instancia de Google SecOps
  • Acceso con privilegios al portal de Microsoft Azure con los siguientes permisos:
    • Crea cuentas de almacenamiento
    • Crea y administra espacios de trabajo de Log Analytics
    • Crea y administra reglas de recopilación de datos
    • Configura reglas de exportación de datos
    • Administra las claves de acceso
  • Windows Server 2012 R2 o posterior con SCEP instalado, o Windows Server 2016 o posterior con Antivirus de Windows Defender
  • Agente de Azure Monitor instalado en el servidor de Windows (requiere Azure Arc para servidores locales o compatibilidad nativa con VMs de Azure)
  • Acceso de administrador en el servidor de Windows en el que se implementa SCEP

Configura la cuenta de Azure Storage

Crea una cuenta de almacenamiento

  1. En el portal de Azure, busca Cuentas de almacenamiento.
  2. Haz clic en + Crear.
  3. Proporciona los siguientes detalles de configuración:

    Parámetro de configuración Valor
    Suscripción Selecciona tu suscripción a Azure
    Grupo de recursos Selecciona una existente o crea una nueva
    Nombre de la cuenta de almacenamiento Ingresa un nombre único (por ejemplo, sceplogssa).
    Región Selecciona la región (por ejemplo, East US).
    Rendimiento Estándar (recomendado)
    Redundancia GRS (almacenamiento con redundancia geográfica) o LRS (almacenamiento con redundancia local)
  4. Haz clic en Revisar + crear.

  5. Revisa el resumen de la cuenta y haz clic en Crear.

  6. Espera a que se complete la implementación.

Obtén credenciales de la cuenta de almacenamiento

  1. Ve a la cuenta de almacenamiento que acabas de crear.
  2. En la navegación de la izquierda, selecciona Claves de acceso en Seguridad y redes.
  3. Haz clic en Mostrar claves.
  4. Copia y guarda lo siguiente para usarlo más tarde:
    • Nombre de la cuenta de almacenamiento: El nombre que creaste (por ejemplo, sceplogssa)
    • Clave 1 o Clave 2: La clave de acceso compartida (una cadena aleatoria de 512 bits en codificación base-64)

Obtén el extremo del servicio Blob

  1. En la misma cuenta de almacenamiento, selecciona Extremos en la navegación de la izquierda.
  2. Copia y guarda la URL del extremo del servicio de Blob.
    • Ejemplo: https://sceplogssa.blob.core.windows.net/

Crea un espacio de trabajo de Log Analytics

  1. En el portal de Azure, busca Espacios de trabajo de Log Analytics.
  2. Haz clic en + Crear.
  3. Proporciona los siguientes detalles de configuración:

    Parámetro de configuración Valor
    Suscripción Selecciona tu suscripción a Azure
    Grupo de recursos Selecciona el mismo grupo de recursos que la cuenta de almacenamiento.
    Nombre Ingresa un nombre único (por ejemplo, scep-logs-workspace).
    Región Selecciona la misma región que la cuenta de almacenamiento.
  4. Haz clic en Revisar y crear.

  5. Haz clic en Crear.

  6. Espera a que se complete la implementación.

Instala el agente de Azure Monitor en el servidor de Windows

En el caso de los servidores locales que ejecutan SCEP, primero debes incorporar el servidor a Azure Arc y, luego, instalar el agente de Azure Monitor.

Incorporación a Azure Arc (solo para servidores locales)

  1. En el portal de Azure, busca Azure Arc.
  2. Selecciona Servidores en Infraestructura.
  3. Haz clic en + Agregar.
  4. Selecciona Agregar un solo servidor y haz clic en Generar secuencia de comandos.
  5. Proporciona los siguientes detalles de configuración:
    • Suscripción: Selecciona tu suscripción a Azure.
    • Grupo de recursos: Selecciona tu grupo de recursos.
    • Región: Selecciona la misma región que la cuenta de almacenamiento.
    • Sistema operativo: Selecciona Windows.
  6. Haz clic en Descargar y ejecutar la secuencia de comandos.
  7. En el servidor de Windows que ejecuta SCEP, abre PowerShell como administrador.
  8. Ejecuta la secuencia de comandos descargada para completar la incorporación de Azure Arc.

Instala el agente de Azure Monitor

  1. En el Azure Portal, ve a Azure Arc > Servidores (o Máquinas virtuales para las VMs de Azure).
  2. Selecciona el servidor que ejecuta SCEP.
  3. En la navegación de la izquierda, selecciona Extensiones en Configuración.
  4. Haz clic en + Agregar.
  5. Busca y selecciona Agente de Azure Monitor.
  6. Haz clic en Siguiente y, luego, en Revisar + crear.
  7. Haz clic en Crear.
  8. Espera a que se complete la instalación de la extensión.

Crea una regla de recopilación de datos para los eventos de SCEP

  1. En el portal de Azure, busca Monitor.
  2. Selecciona Reglas de recopilación de datos en Configuración.
  3. Haz clic en + Crear.
  4. En la pestaña Básicos, proporciona los siguientes detalles de configuración:
    • Nombre de la regla: Ingresa un nombre descriptivo (por ejemplo, dcr-scep-events).
    • Suscripción: Selecciona tu suscripción a Azure.
    • Grupo de recursos: Selecciona tu grupo de recursos.
    • Región: Selecciona la misma región que el espacio de trabajo de Log Analytics.
    • Tipo de plataforma: Selecciona Windows.
  5. Haz clic en Siguiente: Recursos.
  6. En la pestaña Recursos, haz lo siguiente:
    1. Haz clic en + Agregar recursos.
    2. Expande el grupo de recursos y selecciona el servidor que ejecuta SCEP (servidor de Azure Arc o VM de Azure).
    3. Haz clic en Aplicar.
  7. Haz clic en Siguiente: Recopila y entrega.
  8. En la pestaña Recolección y entrega, haz lo siguiente:

    1. Haz clic en + Agregar fuente de datos.
    2. En el menú desplegable Tipo de fuente de datos, selecciona Registros de eventos de Windows.
    3. Selecciona Personalizado para ingresar consultas XPath.
    4. Haz clic en + Agregar consulta XPath y, luego, ingresa la siguiente consulta XPath para recopilar todos los eventos de SCEP y Windows Defender:

      Microsoft-Windows-Windows Defender/Operational!*[System[(Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]
      

      Esta consulta XPath recopila todos los eventos (Crítico, Error, Advertencia, Información y Verbose) del canal operativo de Windows Defender. Para recopilar solo IDs de eventos específicos (por ejemplo, detecciones de software malicioso), usa una búsqueda más segmentada, como la siguiente:

      Microsoft-Windows-Windows Defender/Operational!*[System[(EventID=1006 or EventID=1007 or EventID=1116 or EventID=1117 or EventID=2000 or EventID=2001 or EventID=5007)]]
      
    5. En la pestaña Destino, haz clic en + Agregar destino.

    6. Selecciona Registros de Azure Monitor como el Tipo de destino.

    7. Selecciona el espacio de trabajo de Log Analytics que creaste antes (por ejemplo, scep-logs-workspace).

  9. Haz clic en Agregar fuente de datos.

  10. Haz clic en Revisar + crear.

  11. Haz clic en Crear.

IDs de eventos clave recopilados

La regla de recopilación de datos recopila eventos del canal Microsoft-Windows-Windows Defender/Operational, que incluye los siguientes IDs de eventos clave de SCEP:

ID del evento Descripción
1006 Se detectó software malicioso con el motor de protección contra software malicioso
1007 Se tomó una medida de protección contra software malicioso en el software malicioso detectado
1116 La protección en tiempo real detectó software malicioso o potencialmente no deseado
1117 La Protección en tiempo real tomó medidas contra el software malicioso
2000 Se inició la actualización de firmas de software malicioso
2001 Se completó la actualización de firmas de software malicioso
5007 Se cambió la configuración de la plataforma de software antimalware

Configura la exportación de datos desde el espacio de trabajo de Log Analytics a Azure Blob Storage

Registra el proveedor de recursos de Microsoft.Insights

  1. En el portal de Azure, ve a Suscripciones.
  2. Selecciona tu suscripción.
  3. En la navegación de la izquierda, selecciona Proveedores de recursos en Configuración.
  4. Busca Microsoft.Insights.
  5. Si el estado no es Registrado, selecciónalo y haz clic en Registrar.

Crea una regla de exportación de datos

  1. En el portal de Azure, ve a tu espacio de trabajo de Log Analytics (por ejemplo, scep-logs-workspace).
  2. En la navegación de la izquierda, selecciona Exportación de datos en Configuración.
  3. Haz clic en + Nueva regla de exportación.
  4. En la pestaña Basics, haz lo siguiente:
    • Nombre de la regla de exportación de datos: Ingresa un nombre descriptivo (por ejemplo, export-scep-to-blob).
  5. Haz clic en Siguiente: Fuente.
  6. En la pestaña Fuente, selecciona la tabla Evento.

  7. Haz clic en Siguiente: Destino.

  8. En la pestaña Destino, haz lo siguiente:

    • Tipo de destino: Selecciona Cuenta de almacenamiento.
    • Suscripción: Selecciona la suscripción que contiene la cuenta de almacenamiento.
    • Cuenta de almacenamiento: Selecciona la cuenta de almacenamiento que creaste antes (por ejemplo, sceplogssa).
  9. Haz clic en Siguiente: Revisar y crear.

  10. Haz clic en Crear.

  • Después de la configuración, los eventos se exportan automáticamente a la cuenta de almacenamiento. Se crea un contenedor llamado am-Event en la cuenta de almacenamiento. Los BLOB se almacenan en carpetas de 5 minutos con la siguiente estructura de ruta:

    am-Event/
      └── WorkspaceResourceId=/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/microsoft.operationalinsights/workspaces/{workspace}/
          └── y={year}/m={month}/d={day}/h={hour}/m={minute}/
              └── PT05M.json
    

Verifica la exportación de datos

  1. En el portal de Azure, ve a la cuenta de almacenamiento (por ejemplo, sceplogssa).
  2. En la navegación de la izquierda, selecciona Contenedores en Almacenamiento de datos.
  3. Verifica que exista el contenedor am-Event.
  4. Navega al contenedor y verifica que se estén creando archivos JSON con datos de eventos en la estructura de carpetas.

Configura un feed en Google SecOps para transferir registros de Microsoft System Center Endpoint Protection (SCEP)

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Agregar feed nuevo.
  3. En la siguiente página, haz clic en Configurar un solo feed.
  4. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Microsoft SCEP Logs).
  5. Selecciona Microsoft Azure Blob Storage V2 como el Tipo de fuente.
  6. Selecciona Microsoft System Center Endpoint Protection (SCEP) como el Tipo de registro.
  7. Haz clic en Siguiente.
  8. Especifica valores para los siguientes parámetros de entrada:

    • URI de Azure: Ingresa la URL del extremo del servicio Blob con la ruta de acceso del contenedor:
    https://sceplogssa.blob.core.windows.net/am-Event/
    

    Reemplaza lo siguiente:

    • sceplogssa: Es el nombre de tu cuenta de almacenamiento de Azure.
    • am-Event: Es el nombre del contenedor de blobs en el que se almacenan los eventos exportados.
    • Opción de eliminación del código fuente: Selecciona la opción de eliminación según tu preferencia:
      • Nunca: Nunca borra ningún archivo después de las transferencias.
      • Borrar archivos transferidos: Borra los archivos después de que se transfirieron correctamente.
      • Borrar los archivos transferidos y los directorios vacíos: Borra los archivos y los directorios vacíos después de que se transfirieron correctamente.
    • Antigüedad máxima del archivo: Incluye los archivos modificados en la cantidad de días más reciente (el valor predeterminado es 180 días).
    • Llave compartida: Ingresa el valor de la llave compartida (llave de acceso) que capturaste de la cuenta de almacenamiento.
    • Espacio de nombres del recurso: Es el espacio de nombres del recurso.
    • Etiquetas de transferencia: Es la etiqueta que se aplicará a los eventos de este feed.
  9. Haz clic en Siguiente.

  10. Revisa la nueva configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.

Configura el firewall de Azure Storage (si está habilitado)

Si tu cuenta de Azure Storage usa un firewall, debes agregar los rangos de IP de Google SecOps.

  1. En el portal de Azure, ve a tu cuenta de almacenamiento.
  2. Selecciona Herramientas de redes en Seguridad y redes.
  3. En Firewalls and virtual networks, selecciona Enabled from selected virtual networks and IP addresses.
  4. En la sección Firewall, en Rango de direcciones, haz clic en + Agregar rango de IP.
  5. Agrega cada rango de IP de Google SecOps en notación CIDR.

    Para obtener los rangos de IP actuales, haz lo siguiente:

  6. Además, selecciona la casilla de verificación Permitir que los servicios de Azure de la lista de servicios de confianza accedan a esta cuenta de almacenamiento para permitir que la exportación de datos del espacio de trabajo de Log Analytics escriba en la cuenta de almacenamiento.

  7. Haz clic en Guardar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
about.hostname about.hostname Se estableció en "%{_DB_HOST}"
_DB_PORT about.port Valor copiado directamente y convertido en número entero
_DB_DRIVER about.resource.name Se establece en "%{_DB_DRIVER}".
_DB_URL about.url Se estableció en "%{_DB_URL}".
signature_labels event.idm.read_only_udm.additional.fields Se fusiona de signature_labels si la firma no está vacía, pending_action si PendingAction no está vacío, execution_status si ExecutionStatus no está vacío, record_id si RecordID no está vacío, error_code si ErrorCode no está vacío y action_success si ActionSuccess no está vacío.
pending_action event.idm.read_only_udm.additional.fields
execution_status event.idm.read_only_udm.additional.fields
record_id event.idm.read_only_udm.additional.fields
error_code event.idm.read_only_udm.additional.fields
action_success event.idm.read_only_udm.additional.fields
source_url event.idm.read_only_udm.src.url Valor de source_url si no está vacío; de lo contrario, de my_string1 si no está vacío
my_string1 event.idm.read_only_udm.src.url
has_principal metadata.event_type Se establece en "NETWORK_CONNECTION" si has_principal y has_target son verdaderos; de lo contrario, se establece en "STATUS_UPDATE" si has_principal es verdadero, en "SCAN_FILE" si no es no_target_host y path_available es verdadero, en "STATUS_UNCATEGORIZED" si no es no_target_host, en "USER_UNCATEGORIZED" si has_user es verdadero y en "GENERIC_EVENT" en los demás casos.
has_user metadata.event_type
has_target metadata.event_type
no_target_host metadata.event_type
path_available metadata.event_type
Nombre metadata.product_event_type Valor copiado directamente
DetectionID metadata.product_log_id Valor copiado directamente
metadata.product_name metadata.product_name Se debe establecer en "MICROSOFT SYSTEM CENTER ENDPOINT PROTECTION".
metadata.vendor_name metadata.vendor_name Se establece en "MICROSOFT".
NTdomain principal.administrative_domain Valor copiado directamente
Nombre de host principal.asset.hostname Valor del nombre de host si no está vacío; de lo contrario, se toma de TargetHost
TargetHost principal.asset.hostname
action_type principal.group.attribute.labels Se fusionó de action_type_label si action_type no está vacío
Nombre de host principal.hostname Valor del nombre de host si no está vacío; de lo contrario, se toma de TargetHost
TargetHost principal.hostname
Proceso principal.process.file.full_path El valor se copia directamente si el proceso no está vacío.
NOMBRE DE USUARIO principal.user.user_display_name Valor copiado directamente
UserName principal.user.userid Valor de UserName si no está vacío; de lo contrario, valor del usuario si no está vacío
usuario principal.user.userid
acción security_result.action Se establece según los valores de acción (ALLOW para éxito/creado/iniciado/entregado/permitido, BLOCK para falla/bloqueado/desactivación/diferido/borrado/rechazado/descartado/error/bloqueado, ALLOW_WITH_MODIFICATION para acl_modified/modified, QUARANTINE para en cuarentena) o CleanAction (FAIL si falló, QUARANTINE si está en cuarentena, ALLOW si se permitió, BLOCK si se bloqueó)
CleanAction security_result.action
CleanAction security_result.action_details El valor se copia directamente si CleanAction no está vacío
categoría security_result.category_details Se fusionó de la categoría si no está vacío; de lo contrario, de Category
Categoría security_result.category_details
DetectionID security_result.detection_fields Se fusiona desde DetectionID_field si DetectionID no está vacío, detectionid_field si detectionid no está vacío, detection_source_labels si detection_source no está vacío, pending_action_labels si pending_action no está vacío, detection_Path si source_url, file_path y Path no están vacíos.
detectionid security_result.detection_fields
detection_source security_result.detection_fields
pending_action security_result.detection_fields
Ruta security_result.detection_fields
gravedad, security_result.severity Se establece según la gravedad (BAJA para 0/1/2/3/BAJA, MEDIA para 4/5/6/MEDIA/SUBSTANCIAL/INFO, ALTA para 7/8/ALTA/GRAVE, CRÍTICA para 9/10/MUY ALTA/CRÍTICA) o SeverityID (BAJA para 1, MEDIA para 2, ALTA para 4, CRÍTICA para 5, UNKNOWN_SEVERITY para el resto)
SeverityID security_result.severity
SeverityID security_result.severity_details Valor copiado directamente
ThreatID security_result.threat_id Valor copiado directamente
ThreatName security_result.threat_name Valor copiado directamente
MaliciousFileCt security_result.verdict_info Valor copiado directamente, convertido en número entero y combinado como malicious_file_ct
dest_nt_domain target.administrative_domain Valor copiado directamente
dest_name target.asset.hostname El valor se copia directamente si dest_name no está vacío.
file_path target.file.full_path Valor de file_path si no está vacío; de lo contrario, de Path si file_path está vacío; de lo contrario, de my_string si no está vacío
Ruta target.file.full_path
my_string target.file.full_path
dest_name target.hostname El valor se copia directamente si dest_name no está vacío.
ResourceID target.resource.name Valor de ResourceID si no está vacío; de lo contrario, de resourceid si no está vacío
resourceid target.resource.name
usuario target.user.userid El valor se copia directamente si el usuario no está vacío.
hora metadata.event_timestamp Se convierte a partir de la hora con el formato "MMM dd HH:mm:ss" si la hora no está vacía; de lo contrario, se convierte a partir de DetectionTime o detectiontime con UNIX_MS.
DetectionTime metadata.event_timestamp
detectiontime metadata.event_timestamp

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.