SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
Configuración de
                           sistemas de logs
                               Debian Squeeze




Arturo Borrero González
Febrero 2011
IES G.Nazareno | IAIG


                                                      Documento con licencia“CC-BY-SA 3.0”.
                                           Puede copiar y distribuir libremente este documento
                                           bajo los términos de que propugna la citada licencia.
                                                            http://www.ral-arturo.blogspot.com
Configuración de Sistemas de Logs                                            Arturo Borrero González

                                                                          INTRODUCCIÓN

        Todo aparato informático tiene o debe tener un sistema que facilite la “monitorización”, el
registro de actividades y el seguimiento del funcionamiento. En sistemas tipo Unix esto está muy
desarrollado, y hay diversas herramientas que pueden implementarse (algunas ya vienen integradas
“de fábrica”) para ayudarnos en la gestión y administración de nuestros sistemas.

Los objetivos de esta práctica eran los siguientes:

Configura la red virtual para que las líneas de los ficheros de log se envíen a un solo equipo y de
éste lo más importante al administrador por correo, para ello:

            1. Configura dom0 para que actúe como servidor syslog y la máquina “goku” para que
               envíe todos sus registros al dom0
            2. Configura el log de bind9 de “goku” para que utilice una "facility" local
            3. Configura el syslog del dom0 para que envíe todos los registros de la "facility"
               anterior a un fichero concreto dentro de /var/log y los quite del syslog.
            4. Crea una regla de logrotate para que los ficheros de log anteriores se roten a diario y
               se borren dos semanas después.
            5. Instala y configura adecuadamente logcheck para que informe una vez al día sólo de
               las incidencias del DNS de “goku”

El entorno donde se ha desarrollado la práctica está formado por:

           •   Máquina física Debian Squeeze amd64 (nostromo), dom0.
           •   Máquina virtual KVM Debian Squeeze amd64 (goku), domU.
           •   Máquina virtual KVM Debian Squeeze amd64 (krilin), domU.


Y el software que está directamente involucrado es el siguiente:

           •   rsyslog
           •   logrotate
           •   logcheck

Cabe mencionar que todo el software es el empaquetado y distribuido oficialmente por Debian.




IES G.Nazareno | IAIG | Febrero 2011                                                          Pag. 2/6
Configuración de Sistemas de Logs                                                 Arturo Borrero González

                                                                      LOGS CENTARLIZADOS

        El primer paso desarrollado es la centralización de logs de varias máquinas en una sola. Esto
es realizado mediante la aplicación “rsyslog”, que será la que provea de las herramientas necesarias
para la configuración y automatización de los procesos.

Será necesario modificar la configuración tanto en los emisores como en los receptores de logs.

En la máquina donde vamos a recibir los logs, tendremos que especificar en un par de ficheros que
el demonio debe escuchar un determinado puerto y protocolo. Podemos usar a nuestra elección el
protocolo TCP o UDP:

root@nostromo:~# cat /etc/default/rsyslog
[…]
RSYSLOGD_OPTIONS="-r514"
[…]


En el siguiente fichero, usamos la instrucción “& ~ “ para indicar que todos los mensajes que ya
hayan cumplido una de las reglas anteriores se descarte.
Esto significa que los mensajes procedentes de las máquinas virtuales y del dns solo serán
almacenados en “vm.log” y “dns.log” respectivamente:

root@nostromo:~# cat /etc/rsyslog.conf
[…]
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
[…]
#práctica logeo centralizado
if $fromhost-ip startswith '10.0.0' then /var/log/vm.log
&~
local3.* /var/log/dns.log
&~
[…]


En cada cliente también debemos de modificar el fichero de configuración de rsyslog.
Las directivas son muy sencillas:

root@goku:~# cat /etc/rsyslog.conf
[…]
*.* @@10.0.0.128 #se envian todos los mensajes a la ip de la máquina receptora.


Configurar una facility y el DNS para un movimiento de registros más complejos es una tarea
también sencilla.
Creamos la siguiente directiva en el fichero correspondiente:

root@goku:~# cat /etc/rsyslog.conf
[…]
local3.* @@10.0.0.128 #en local3 estarán los mensajes del dns


IES G.Nazareno | IAIG | Febrero 2011                                                             Pag. 3/6
Configuración de Sistemas de Logs                                           Arturo Borrero González

También he tenido que realizar unas pequeñas modificaciones en el servidor DNS para que utilice la
“facility” local3:

root@goku:~# cat /etc/bind/named.conf
[…]

logging
{
     channel default_syslog
     {
         syslog local3;
     };
};

[…]




                                                                  ROTACIÓN DE LOGS

        Una cuestión importante a tener en cuenta es el asunto de las rotaciones de los logs. Sin una
buena configuración, podemos encontrarnos con ficheros de logs demasiado grandes para poder ser
interpretados, y que por tanto, dejarán de ser útiles. Además, el disco duro va a notarlo seguramente.

En la máquina que recibe los logs, se ha configurador la herramienta “logrotate” de la siguiente
manera:

root@nostromo:/etc/logrotate.d# cat-dry vm_log
---> Mostrando fichero vm_log || Original: 8 || Visualizado: 7
   1    /var/log/vm.log {
   2             daily
   3             rotate 14
   4             nomail
   5             compress
   6             endscript
   7    }

root@nostromo:/etc/logrotate.d# cat-dry dns_log
---> Mostrando fichero dns_log || Original: 8 || Visualizado: 7
   1    /var/log/dns.log {
   2             daily
   3             rotate 14
   4             nomail
   5             compress
   6             endscript
   7    }


Logrotate incluirá automáticamente estos ficheros en su configuración. Otra manera de especificar
estas directivas es meterlas diréctamente en el fichero “/etc/logrotate.conf”, donde hay una sección
destinada a este tipo de configuración específica de cada sistema.

IES G.Nazareno | IAIG | Febrero 2011                                                         Pag. 4/6
Configuración de Sistemas de Logs                                                         Arturo Borrero González

                                                                              LOGS NOTIFICADOS

        Es muy interesante la idea de enviar/recibir emails informativos con resúmenes de los logs y
con alertas de irregularidades variadas del sistema (ataques, fallos, etc.).
La herramienta “logcheck” permite concretamente esto. A través de unos sistemas de análisis de los
ficheros, comparándolos con unos patrones establecidos, logcheck puede determinar si en el sistema
se está produciendo un ataque, una saturación de un disco duro, o cualquier cosa anómala.

Logcheck se ejecuta con el sistema local de programación de tareas “cron”, y pueden verse las
entradas, que yo he modificado para que logcheck entre en acción dos veces al dia, una por la
mañana y otra por la tarde-noche:

                                                  /etc/cron.d/logcheck
# /etc/cron.d/logcheck: crontab entries for the logcheck package

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

@reboot       logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck -R; fi
#2 * * * *    logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi
* 8***        logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi
* 20 * * *    logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi

# EOF


En la configuración propia de logcheck he dejado lo siguiente:

root@nostromo:/etc/logcheck# cat-dry logcheck.conf
---> Mostrando fichero logcheck.conf || Original: 85 || Visualizado: 6
   1    REPORTLEVEL="server"
   2    SENDMAILTO="arturo@localhost"
   3    MAILASATTACH=0
   4    FQDN=1
   5    ADDTAG="yes"
   6    TMP="/tmp"


Logcheck usará el sistema local de envio de emails que tengamos instalado (exim, postfix, etc..). Si
está correctamente configurado el smpt, podremos enviar estos emails a internet. En caso contrario,
se almacenarán localmente como correo de usuario.




IES G.Nazareno | IAIG | Febrero 2011                                                                     Pag. 5/6
Configuración de Sistemas de Logs                                          Arturo Borrero González

                                                  CONCLUSIONES Y RECURSOS

        La combinación del software tratado en este documento crea una herramienta conjunta muy
funcional y útil. Es bastante probable que no podamos estar todo el día delante de nuestros
servidores/máquinas monitorizando y gestionando los logs. Así que mediante estos mecanismos la
tarea queda automatizada y simplificada.

Esta práctica me ha resultado muy gratificante y en cuanto vea la oportunidad de hacer una
implementación similar en un entorno en producción real, lo haré.

Algunos recursos que he usado, y que me parece importante reseñar:

           •   http://www.rsyslog.com/
               Página oficial de rsyslog. Muy buena documentación y ejemplos de configuración.

           •   ttp://linuxcommand.org/man_pages/logrotate8.html
               Recurso sobre logrotate, similar a la página de manual de debian, pero más comodo
               de leer :)

           •   http://www.debian-administration.org/articles/278
               Tutorial con ejemplos sobre la configuración de un sistema de logs similar al
               realizado en esta práctica.




IES G.Nazareno | IAIG | Febrero 2011                                                           Pag. 6/6

Weitere ähnliche Inhalte

Was ist angesagt?

Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Software
marthahuback
 

Was ist angesagt? (20)

JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
Le Langage CSS
Le Langage CSSLe Langage CSS
Le Langage CSS
 
Multithreading
MultithreadingMultithreading
Multithreading
 
Système répartis avec RMI
Système répartis avec RMISystème répartis avec RMI
Système répartis avec RMI
 
Convergences entre CMMI et SCRUM / XP
Convergences entre CMMI et SCRUM / XPConvergences entre CMMI et SCRUM / XP
Convergences entre CMMI et SCRUM / XP
 
Java
JavaJava
Java
 
Html css
Html cssHtml css
Html css
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriver
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Software
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Introduction au langage SQL
Introduction au langage SQLIntroduction au langage SQL
Introduction au langage SQL
 
Aula Xml Schema - XSD
Aula Xml Schema - XSDAula Xml Schema - XSD
Aula Xml Schema - XSD
 
Java cours n° 2 - classe-objet-constructeur
Java   cours n° 2 - classe-objet-constructeurJava   cours n° 2 - classe-objet-constructeur
Java cours n° 2 - classe-objet-constructeur
 
Ionic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sass
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
Support distributed computing and caching avec hazelcast
Support distributed computing and caching avec hazelcastSupport distributed computing and caching avec hazelcast
Support distributed computing and caching avec hazelcast
 
Apresentação CMMi
Apresentação CMMiApresentação CMMi
Apresentação CMMi
 

Andere mochten auch

Andere mochten auch (14)

Configuracion basica de centos 6.3 linux v1
Configuracion basica de centos 6.3 linux v1Configuracion basica de centos 6.3 linux v1
Configuracion basica de centos 6.3 linux v1
 
Instalacion Centos 7
Instalacion Centos 7Instalacion Centos 7
Instalacion Centos 7
 
Monitorización
MonitorizaciónMonitorización
Monitorización
 
Virtualizacion De Servidores (Open Source)
Virtualizacion De Servidores (Open Source)Virtualizacion De Servidores (Open Source)
Virtualizacion De Servidores (Open Source)
 
Aplicando elasticidad en la búsqueda con Grails
Aplicando elasticidad en la búsqueda con GrailsAplicando elasticidad en la búsqueda con Grails
Aplicando elasticidad en la búsqueda con Grails
 
Install and Configure RSyslog – CentOS 7 / RHEL 7
Install and Configure RSyslog – CentOS 7 / RHEL 7Install and Configure RSyslog – CentOS 7 / RHEL 7
Install and Configure RSyslog – CentOS 7 / RHEL 7
 
How To Check file exists and Delete PowerShell
How To Check file exists and Delete PowerShellHow To Check file exists and Delete PowerShell
How To Check file exists and Delete PowerShell
 
How To Install and Use ABRT CLI on RHEL 7
How To Install and Use ABRT CLI on RHEL 7How To Install and Use ABRT CLI on RHEL 7
How To Install and Use ABRT CLI on RHEL 7
 
How To View Current Execution Policy PowerShell
How To View Current Execution Policy PowerShellHow To View Current Execution Policy PowerShell
How To View Current Execution Policy PowerShell
 
How To Reset root Password on CentOS 7
How To Reset root Password on CentOS 7How To Reset root Password on CentOS 7
How To Reset root Password on CentOS 7
 
How to Install Configure and Use sysstat utils on RHEL 7
How to Install Configure and Use sysstat utils on RHEL 7How to Install Configure and Use sysstat utils on RHEL 7
How to Install Configure and Use sysstat utils on RHEL 7
 
How to Upgrade Openfire on CentOS 7
How to Upgrade Openfire on CentOS 7How to Upgrade Openfire on CentOS 7
How to Upgrade Openfire on CentOS 7
 
Elastic search
Elastic searchElastic search
Elastic search
 
Curso completo de Elasticsearch
Curso completo de ElasticsearchCurso completo de Elasticsearch
Curso completo de Elasticsearch
 

Ähnlich wie Tutorial Rsyslog Debian Squeeze

Open ERP e-Ghost-03-cursillo e-ghost 2010 - open erp como sw de gestion contable
Open ERP e-Ghost-03-cursillo e-ghost 2010 - open erp como sw de gestion contableOpen ERP e-Ghost-03-cursillo e-ghost 2010 - open erp como sw de gestion contable
Open ERP e-Ghost-03-cursillo e-ghost 2010 - open erp como sw de gestion contable
Open ERP Finanzas
 
Administración básica de ubuntu server parte 2
Administración básica de ubuntu server   parte 2Administración básica de ubuntu server   parte 2
Administración básica de ubuntu server parte 2
Santiago Márquez Solís
 
Ubuntu server aw
Ubuntu server awUbuntu server aw
Ubuntu server aw
olgalt9
 
Abf leccion 09
Abf leccion 09Abf leccion 09
Abf leccion 09
victdiazm
 

Ähnlich wie Tutorial Rsyslog Debian Squeeze (20)

Presentación de logs
Presentación de logsPresentación de logs
Presentación de logs
 
Linux
LinuxLinux
Linux
 
Logs en Linux.pdf
Logs en Linux.pdfLogs en Linux.pdf
Logs en Linux.pdf
 
Nagios
NagiosNagios
Nagios
 
Sistema de Monitoreo Nagios Core
Sistema de Monitoreo Nagios CoreSistema de Monitoreo Nagios Core
Sistema de Monitoreo Nagios Core
 
Exposicion nagios core
Exposicion nagios coreExposicion nagios core
Exposicion nagios core
 
Open ERP e-Ghost-03-cursillo e-ghost 2010 - open erp como sw de gestion contable
Open ERP e-Ghost-03-cursillo e-ghost 2010 - open erp como sw de gestion contableOpen ERP e-Ghost-03-cursillo e-ghost 2010 - open erp como sw de gestion contable
Open ERP e-Ghost-03-cursillo e-ghost 2010 - open erp como sw de gestion contable
 
Cursillos e-ghost Septiembre 2010. Open ERP como software de gestión contable
Cursillos e-ghost Septiembre 2010. Open ERP como software de gestión contableCursillos e-ghost Septiembre 2010. Open ERP como software de gestión contable
Cursillos e-ghost Septiembre 2010. Open ERP como software de gestión contable
 
Linux
LinuxLinux
Linux
 
Administración básica de ubuntu server parte 2
Administración básica de ubuntu server   parte 2Administración básica de ubuntu server   parte 2
Administración básica de ubuntu server parte 2
 
Seminario de Tecnologia Aplicada
Seminario de Tecnologia AplicadaSeminario de Tecnologia Aplicada
Seminario de Tecnologia Aplicada
 
3.6 analisis de bitacoras
3.6 analisis de bitacoras3.6 analisis de bitacoras
3.6 analisis de bitacoras
 
Prac6
Prac6Prac6
Prac6
 
Ubuntu server aw
Ubuntu server awUbuntu server aw
Ubuntu server aw
 
Memoria sobre Squid3
Memoria sobre Squid3Memoria sobre Squid3
Memoria sobre Squid3
 
Admin Manual
Admin ManualAdmin Manual
Admin Manual
 
Sistema operativo punto 3
Sistema operativo punto 3Sistema operativo punto 3
Sistema operativo punto 3
 
Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de ...
Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de ...Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de ...
Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de ...
 
Abf leccion 09
Abf leccion 09Abf leccion 09
Abf leccion 09
 
Tema3
Tema3Tema3
Tema3
 

Mehr von cercer (9)

Alta Disponibilidad - CICA
Alta Disponibilidad - CICAAlta Disponibilidad - CICA
Alta Disponibilidad - CICA
 
cortafuegos_doble_pila_linux
cortafuegos_doble_pila_linuxcortafuegos_doble_pila_linux
cortafuegos_doble_pila_linux
 
Firewall en cluster de alta disponibilidad
Firewall en cluster de alta disponibilidadFirewall en cluster de alta disponibilidad
Firewall en cluster de alta disponibilidad
 
Iptables
IptablesIptables
Iptables
 
Firewall iptables
Firewall iptablesFirewall iptables
Firewall iptables
 
How to install Open Atrium over LAMP stack
How to install Open Atrium over LAMP stackHow to install Open Atrium over LAMP stack
How to install Open Atrium over LAMP stack
 
Documentacion cap2 windows 7
Documentacion cap2 windows 7Documentacion cap2 windows 7
Documentacion cap2 windows 7
 
Documentacion cap2 windows 7 arturo pdf
Documentacion cap2 windows 7 arturo pdfDocumentacion cap2 windows 7 arturo pdf
Documentacion cap2 windows 7 arturo pdf
 
Documentacion cap2 windows 7 arturo pdf
Documentacion cap2 windows 7 arturo pdfDocumentacion cap2 windows 7 arturo pdf
Documentacion cap2 windows 7 arturo pdf
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Kürzlich hochgeladen (15)

presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Tutorial Rsyslog Debian Squeeze

  • 1. Configuración de sistemas de logs Debian Squeeze Arturo Borrero González Febrero 2011 IES G.Nazareno | IAIG Documento con licencia“CC-BY-SA 3.0”. Puede copiar y distribuir libremente este documento bajo los términos de que propugna la citada licencia. http://www.ral-arturo.blogspot.com
  • 2. Configuración de Sistemas de Logs Arturo Borrero González INTRODUCCIÓN Todo aparato informático tiene o debe tener un sistema que facilite la “monitorización”, el registro de actividades y el seguimiento del funcionamiento. En sistemas tipo Unix esto está muy desarrollado, y hay diversas herramientas que pueden implementarse (algunas ya vienen integradas “de fábrica”) para ayudarnos en la gestión y administración de nuestros sistemas. Los objetivos de esta práctica eran los siguientes: Configura la red virtual para que las líneas de los ficheros de log se envíen a un solo equipo y de éste lo más importante al administrador por correo, para ello: 1. Configura dom0 para que actúe como servidor syslog y la máquina “goku” para que envíe todos sus registros al dom0 2. Configura el log de bind9 de “goku” para que utilice una "facility" local 3. Configura el syslog del dom0 para que envíe todos los registros de la "facility" anterior a un fichero concreto dentro de /var/log y los quite del syslog. 4. Crea una regla de logrotate para que los ficheros de log anteriores se roten a diario y se borren dos semanas después. 5. Instala y configura adecuadamente logcheck para que informe una vez al día sólo de las incidencias del DNS de “goku” El entorno donde se ha desarrollado la práctica está formado por: • Máquina física Debian Squeeze amd64 (nostromo), dom0. • Máquina virtual KVM Debian Squeeze amd64 (goku), domU. • Máquina virtual KVM Debian Squeeze amd64 (krilin), domU. Y el software que está directamente involucrado es el siguiente: • rsyslog • logrotate • logcheck Cabe mencionar que todo el software es el empaquetado y distribuido oficialmente por Debian. IES G.Nazareno | IAIG | Febrero 2011 Pag. 2/6
  • 3. Configuración de Sistemas de Logs Arturo Borrero González LOGS CENTARLIZADOS El primer paso desarrollado es la centralización de logs de varias máquinas en una sola. Esto es realizado mediante la aplicación “rsyslog”, que será la que provea de las herramientas necesarias para la configuración y automatización de los procesos. Será necesario modificar la configuración tanto en los emisores como en los receptores de logs. En la máquina donde vamos a recibir los logs, tendremos que especificar en un par de ficheros que el demonio debe escuchar un determinado puerto y protocolo. Podemos usar a nuestra elección el protocolo TCP o UDP: root@nostromo:~# cat /etc/default/rsyslog […] RSYSLOGD_OPTIONS="-r514" […] En el siguiente fichero, usamos la instrucción “& ~ “ para indicar que todos los mensajes que ya hayan cumplido una de las reglas anteriores se descarte. Esto significa que los mensajes procedentes de las máquinas virtuales y del dns solo serán almacenados en “vm.log” y “dns.log” respectivamente: root@nostromo:~# cat /etc/rsyslog.conf […] # provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514 […] #práctica logeo centralizado if $fromhost-ip startswith '10.0.0' then /var/log/vm.log &~ local3.* /var/log/dns.log &~ […] En cada cliente también debemos de modificar el fichero de configuración de rsyslog. Las directivas son muy sencillas: root@goku:~# cat /etc/rsyslog.conf […] *.* @@10.0.0.128 #se envian todos los mensajes a la ip de la máquina receptora. Configurar una facility y el DNS para un movimiento de registros más complejos es una tarea también sencilla. Creamos la siguiente directiva en el fichero correspondiente: root@goku:~# cat /etc/rsyslog.conf […] local3.* @@10.0.0.128 #en local3 estarán los mensajes del dns IES G.Nazareno | IAIG | Febrero 2011 Pag. 3/6
  • 4. Configuración de Sistemas de Logs Arturo Borrero González También he tenido que realizar unas pequeñas modificaciones en el servidor DNS para que utilice la “facility” local3: root@goku:~# cat /etc/bind/named.conf […] logging { channel default_syslog { syslog local3; }; }; […] ROTACIÓN DE LOGS Una cuestión importante a tener en cuenta es el asunto de las rotaciones de los logs. Sin una buena configuración, podemos encontrarnos con ficheros de logs demasiado grandes para poder ser interpretados, y que por tanto, dejarán de ser útiles. Además, el disco duro va a notarlo seguramente. En la máquina que recibe los logs, se ha configurador la herramienta “logrotate” de la siguiente manera: root@nostromo:/etc/logrotate.d# cat-dry vm_log ---> Mostrando fichero vm_log || Original: 8 || Visualizado: 7 1 /var/log/vm.log { 2 daily 3 rotate 14 4 nomail 5 compress 6 endscript 7 } root@nostromo:/etc/logrotate.d# cat-dry dns_log ---> Mostrando fichero dns_log || Original: 8 || Visualizado: 7 1 /var/log/dns.log { 2 daily 3 rotate 14 4 nomail 5 compress 6 endscript 7 } Logrotate incluirá automáticamente estos ficheros en su configuración. Otra manera de especificar estas directivas es meterlas diréctamente en el fichero “/etc/logrotate.conf”, donde hay una sección destinada a este tipo de configuración específica de cada sistema. IES G.Nazareno | IAIG | Febrero 2011 Pag. 4/6
  • 5. Configuración de Sistemas de Logs Arturo Borrero González LOGS NOTIFICADOS Es muy interesante la idea de enviar/recibir emails informativos con resúmenes de los logs y con alertas de irregularidades variadas del sistema (ataques, fallos, etc.). La herramienta “logcheck” permite concretamente esto. A través de unos sistemas de análisis de los ficheros, comparándolos con unos patrones establecidos, logcheck puede determinar si en el sistema se está produciendo un ataque, una saturación de un disco duro, o cualquier cosa anómala. Logcheck se ejecuta con el sistema local de programación de tareas “cron”, y pueden verse las entradas, que yo he modificado para que logcheck entre en acción dos veces al dia, una por la mañana y otra por la tarde-noche: /etc/cron.d/logcheck # /etc/cron.d/logcheck: crontab entries for the logcheck package PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root @reboot logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck -R; fi #2 * * * * logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi * 8*** logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi * 20 * * * logcheck if [ -x /usr/sbin/logcheck ]; then nice -n10 /usr/sbin/logcheck; fi # EOF En la configuración propia de logcheck he dejado lo siguiente: root@nostromo:/etc/logcheck# cat-dry logcheck.conf ---> Mostrando fichero logcheck.conf || Original: 85 || Visualizado: 6 1 REPORTLEVEL="server" 2 SENDMAILTO="arturo@localhost" 3 MAILASATTACH=0 4 FQDN=1 5 ADDTAG="yes" 6 TMP="/tmp" Logcheck usará el sistema local de envio de emails que tengamos instalado (exim, postfix, etc..). Si está correctamente configurado el smpt, podremos enviar estos emails a internet. En caso contrario, se almacenarán localmente como correo de usuario. IES G.Nazareno | IAIG | Febrero 2011 Pag. 5/6
  • 6. Configuración de Sistemas de Logs Arturo Borrero González CONCLUSIONES Y RECURSOS La combinación del software tratado en este documento crea una herramienta conjunta muy funcional y útil. Es bastante probable que no podamos estar todo el día delante de nuestros servidores/máquinas monitorizando y gestionando los logs. Así que mediante estos mecanismos la tarea queda automatizada y simplificada. Esta práctica me ha resultado muy gratificante y en cuanto vea la oportunidad de hacer una implementación similar en un entorno en producción real, lo haré. Algunos recursos que he usado, y que me parece importante reseñar: • http://www.rsyslog.com/ Página oficial de rsyslog. Muy buena documentación y ejemplos de configuración. • ttp://linuxcommand.org/man_pages/logrotate8.html Recurso sobre logrotate, similar a la página de manual de debian, pero más comodo de leer :) • http://www.debian-administration.org/articles/278 Tutorial con ejemplos sobre la configuración de un sistema de logs similar al realizado en esta práctica. IES G.Nazareno | IAIG | Febrero 2011 Pag. 6/6