Cómo enviar registros de Linux a un servidor remoto

Cómo enviar registros de Linux a un servidor remoto
Este tutorial de Linux explica cómo enviar registros de Linux a un servidor remoto.

Después de leer este tutorial, sabrá cómo configurar el servidor y el cliente de Linux para enviar registros de forma remota. También aprenderá cómo abrir los puertos necesarios en su sistema utilizando UFW (firewall sin complicaciones).

Este breve tutorial está optimizado para los usuarios que buscan una fuente de conocimiento rápido y una implementación rápida.

Todas las instrucciones descritas en este documento incluyen capturas de pantalla que facilitan los usuarios inexpertos para que las sigan.

Ventajas de enviar registros de Linux a un servidor remoto

La razón principal para implementar el registro remoto es la misma, porque un dedicado /var Se recomienda la partición: una cuestión de espacio, pero no solo. Al enviar registros a un dispositivo de almacenamiento remoto, puede garantizar el acceso a ellos incluso antes de que un sistema se bloquee y mantenga una gran base de datos histórica de errores. Esta implementación también nos permite centralizar los informes para más de un dispositivo.

Comenzando con el registro remoto de Linux

El programa utilizado para enviar registros de forma remota en este tutorial es rsyslog, que se incluye de forma predeterminada en muchas distribuciones de Linux, incluidas Debian y Ubuntu Linux.

Para verificar si Rsyslog está instalado en su sistema y su estado, ejecute el comando que se muestra en la siguiente captura de pantalla:

SUDO SERVICIO RSYSLOG ESTADO

Como puede ver, el estado está activo en la siguiente captura de pantalla.

Nota: Si rsyslog no está instalado en su sistema, puede usar su administrador de paquetes para obtenerlo. (MI.gramo., sudo apt install rsyslog)

Si rsyslog no está activo, puede iniciarlo ejecutando el siguiente comando:

SUDO SERVICIO RSYSLOG Start

También puede iniciar rsyslog ejecutando el siguiente comando:

Nota: Para obtener información adicional sobre la administración de servicios de Debian/Ubuntu, leer paradas, iniciar y reiniciar servicios en Debian.

sudo systemctl iniciar rsyslog

El rsyslog La herramienta requiere la configuración tanto en los dispositivos de envío (cliente) y recepción (servidor). La siguiente sección de este tutorial explica cómo configurar el lado del servidor. Aquí están las instrucciones para configurar el cliente.

Cómo enviar registros de Linux a un servidor remoto: el lado del servidor

Debemos configurar tanto el servidor como el cliente para enviar registros de forma remota. Esta sección proporcionará instrucciones para que la configuración del lado del servidor continúe configurando el cliente.

El rsyslog El archivo de configuración es /etc/rsyslog.confusión. Puede editar este archivo utilizando cualquier editor de texto como nano o VI.

Para este tutorial, estoy usando nano. Abra el archivo, como se muestra en la siguiente captura de pantalla:

sudo nano /etc /rsyslog.confusión

Al enviar registros de forma remota, los dispositivos locales y remotos escribirán el mismo archivo. Por lo tanto, haría que leerlo sea una tarea incómoda. Para evitar esto y obtener registros por separado, agregue el siguiente código al /etc/rsyslog Archivo, como se muestra en la siguiente imagen:

$ Template remotelogs, ”/var/log/%hostname%/remotelog.registro"
*.* ?Remotelogs
& ~

Desplácese hacia abajo en el archivo y la falta de comment las siguientes líneas eliminando el signo de número (#) al comienzo de cada línea:

Módulo (load = "imudp")
input (type = "Imudp" Port = "514")

Además, la falta de comment lo siguiente:

módulo (load = "IMTCP")
input (type = ”imtcp” port = ”514”)

Las cuatro líneas deben ser como se muestran en la captura de pantalla anterior para permitir el registro a través de los protocolos TCP y UDP.

Una vez que termine de editar el archivo, presione CTRL+X y luego Y Para guardar los cambios si usa nano.

Después de editar y guardar el /etc/rsyslog.confusión Archivo, debemos actualizar las reglas de firewall para permitir el tráfico a través del puerto 514 definido de forma predeterminada en el archivo de configuración.

Para editar las reglas de firewall en este tutorial, uso UFW (firewall sin complicaciones).

Para abrir el puerto 514 para el protocolo TCP, ejecute el comando que se muestra en la siguiente imagen:

sudo UFW Permitir 514/TCP

Para finalizar, abra el puerto UDP 514 ejecutando el siguiente comando:

UFW Permitir 514/UDP

Ahora, la configuración de su servidor está lista para obtener registros remotos. Reinicie el servicio RSYSLOG ejecutando el siguiente comando:

SUDO SERVICIO RSYSLOG RESTART

Una vez que el servidor esté listo, continuemos con la configuración del cliente.

Cómo enviar registros de Linux a un servidor remoto: el lado del cliente

Esta sección tutorial explica cómo configurar el cliente de Linux para enviar registros al servidor remoto. Los siguientes pasos descritos deben realizarse en el dispositivo cliente.

En el cliente, el archivo de configuración que necesitamos editar es /etc/rsyslog.confusión.

Ejecute el comando que se muestra en la siguiente imagen en el dispositivo cliente:

sudo nano /etc /rsyslog.confusión

Dentro de este archivo, necesitamos agregar una línea con la siguiente sintaxis:

*.* @@:

En mi caso, la IP del servidor es 192.168.0.103. Por lo tanto, agregaré la siguiente línea, como puede ver en la siguiente captura de pantalla:

Nota: Use solo un símbolo AT (@) si usa solo el protocolo UDP.

*.* @@ 192.168.0.103: 514

Después de editar el archivo, presione CTRL+X y luego Y Para guardar los cambios.

Ahora, reinicie rsyslog para aplicar cambios ejecutando el comando, como se muestra a continuación:

SUDO SERVICIO RSYSLOG RESTART

Hemos terminado con la configuración del cliente y listos para leer los registros remotos en el servidor.

Lectura de registros de Linux en el servidor

Después de seguir los pasos anteriores, ambos sistemas están listos para enviar y recibir registros.

Los registros de Linux se almacenan debajo del /var/log directorio. Cuando usas rsyslog Por defecto, los registros locales y remotos se escriben en el mismo archivo de registro, lo cual es incómodo de leer. Pero, cuando editamos el servidor /etc/rsyslog.confusión Archivo en el servidor, instruimos a RsysLog para almacenar registros en diferentes directorios y archivos.

Según nuestra configuración, los registros remotos se almacenarán en un directorio con el nombre del host remoto en /var/log. En mi caso, el host remoto se nombra Linuxhint2; Por lo tanto, para ver registros remotos, necesito ver los archivos en /var/log/linuxhint2, dónde Linuxhint2 es el nombre de host remoto, debe reemplazarlo con el nombre de host de su cliente.

Como puede ver en la siguiente captura de pantalla, debajo /var/log, Hay dos directorios para cada dispositivo: dispositivos locales (Linuxhint) y remotos (Linuxhint2).

ls /var /log

Por lo tanto, para ver el registro dentro del directorio remoto, ejecuto el siguiente comando, donde necesita reemplazar Linuxhint2 con su nombre de host remoto:

sudo ls/var/log/linuxhint2

Como puede ver en la imagen anterior, hay un archivo llamado remotelog.Registre el nombre del archivo que definimos cuando editamos el servidor /etc/rsyslog.confusión archivo.

Para leer el registro, puede usar el menos Comando en el siguiente ejemplo:

sudo menos/var/log/linuxhint2/remoteLog.registro

Como puede ver, el registro remoto funciona correctamente.

Ahora, el registro remoto está listo.

Lea la página del hombre para obtener más información sobre RSYSLOG y sus características adicionales, que incluyen seguridad, múltiples subprocesos, MySQL, Oracle, PostgreSQL y otra integración de DB, filtrado de mensajes, configuración de salida y más en https: // Linux.morir.net/hombre/5/rsyslog.confusión.

Alternativas rsyslog

El mercado ofrece alternativas adicionales a Rsyslog con características adicionales, algunas de las cuales se enumeran a continuación:

  • Nxlog: NXLOG es una alternativa RSYSLOG que admite sistemas operativos GNU/Linux y Windows. Es de código abierto y ofrece ediciones comunitarias y empresariales. Tiene características adicionales para recopilar información sobre el comportamiento malicioso. También admite registros de eventos de filtrado y reenvío de registro.
  • syslog-ng: Syslog-Ng OSE es otra alternativa a Rsyslog, que admite Linux, Microsoft Windows, FreeBSD, Mac OS X, Solaris, AIX, etc. Al igual que NXLOG, ofrece ediciones empresariales y comunitarias.
  • Logzilla: Esta es otra opción de registro, gratuita para usuarios y laboratorios en el hogar, pero pagó por los usuarios comerciales. Según su sitio web, puede reducir los costos de los recursos y activar automáticamente los conocimientos procesables en función de los datos recopilados.

Hay muchas más alternativas que puede explorar, pero Rsyslog sigue siendo la más popular entre los usuarios de Linux y Unix.

Conclusión

Como puede ver, configurar e implementar el registro remoto de Linux es un proceso fácil que cualquier usuario de Linux puede hacer independientemente de su nivel de conocimiento. El registro remoto es una gran solución para problemas, como el disco completo debido a una gran cantidad de registros, como se indica en este artículo. Es una excelente posibilidad para que los servidores de producción garanticen el acceso a la información crítica antes de los incidentes. Rsyslog es de código abierto y gratuito, y es el software de registro más remoto admitido por la comunidad de Linux. Este tutorial se centró en Linux, pero Rsyslog presenta un agente de Windows que permite a Sysadmins y usuarios compartir registros entre los sistemas operativos de Microsoft Windows y Linux.

Gracias por leer este tutorial y esperamos que sea útil para ti. Sigue leyendo Linuxhint para más tutoriales profesionales.