syslog-ng es la solución de gestión de registros que mejora el rendimiento de su solución sistema de Gestión de Eventos e Información de Seguridad (SIEM) al reducir la cantidad y mejorar la calidad de los datos que alimentan su SIEM.

Hoy les muestro como desplegar un servidor syslog-ng sobre una arquitectura de contenedores

Partiendo de la infraestructura siguiente:

Configuración del syslog-ng como Servidor

Nos conectamos al servidor que hospedara el syslog-ng

$ ssh -l root -p 22 192.168.0.27

Instalamos syslog-ng

root@syslog-ng:~# apt -yq install gpm syslog-ng

Accedemos al archivo de configuración principal

root@syslog-ng:~# vim /etc/syslog-ng/syslog-ng.conf

y añadimos en las opciones generales las opciones siguientes:

keep_hostname(yes);
chain_hostnames(on);
create_dirs(yes);

Quedando de la siguiente manera:

options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
dns_cache(no); owner("root"); group("adm"); perm(0640);
stats_freq(0); bad_hostname("^gconfd$");
keep_hostname(yes);chain_hostnames(on);create_dirs(yes);
};

Cree un archivo para configurar la recepción de los servicios:

root@syslogng:~# vim /etc/syslog-ng/conf.d/services_logs.conf

Dentro de dicho archivo configure los servicios de la forma siguiente:

source net_squid { tcp(ip(0.0.0.0) port(1020)); };
destination log_squid { file("/var/log/$HOST/squid/access.log"); };
log { source(net_squid); destination(log_squid); };

source net_mail { tcp(ip(0.0.0.0) port(1021)); };
destination log_mail { file("/var/log/$HOST/mail.log"); };
log { source(net_mail); destination(log_mail); };

source net_dns { tcp(ip(0.0.0.0) port(1022)); };
destination log_dns { file("/var/log/$HOST/named.log"); };
log { source(net_dns); destination(log_dns); };

Y listo, se reinicia el servicio

root@syslogng:~# systemctl restart syslog-ng

Configuración del syslog-ng como transmisor

Ahora accedemos a cada servidor a configurar el syslog-ng como cliente en cada uno de los servidores

Servidor DNS

$ ssh -l root -p 22 192.168.0.20

Instalamos syslog-ng

root@dns:~# apt -yq install gpm syslog-ng

Creamos un archivo para configurar el envio de los logs del servicio

root@dns:~# vim /etc/syslog-ng/conf.d/dns.conf

dentro le ponemos lo siguiente

source src_dns { file("/var/log/named/named.log"); };
destination dst_dns { tcp("192.168.0.27" port(1022)); };
log { source(src_dns); destination(dst_dns); };

reiniciamos el servicio

root@dns:~# systemctl restart syslog-ng

En el servidor de syslog-ng, veremos los logs reenviados en:

root@syslog-ng:~# tail -f /var/log/DNS/named.log

Servidor MAIL

$ ssh -l root -p 22 192.168.0.22

Instalamos syslog-ng

root@mail:~# apt -yq install gpm syslog-ng

Creamos un archivo para configurar el envio de los logs del servicio

root@mail:~# vim /etc/syslog-ng/conf.d/mail.conf

dentro le ponemos lo siguiente

source src_mail { file("/var/log/mail.log"); };
destination dst_mail { tcp("192.168.0.27" port(1021)); };
log { source(src_mail); destination(dst_mail); };

reiniciamos el servicio

root@mail:~# systemctl restart syslog-ng

En el servidor de syslog-ng, veremos los logs reenviados en:

root@syslog-ng:~# tail -f /var/log/MAIL/mail.log

Servidor PROXY

$ ssh -l root -p 22 192.168.0.24

Instalamos syslog-ng

root@proxy:~# apt -yq install gpm syslog-ng

Creamos un archivo para configurar el envio de los logs del servicio

root@proxy:~# vim /etc/syslog-ng/conf.d/proxy.conf

dentro le ponemos lo siguiente

source src_squid { file("/var/log/squid/access.log" multi-line-mode(indented)); };
destination dst_squid { tcp("172.30.0.27" port(1020)); };
log { source(src_squid); destination(dst_squid); flags(final);};

reiniciamos el servicio

root@proxy:~# systemctl restart syslog-ng

En el servidor de syslog-ng, veremos los logs reenviados en:

root@syslog-ng:~# tail -f /var/log/PROXY/squid/access.log

Y esto es todo.

Ya de esta forma tendran un servidor centralizado de los logs de los servicios.

¿De cuánta utilidad te ha parecido este contenido?

Erki Polo Manresa

Ver comentarios

Compartir
Publicado por
Erki Polo Manresa
Etiquetas: logsSIEMSyslog-ng

Entradas recientes

Alta disponibilidad de sus base de datos con Percona XtraDB Cluster en Kubernetes

Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…

8 meses hace

Home automation (Parte 3) – ESPHome

Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…

1 año hace

Home automation (Parte 2) – Home Assistant

Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…

1 año hace

Home automation (Parte 1)

Desde hace varios meses vengo con la idea de automatizar la casa donde vivo. Poco…

1 año hace

Cocinando una imagen personalizada de OpenWRT

El artículo describe el uso para un caso particular de OpenWRT y la creación de…

1 año hace