Administración avanzada del recopilador de registros
En este artículo se describe cómo configurar opciones avanzadas para Defender for Cloud Apps recopiladores de registros de cloud discovery.
Defender for Cloud Apps detección de nube sigue centrándose en los formatos de firewall base. Es posible que los cambios en los registros que se reenvía en el nivel de firewall no sigan funcionando o que provoquen 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, consulte Uso de un analizador de registros personalizado.
En este artículo se describe cómo modificar la configuración de docker de detección de nube de Defender for Cloud Apps.
Modificación de la configuración de FTP del recopilador de registros
Siga estos pasos en las secciones siguientes para modificar la configuración de su Docker de detección de nube 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-
Cambio de la contraseña de FTP
En este procedimiento se describe cómo cambiar la contraseña utilizada 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
Debería poder ver el siguiente contenido:
run_logs
ssl_update
config.json
Personalización de archivos de certificado
En este procedimiento se describe cómo personalizar los archivos de certificado que se usan para las conexiones seguras a la instancia de Docker de detección de nube.
Abra un cliente FTP y conéctese al host del recopilador de registros.
Vaya al
ssl_update
directorio 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: el certificado y la clave del recopilador de registros
Los mensajes de Syslog se envían a través de TLS al recopilador de registros, lo que requiere autenticación TLS mutua, incluida la autenticación de certificados de cliente y servidor.Los nombres de archivo son obligatorios. Si falta alguno de los archivos, se produce un error en la actualización.
En una ventana de terminal, ejecute:
docker exec -t <collector name> update_certs
La salida debe ser similar al código siguiente:
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 detrás de un proxy
Si se ejecuta detrás de un proxy, es posible que el recopilador de registros tenga problemas al enviar datos a Defender for Cloud Apps. Por ejemplo, esto puede ocurrir porque el recopilador de registros no confía en la entidad de certificación raíz del proxy y no puede conectarse a Microsoft Defender for Cloud Apps para recuperar su configuración o cargar los registros recibidos.
En los procedimientos siguientes se describe cómo habilitar el recopilador de registros detrás de un proxy.
Sugerencia
También puede cambiar los certificados que usa el recopilador de registros para Syslog o FTP, o resolver problemas de conectividad de los firewalls y servidores proxy al recopilador de registros. Para obtener más información, consulte Modificación de la configuración ftp del recopilador de registros.
Configuración del recopilador de registros detrás de un proxy
Asegúrese de que ha realizado los pasos necesarios para ejecutar Docker en una máquina Windows o Linux y que ha descargado correctamente la imagen de Docker Defender for Cloud Apps en el equipo host.
Para obtener más información, consulte Configuración de la carga automática de registros para informes continuos.
Validación de la creación de contenedores del recopilador de registros de Docker
Compruebe que el contenedor se creó y se está ejecutando. En el shell, ejecute:
docker ps
Debería ver algo similar a la siguiente salida:
Copia del certificado de ca raíz de proxy en el contenedor
En la máquina virtual, copie el certificado de CA en el contenedor de Defender for Cloud Apps. En el ejemplo siguiente, el contenedor se denomina Ubuntu-LogCollector y el certificado de ca se denomina Proxy-CA.crt.
El siguiente comando 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
Establecer la configuración para que funcione con el certificado de ca
Vaya al contenedor. Ejecute el siguiente comando 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 relacionada con la versión, use 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 de detección a Java KeyStore y defina una contraseña.
La contraseña predeterminada es
changeit
. Para obtener más información, consulte Cambio de la contraseña de Java KeyStore../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 importó correctamente en el almacén de claves de CA. 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 que una dirección IP envíe los mensajes de Syslog al recopilador de registros, cree una regla de tabla 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 IP que se puede agregar a la máquina 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 quite todas las demás conexiones procedentes de otras direcciones IP a través del mismo puerto.
iptables -I DOCKER-USER \! --src 1.2.3.4 -m tcp -p tcp --dport 601 -j DROP
Establecer el 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 API que usó durante la creación del recopilador de registros. Por ejemplo:
Al ejecutar el comando, especifique su propio token de API, como collector_config abcd1234abcd1234abcd1234abcd1234 ${CONSOLE} ${COLLECTOR}
Por ejemplo:
El recopilador de registros ahora puede comunicarse con Defender for Cloud Apps. Después de enviar datos a Defender for Cloud Apps, el estado del recopilador de registros cambia de Correcto a Conectado. Por ejemplo:
Nota:
Si tiene que actualizar la configuración del recopilador de registros para agregar o quitar un origen de datos, por ejemplo, normalmente tiene que eliminar el contenedor y volver a realizar los pasos anteriores.
Para evitarlo, puede volver a ejecutar la herramienta de collector_config con el nuevo token de API generado en el portal de Defender for Cloud Apps.
Cambio de la contraseña de Java KeyStore
Detenga el servidor KeyStore de Java.
Abra un shell de Bash dentro del contenedor y vaya a la carpeta appdata/conf .
Para cambiar la contraseña de KeyStore 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 de Java KeyStore para el servidor:
server.keystore.password=newStorePassword
- Especifique la nueva contraseña de certificado para el servidor:
server.key.password=newKeyPassword
- Especifique la nueva contraseña de Java KeyStore para el servidor:
Inicie el servidor.
Mover el recopilador de registros a otra partición de datos 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 Defender for Cloud Apps recopilador de registros de Docker a una partición de datos en el host Linux.
En este procedimiento se describe el traslado de 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 Linux no está en el ámbito de esta guía.
Para mover el recopilador de registros a otra partición:
Detenga el servicio Docker. Correr:
service docker stop
Mueva los datos del recopilador de registros a la nueva partición. Correr:
mv /var/lib/docker /datastore/docker
Quite el directorio de almacenamiento de Docker antiguo (/var/lib/docker) y cree un vínculo simbólico al nuevo directorio (/datastore/docker). Correr:
rm -rf /var/lib/docker && ln -s /datastore/docker /var/lib/
Inicie el servicio Docker. Correr:
service docker start
Opcionalmente, compruebe el estado del recopilador de registros. Correr:
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. Correr:
docker inspect <collector_name> | grep WorkDir
Por ejemplo:
Obtenga el tamaño en disco del recopilador de registros mediante la ruta de acceso identificada sin el sufijo "/work". Correr:
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 en su lugar:
docker ps -s
Traslado del recopilador de registros a un host accesible
En entornos regulados, es posible que se bloquee el acceso a Docker Hubs 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 puede resolver mi traslado 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 tiene 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 que tiene Docker instalado en el host. Por ejemplo, use una de las siguientes descargas:
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 exportando la imagen del recopilador de registros y, a continuación, importe la imagen al host de destino.
Exporte la imagen del recopilador de registros de la 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 la 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. Correr:
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 Windows 10 que tenga acceso a la Docker Hub, instale Docker Desktop.
Descargue la imagen del recopilador de registros. Correr:
docker login -u caslogcollector -p C0llector3nthusiast docker pull mcr.microsoft.com/mcas/logcollector
Exporte la imagen del recopilador de registros. Correr:
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. Correr:
docker load --input /tmp/mcasLC.tar
Por ejemplo:
Opcionalmente, compruebe que la importación se completó correctamente. Correr:
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 el requisito de definir puertos personalizados para los servicios Syslog y FTP.
Al agregar un origen de datos, Defender for Cloud Apps recopiladores de registros usa números de puerto específicos para escuchar los 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, seleccione Configuración. A continuación, elija Aplicaciones en la nube.
En Cloud Discovery, seleccione Carga automática de registros. A continuación, seleccione la pestaña Recopiladores 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 de ejecución desde el cuadro de diálogo. Por ejemplo:
Si se usa según lo proporcionado, 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 cambian, lo que le permite elegir cualquier puerto de escucha en el host.
Validar el tráfico y el formato de registro recibidos por el recopilador de registros en Linux
En ocasiones, es posible que tenga que investigar problemas como los siguientes:
- Los recopiladores de registros reciben datos: valide que los recopiladores de registros reciben mensajes de Syslog de los dispositivos y no están bloqueados por firewalls.
- Los datos recibidos tienen 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 que envía 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.
Valide que el recopilador de registros está recibiendo 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 Cloud Apps, seleccioneAcciones> de Cloud Discovery>Crear informe de instantáneas de Cloud Discovery.
Seleccione el origen de datos desde el que desea cargar los archivos de registro.
Seleccione Ver y compruebe y haga clic con el botón derecho en Descargar registro de ejemplo y copie el vínculo dirección URL.
Seleccione Cerrar>cancelar.
Correr:
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 están presentes en el archivo de mensajes y poco después se cargan en el portal de Defender for Cloud Apps.
Inspeccione los archivos pertinentes dentro del contenedor de Docker de Defender for Cloud Apps:
Inicie sesión en el contenedor. Correr:
docker exec -it <Container Name> bash
Determine si los mensajes de Syslog se escriben en el archivo de mensajes. Correr:
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 en hasta que alcance los 40 KB de tamaño. Por ejemplo:
Revise los registros que se cargaron en Defender for Cloud Apps en el
/var/adallom/discoverylogsbackup
directorio. 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 Defender for Cloud Apps Asistente para crear recopilador de registros.
Escribir 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 /var/adallom/discoverylogsbackup
directorio.
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 quitar la imagen actual.
- Después de instalar la nueva versión, actualice los archivos de certificado.
Pasos siguientes
Si tiene algún problema, estamos aquí para ayudarle. Para obtener ayuda o soporte técnico para el problema del producto, abra una incidencia de soporte técnico.