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:
Conéctese al host del recopilador de registros y ejecute:
docker exec -it <collector name> pure-pw passwd <ftp user>
Escriba la nueva contraseña y vuelva a escribirla para confirmarla.
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.
Abra un cliente FTP y conéctese al host del recopilador de registros.
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á.
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:~#
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:
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
Vaya al contenedor. Ejecute el comando siguiente para abrir Bash en el contenedor del recopilador de registros:
docker exec -it Ubuntu-LogCollector /bin/bash
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
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>
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
Se muestra el certificado de CA de proxy importado.
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:
Al ejecutar el comando, especifique su propio token de API. como, por ejemplo, collector_config abcd1234abcd1234abcd1234abcd1234 ${CONSOLE} ${COLLECTOR}
Por ejemplo:
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:
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
Detenga el servidor del almacén de claves de Java.
Abra un shell de Bash dentro del contenedor y vaya a la carpeta appdata/conf.
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
.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.
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:
- Especifique la nueva contraseña del almacén de claves de Java para el servidor:
server.keystore.password=newStorePassword
- Especifique la nueva contraseña del certificado para el servidor:
server.key.password=newKeyPassword
- Especifique la nueva contraseña del almacén de claves de Java para el servidor:
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:
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:
Detenga el servicio de Docker. Ejecute:
service docker stop
Mueva los datos del recopilador de registros a la nueva partición. Ejecute:
mv /var/lib/docker /datastore/docker
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/
Inicie el servicio de Docker. Ejecute:
service docker start
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.
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:
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>/
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
Asegúrese de tener Docker instalado en su host. Por ejemplo, use una de las descargas siguientes:
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
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
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.
Descargue la imagen del recopilador de registros en el equipo Windows en
C:\mcasLogCollector\
mediante WinSCP. Por ejemplo:
Exportación de la imagen en Windows
En un equipo con Windows 10 que tenga acceso a Docker Hub, instale Docker Desktop.
Descargue la imagen del recopilador de registros. Ejecute:
docker login -u caslogcollector -p C0llector3nthusiast docker pull mcr.microsoft.com/mcas/logcollector
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.
Cargue la imagen del recopilador de registros en el host de destino en
/tmp/
. Por ejemplo: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:
Opcionalmente, compruebe que la importación se completó correctamente. Ejecute:
docker image ls
Por ejemplo:
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:
En el portal de Microsoft Defender, selecciona Configuración. A continuación, seleccione Aplicaciones en la nube.
En Cloud Discovery, elija Carga automática del registro. A continuación, seleccione la pestaña Recoopiladores de registros.
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:
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:
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:
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:
Inicie sesión en el servidor que hospeda el contenedor de Docker.
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:
Use netcat o un comando similar para analizar el tráfico de red en el equipo host:
Instale netcat y wget.
Descargue un archivo de registro de ejemplo de Microsoft Defender XDR. Si es necesario, descomprima el archivo de registro.
En Microsoft Defender XDR, en Aplicaciones en la nube, seleccione Cloud Discovery>Acciones>Crear informe de instantáneas de Cloud Discovery.
Seleccione el Origen de datos desde el que quiere cargar los archivos de registro.
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.
Seleccione Cerrar>Cancelar.
Ejecute:
wget <URL_address_to_sample_log>
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:
Inicie sesión en el contenedor. Ejecute:
docker exec -it <Container Name> bash
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:
Nota:
Este archivo se seguirá escribiendo hasta que alcance 40 KB de tamaño. Por ejemplo:
Revise los registros que se han cargado en Defender for Cloud Apps en el directorio
/var/adallom/discoverylogsbackup
. Por ejemplo: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.