Share via


Administración avanzada del recopilador de registros

En este artículo se describe cómo configurar opciones avanzadas para recopiladores de registros de Cloud Discovery para Defender for Cloud Apps.

La detección en la nube de Defender for Cloud Apps continúa centrándose en formatos de firewall base. Es posible que los cambios realizados en los registros que se reenvíen en el nivel de firewall no sigan funcionando o pueden provocar problemas con el análisis. Si encuentra errores de este tipo, se recomienda seguir usando el formato de firewall base o usar opciones con el recopilador de registros personalizado. Para obtener más información, vea Uso del analizador de registros personalizado.

En este artículo se describe cómo modificar la configuración de Docker de Cloud Discovery para Defender for Cloud Apps.

Modificación de la configuración FTP del recopilador de registros

Siga los pasos de las secciones siguientes para modificar la configuración de Docker de Cloud Discovery de Defender for Cloud Apps.

Comprobación de la versión del recopilador de registros

Para comprobar la versión del recopilador de registros instalada actualmente en el sistema, conéctese al host del recopilador de registros y ejecute:

cat /var/adallom/versions | grep columbus-

Cambiar la contraseña de FTP

En este procedimiento se describe cómo cambiar la contraseña usada para acceder a los archivos del recopilador de registros:

  1. Conéctese al host del recopilador de registros y ejecute:

    docker exec -it <collector name> pure-pw passwd <ftp user>
    
  2. Escriba la nueva contraseña y vuelva a escribirla para confirmarla.

  3. Ejecute el siguiente comando para aplicar el cambio:

    docker exec -it <collector name> pure-pw mkdb
    

Ahora debería ver el contenido siguiente:

  • run_logs
  • ssl_update
  • config.json

Personalización de archivos de certificado

Este procedimiento describe cómo personalizar los archivos de certificado que utiliza para las conexiones seguras con el Docker de Cloud Discovery.

  1. Abra un cliente FTP y conéctese al host del recopilador de registros.

  2. Vaya al directorio ssl_update y cargue los nuevos archivos de certificado, incluidos los siguientes:

    Tipo de receptor Archivos necesarios
    FTP - pure-ftpd.pem: incluye los datos de clave y certificado.
    Syslog - ca.pem: certificado de la entidad de certificación que se usó para firmar el certificado del cliente.
    - server-key.pem y server-cert.pem: certificado y clave del recopilador de registros.

    Los mensajes de Syslog se envían a través de TLS al recopilador de registros, lo que requiere una autenticación TLS mutua, incluida la autenticación de los certificados de cliente y servidor.

    Los nombres de archivo son obligatorios. Si falta alguno de ellos, la actualización fallará.

  3. En una ventana de terminal, ejecute:

    docker exec -t <collector name> update_certs
    

    La salida debe tener un aspecto similar al del siguiente código:

    root@DockerPlayground:~# docker exec -t columbus update_certs
    rsyslog: stopped
    rsyslog: started
    ftpd: stopped
    ftpd: started
    root@DockerPlayground:~#
    
  4. En una ventana de terminal, ejecute:

    docker exec <collector name> chmod -R 700 /etc/ssl/private/
    

Habilitación del recopilador de registros tras un proxy

Si se ejecuta detrás de un proxy, es posible que el recopilador de registros tenga problemas para enviar datos a Defender for Cloud Apps. Por ejemplo, esto podría deberse a que el recopilador de registros no confía en la entidad emisora de certificados raíz del proxy y no puede conectarse a Microsoft Defender for Cloud Apps para recuperar su configuración o cargar los registros recibidos.

Los procedimientos siguientes describen cómo habilitar el recopilador de registros detrás de un proxy.

Sugerencia

También puede cambiar los certificados que utiliza el recopilador de registros para Syslog o FTP, o resolver los problemas de conectividad de los firewalls y servidores proxy con el recopilador de registros. Para obtener más información, consulte Modificación de la configuración de FTP del recopilador de registros.

Configuración del recopilador de registros tras un proxy

Asegúrese de que ha realizado los pasos necesarios para ejecutar Docker en una máquina Windows o Linux y de que ha descargado correctamente la imagen de Docker de Defender for Cloud Apps en el equipo host.

Para más información, consulte Configuración de la carga de registros automática para informes continuos.

Validación de la creación del contenedor del recopilador de registros de Docker

Compruebe que se ha creado el contenedor y se está ejecutando. En el shell, ejecute:

docker ps

Debería ver algo parecido a los siguiente:

Captura de pantalla del contenedor de Docker en ejecución.

Copia del certificado de entidad de certificación raíz del proxy en el contenedor

Desde la máquina virtual, copie el certificado de entidad de certificación en el contenedor de Defender for Cloud Apps. En el ejemplo siguiente, el contenedor se denomina Ubuntu LogCollector y el certificado de entidad de certificación se denomina Proxy-CA.crt.

El comando siguiente copia el certificado en una carpeta del contenedor en ejecución. Ejecute el comando en el host de Ubuntu:

docker cp Proxy-CA.crt Ubuntu-LogCollector:/var/adallom/ftp/discovery

Establecimiento de la configuración para que funcione con el certificado de entidad de certificación

  1. Vaya al contenedor. Ejecute el comando siguiente para abrir Bash en el contenedor del recopilador de registros:

    docker exec -it Ubuntu-LogCollector /bin/bash
    
  2. Desde una ventana de Bash dentro del contenedor, vaya a la carpeta Java jre. Para evitar un error de ruta de acceso relacionado con la versión, utilice el siguiente comando:

    cd "$(find /opt/jdk/*/jre -name "bin" -printf '%h' -quit)"
    cd bin
    
  3. Importe el certificado raíz, que copió anteriormente, desde la carpeta discovery en el almacén de claves de Java y defina una contraseña.

    La contraseña predeterminada es changeit. Para obtener más información, consulte Cambio de la contraseña del almacén de claves de Java.

    ./keytool --import --noprompt --trustcacerts --alias SelfSignedCert --file /var/adallom/ftp/discovery/Proxy-CA.crt --keystore ../lib/security/cacerts --storepass <password>
    
  4. Compruebe que el certificado se ha importado correctamente en el almacén de claves de la entidad emisora de certificados. Ejecute el siguiente comando para buscar el alias que proporcionó durante la importación (SelfSignedCert):

    ./keytool --list --keystore ../lib/security/cacerts | grep self
    

Debería ver el certificado de entidad de certificación de proxy importado. Por ejemplo:

Captura de pantalla de la interfaz de keytool.

Restricción de las direcciones IP que envían mensajes de syslog al recopilador de registros en Linux

Para proteger la imagen de Docker y asegurarse de que solo se permite enviar mensajes de syslog al recopilador de registros, cree una regla de tabla de IP en el equipo host para permitir el tráfico de entrada y quitar el tráfico que llega a través de puertos específicos, como TCP/601 o UDP/514, en función de la implementación.

El comando siguiente muestra un ejemplo de cómo crear una regla de tabla de IP que se puede agregar al equipo host. Esta regla de tabla permite que la dirección IP 1.2.3.4 se conecte al contenedor del recopilador de registros a través del puerto TCP 601 y quita el resto de las conexiones procedentes de otras direcciones IP a través de dicho puerto.

iptables -I DOCKER-USER \! --src 1.2.3.4 -m tcp -p tcp --dport 601 -j DROP

Establecimiento del recopilador de registros para que se ejecute con la nueva configuración

El contenedor ya está listo.

Ejecute el comando collector_config mediante el token de la API que utilizó durante la creación del recopilador de registros. Por ejemplo:

Captura de pantalla del cuadro de diálogo Crear recopilador de registros.

Al ejecutar el comando, especifique su propio token de API. como, por ejemplo, collector_config abcd1234abcd1234abcd1234abcd1234 ${CONSOLE} ${COLLECTOR}

Por ejemplo:

Captura de pantalla de un ejemplo de actualización de configuración.

El recopilador de registros ahora puede comunicarse con Defender for Cloud Apps. Después de enviar los datos a Defender for Cloud Apps, el estado del recopilador de registros cambiará de Correctoa Conectado. Por ejemplo:

Captura de pantalla del estado de carga.

Nota:

Si tiene que actualizar la configuración del recopilador de registros para, por ejemplo, agregar o eliminar un origen de datos, normalmente tiene que eliminar el contenedor y volver a realizar los pasos anteriores.

Para evitar esto, puede volver a ejecutar la herramienta collector_config con el nuevo token de la API generado en el portal de Defender for Cloud Apps.

Cambio de la contraseña del almacén de claves de Java

  1. Detenga el servidor del almacén de claves de Java.

  2. Abra un shell de Bash dentro del contenedor y vaya a la carpeta appdata/conf.

  3. Para cambiar la contraseña del almacén de claves del servidor, ejecute:

    keytool -storepasswd -new newStorePassword -keystore server.keystore
    -storepass changeit
    

    La contraseña predeterminada del servidor es changeit.

  4. Para cambiar la contraseña del certificado, ejecute:

    keytool -keypasswd -alias server -keypass changeit -new newKeyPassword -keystore server.keystore -storepass newStorePassword
    

    El alias de servidor predeterminado es servidor.

  5. En un editor de texto, abra el archivo server-install\conf\server\secured-installed.properties. Agregue las siguientes líneas de código y guarde los cambios:

    1. Especifique la nueva contraseña del almacén de claves de Java para el servidor: server.keystore.password=newStorePassword
    2. Especifique la nueva contraseña del certificado para el servidor: server.key.password=newKeyPassword
  6. Inicie el servidor.

Traslado del recopilador de registros a una partición de datos diferente en Linux

Muchas empresas tienen el requisito de mover datos a una partición independiente. En este procedimiento se describe cómo mover las imágenes del recopilador de registros de Docker de Defender for Cloud Apps a una partición de datos en el host de Linux.

En este procedimiento se describe cómo mover datos a una partición denominada almacén de datos y se supone que ya ha montado la partición. Por ejemplo:

Lista de particiones de Linux.

La adición y configuración de una nueva partición en el host de Linux no entra en el ámbito de esta guía.

Para mover el recopilador de registros a una partición diferente:

  1. Detenga el servicio de Docker. Ejecute:

    service docker stop
    
  2. Mueva los datos del recopilador de registros a la nueva partición. Ejecute:

    mv /var/lib/docker /datastore/docker
    
  3. Elimine el antiguo directorio de almacenamiento de Docker (/var/lib/docker) y cree un vínculo simbólico al nuevo directorio (/datastore/docker). Ejecute:

    rm -rf /var/lib/docker && ln -s /datastore/docker /var/lib/
    
  4. Inicie el servicio de Docker. Ejecute:

    service docker start
    
  5. Opcionalmente, compruebe el estado del recopilador de registros. Ejecute:

    docker ps
    

Inspección del uso del disco del recopilador de registros en Linux

En este procedimiento se describe cómo revisar el uso y la ubicación del disco del recopilador de registros.

  1. Identifique la ruta de acceso al directorio donde se almacenan los datos del recopilador de registros. Ejecute:

    docker inspect <collector_name> | grep WorkDir
    

    Por ejemplo:

    Captura de pantalla de cómo identificar el directorio del recopilador de registros.

  2. Obtenga el tamaño en el disco del recopilador de registros mediante la ruta de acceso identificada sin el sufijo "/work". Ejecute:

    du -sh /var/lib/docker/overlay2/<log_collector_id>/
    

    Captura de pantalla de cómo identificar el tamaño del recopilador de registros en el disco.

    Nota:

    Si solo necesita conocer el tamaño en el disco, puede usar el siguiente comando: docker ps -s

Traslado del recopilador de registros a un host accesible

En entornos regulados, se puede bloquear el acceso a Docker Hub donde se hospeda la imagen del recopilador de registros. Esto impide que Defender for Cloud Apps importe los datos del recopilador de registros y se pueda resolver mi movimiento de la imagen del recopilador de registros a un host accesible.

En este procedimiento se describe cómo descargar la imagen del recopilador de registros mediante un equipo que tenga acceso a Docker Hub e importarla al host de destino.

La imagen descargada se puede importar en el repositorio privado o directamente en el host. En este procedimiento se describe cómo descargar la imagen del recopilador de registros en el equipo Windows y, a continuación, usar WinSCP para mover el recopilador de registros al host de destino.

Requisitos previos

  1. Asegúrese de tener Docker instalado en su host. Por ejemplo, use una de las descargas siguientes:

  2. Después de la descarga, use la guía de instalación sin conexión de Docker para instalar el sistema operativo.

    Inicie el proceso mediante la exportación de la imagen del recopilador de registros y, a continuación, importe la imagen al host de destino.

Exportación de la imagen del recopilador de registros desde Docker Hub

En los procedimientos siguientes se describe cómo exportar la imagen del recopilador de registros mediante Linux o Windows.

Exportación de la imagen en Linux

  1. En un equipo Linux que tenga acceso a Docker Hub, ejecute el siguiente comando para instalar Docker y descargar la imagen del recopilador de registros.

    curl -o /tmp/MCASInstallDocker.sh https://adaprodconsole.blob.core.windows.net/public-files/MCASInstallDocker.sh && chmod +x /tmp/MCASInstallDocker.sh; /tmp/MCASInstallDocker.sh
    
  2. Exporte la imagen del recopilador de registros. Ejecute:

    docker save --output /tmp/mcasLC.targ mcr.microsoft.com/mcas/logcollector
    chmod +r /tmp/mcasLC.tar
    

    Importante

    Asegúrese de usar el parámetro de salida para escribir en un archivo, en lugar de STDOUT.

  3. Descargue la imagen del recopilador de registros en el equipo Windows en C:\mcasLogCollector\ mediante WinSCP. Por ejemplo:

    Captura de pantalla de la descarga del recopilador de registros en un equipo Windows.

Exportación de la imagen en Windows

  1. En un equipo con Windows 10 que tenga acceso a Docker Hub, instale Docker Desktop.

  2. Descargue la imagen del recopilador de registros. Ejecute:

    docker login -u caslogcollector -p C0llector3nthusiast
    docker pull mcr.microsoft.com/mcas/logcollector
    
  3. Exporte la imagen del recopilador de registros. Ejecute:

    docker save --output C:\mcasLogCollector\mcasLC.targ mcr.microsoft.com/mcas/logcollector
    

    Importante

    Asegúrese de usar el parámetro de salida para escribir en un archivo, en lugar de STDOUT.

Importación y carga de la imagen del recopilador de registros en el host de destino

En este procedimiento se describe cómo transferir la imagen exportada al host de destino.

  1. Cargue la imagen del recopilador de registros en el host de destino en /tmp/. Por ejemplo:

    Captura de pantalla de la carga del recopilador de registros en el host de destino.

  2. En el host de destino, importe la imagen del recopilador de registros en el repositorio de imágenes de Docker. Ejecute:

    docker load --input /tmp/mcasLC.tar
    

    Por ejemplo:

    Captura de pantalla de la importación de la imagen del recopilador de registros en el repositorio de Docker.

  3. Opcionalmente, compruebe que la importación se completó correctamente. Ejecute:

    docker image ls
    

    Por ejemplo:

    Captura de pantalla de la comprobación de que la importación del recopilador de registros se realizó correctamente.

    Ahora puede continuar con la creación del recopilador de registros mediante la imagen del host de destino.

Definición de puertos personalizados para receptores Syslog y FTP para recopiladores de registros en Linux

Algunas organizaciones tienen un requisito para definir puertos personalizados para los servicios Syslog y FTP.

Al agregar un origen de datos, los recopiladores de registros de Defender for Cloud Apps usan números de puerto específicos para escuchar registros de tráfico de uno o varios orígenes de datos.

En la tabla siguiente se enumeran los puertos de escucha predeterminados para los receptores:

Tipo de receptor Puertos
syslog * UDP/514 - UDP/51x
* TCP/601 - TCP/60x
FTP * TCP/21

Siga estos pasos para definir puertos personalizados:

  1. En el portal de Microsoft Defender, selecciona Configuración. A continuación, seleccione Aplicaciones en la nube.

  2. En Cloud Discovery, elija Carga automática del registro. A continuación, seleccione la pestaña Recoopiladores de registros.

  3. En la pestaña Recopiladores de registros, agregue o edite un recopilador de registros y, después de actualizar los orígenes de datos, copie el comando ejecutar desde el cuadro de diálogo. Por ejemplo:

    Copie el comando de ejecución desde el Asistente para recopilador de registros.

    Si se usa como se proporciona, el comando proporcionado por el asistente configura el recopilador de registros para que use los puertos 514/udp y 515/udp. Por ejemplo:

    (echo <credentials>) | docker run --name LogCollector1 -p 514:514/udp -p 515:515/udp -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='10.0.0.100'" -e "PROXY=" -e "SYSLOG=true" -e "CONSOLE=machine.us2.portal.cloudappsecurity.com" -e "COLLECTOR=LogCollector1" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
    

    Por ejemplo:

    Captura de pantalla del comando ejecutado desde el asistente para el recopilador de registros.

  4. Antes de usar el comando en el equipo host, modifique el comando para usar los puertos personalizados. Por ejemplo, para configurar el recopilador de registros para que use los puertos UDP 414 y 415, cambie el comando de la siguiente manera:

    (echo <credentials>) | docker run --name LogCollector1 -p 414:514/udp -p 415:515/udp -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='10.0.0.100'" -e "PROXY=" -e "SYSLOG=true" -e "CONSOLE=machine.us2.portal.cloudappsecurity.com" -e "COLLECTOR=LogCollector1" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
    

    Por ejemplo:

    Captura de pantalla de un comando de ejecución personalizado.

    Nota:

    Solo se modifica la asignación de Docker. Los puertos asignados internamente no se cambian, lo que le permite elegir cualquier puerto de escucha en el host.

Validación del formato de tráfico y registro recibido por el recopilador de registros en Linux

En ocasiones, es posible que tenga que investigar problemas como los siguientes:

  • Recopiladores de registros que reciben datos: valide que los recopiladores de registros reciben mensajes de Syslog de los dispositivos y no los bloquean los firewalls.
  • Los datos recibidos están en el formato de registro correcto: valide el formato de registro para ayudarle a solucionar errores de análisis comparando el formato de registro esperado por Defender for Cloud Apps y el enviado por el dispositivo.

Siga estos pasos para comprobar que los recopiladores de registros reciben el tráfico:

  1. Inicie sesión en el servidor que hospeda el contenedor de Docker.

  2. Compruebe que el recopilador de registros recibe mensajes de Syslog mediante cualquiera de los métodos siguientes:

    • Use tcpdump o un comando similar para analizar el tráfico de red en el puerto 514:

      tcpdump -Als0 port 514
      

      Si todo está configurado correctamente, debería ver el tráfico de red desde los dispositivos. Por ejemplo:

      Captura de pantalla del análisis del tráfico de red a través de tcpdump.

    • Use netcat o un comando similar para analizar el tráfico de red en el equipo host:

      1. Instale netcat y wget.

      2. Descargue un archivo de registro de ejemplo de Microsoft Defender XDR. Si es necesario, descomprima el archivo de registro.

        1. En Microsoft Defender XDR, en Aplicaciones en la nube, seleccione Cloud Discovery>Acciones>Crear informe de instantáneas de Cloud Discovery.

        2. Seleccione el Origen de datos desde el que quiere cargar los archivos de registro.

        3. Seleccione Ver y verificar y, a continuación, haga clic con el botón derecho en Descargar registro de ejemplo y copie el vínculo de la dirección URL.

        4. Seleccione Cerrar>Cancelar.

      3. Ejecute:

        wget <URL_address_to_sample_log>
        
      4. Ejecute netcat para transmitir los datos al recopilador de registros.

        cat <path_to_downloaded_sample_log>.log | nc -w 0 localhost <datasource_port>
        

      Si el recopilador está configurado correctamente, los datos de registro estarán presentes en el archivo de mensajes y poco después de eso se cargarán en el portal de Defender for Cloud Apps.

    • Inspeccione los archivos pertinentes en el contenedor Docker de Defender for Cloud Apps:

      1. Inicie sesión en el contenedor. Ejecute:

        docker exec -it <Container Name> bash
        
      2. Determine si los mensajes de Syslog se escriben en el archivo de mensajes. Ejecute:

        cat /var/adallom/syslog/<your_log_collector_port>/messages
        

      Si todo está configurado correctamente, debería ver el tráfico de red desde los dispositivos. Por ejemplo:

      Captura de pantalla del análisis del tráfico mediante el comando cat.

      Nota:

      Este archivo se seguirá escribiendo hasta que alcance 40 KB de tamaño. Por ejemplo:

  3. Revise los registros que se han cargado en Defender for Cloud Apps en el directorio /var/adallom/discoverylogsbackup. Por ejemplo:

    Revise los archivos de registro cargados.

  4. Valide el formato de registro recibido por el recopilador de registros comparando los mensajes almacenados en /var/adallom/discoverylogsbackup con el formato de registro de ejemplo proporcionado en el Asistente para crear recopilador de registros de Defender for Cloud Apps.

Escritura de la salida del archivo de mensajes en un archivo local

Si desea usar su propio registro de ejemplo, pero no tiene acceso al dispositivo, use los siguientes comandos para escribir la salida del archivo de mensajes, ubicado en el directorio syslog del recopilador de registros, en un archivo local en el host:

docker exec CustomerLogCollectorName tail -f -q /var/adallom/syslog/<datasource_port>/messages > /tmp/log.log

Compare el archivo de salida (/tmp/log.log) con los mensajes almacenados en el directorio /var/adallom/discoverylogsbackup.

Actualización de la versión del recopilador de registros

Al actualizar el recopilador de registros:

  • Antes de instalar la nueva versión, asegúrese de detener el recopilador de registros y eliminar la imagen actual.
  • Después de instalar la nueva versión, actualice los archivos de certificado.

Pasos siguientes

Si tienes algún problema, estamos aquí para ayudar. Para obtener ayuda o soporte técnico para el problema del producto, abre una incidencia de soporte técnico.