Programación Aplicada



Documentos relacionados
Logs y Auditoría. Autores: Carolina García Antón Günther Rodríguez Díaz

Políticas de. Respaldo de Información. C.E.T.P E.M.T. Informática I.T.S Sistemas Operativos III - Prof. Leonardo Carámbula

Control de logs. Pablo Sanz Mercado.

Registros del sistema

Monitorización del sistema

Monitorización del sistema

Tema 7. Otros aspectos de Unix/Linux

Administración de los demonios

MANUAL COPIAS DE SEGURIDAD

Bitácora del sistema - Introducción

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

Programa de Ayuda EMCS Instalación Versión SQL Server Versión Marzo 2010

UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER

Guía de uso del Cloud Datacenter de acens

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas

Manual hosting acens

Servidor DNS sencillo en Linux con dnsmasq

WINDOWS : TERMINAL SERVER

Person IP CRM Manual MOBILE

MEJORAR EL RENDIMIENTO DEL EXPLORADOR DE INTERNET

Oficina Online. Manual del administrador

Actualización del Cliente IFI

Creación y administración de grupos de dominio

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

FortiReporter

El cuadro de mando contiene indicadores e informes que deben actualizarse a partir de la información de su sistema informático.

Estructuras de Sistemas Operativos

Manual de uso de la Consola de Administración para usuarios Administradores.

Instrucciones para la instalación de IBM SPSS Data Access Pack para Linux

Access Control. Manual de Usuario

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Manual de Usuario Comprador. Módulo Administración de Presupuesto. Iconstruy e S.A. Serv icio de Atención Telefónica:

Servicio de Alta, Baja, Modificación y Consulta de usuarios Medusa

Sistema de Facturación de Ventas WhitePaper Enero de 2007

MANAUAL DE MANTENIMIENTO PARA LA PÁGINA WEB DE PROYECTO ADL GESTOR DE CONTENIDOS

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I Facultad de Ingeniería, UBA. Junio Cátedra: Pablo Cosso

MANUAL DEL USUARIO CAPACITACION PANEL DE CONTROL ENSIM PRO & SQUIRRELMAIL MANUAL DEL SERVICIO -HOSTING- Página 1

Técnicas de Programación

DOCENTES FORMADORES UGEL 03 PRIMARIA

MANUAL DE USUARIO DE EGROUPWARE MANUAL DE USUARIO EGROUPWARE

Manual Operativo Sistema de Postulación Online

Haga clic en los recuadros donde indica la mano y regrese al inicio del capítulo al hacer clic en el título de la sección donde se encuentra

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

GedicoPDA: software de preventa

SIEWEB. La intranet corporativa de SIE

Programa de Educación a Distancia MOODLE EDUC. (Modular Object Oriented Distance Learning Enviroment)

Eurowin 8.0 SQL. Manual del módulo TALLAS Y COLORES

SIIGO Pyme. Templates. Cartilla I

Guía de Inicio Respaldo Cloud

MANUAL DE AYUDA WEB SAT GOTELGEST.NET

Ayuda básica relativa al interfaz web

1 Introducción. Titulo

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.

Guía del usuario - escan para Linux Servidor de archivo

MANUAL DE LA APLICACIÓN HELP DESK

Toda base de datos relacional se basa en dos objetos

1. CONSIDERACIONES GENERALES

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Scripts de arranque. Pablo Sanz Mercado.

Anexo B. Comunicaciones entre mc y PC

MANUAL DE USUARIO PANEL DE CONTROL Sistema para Administración del Portal Web.

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

Acronis License Server. Guía del usuario

Guía de instalación de LliureX 5.09

Manual de Usuario Servidor Cloud

En caso de que el cliente nunca haya obtenido una concesión de licencia de un servidor DHCP:

LiLa Portal Guía para profesores

GESTIÓN REMOTA Y CENTRALIZADA DE DISPOSITIVOS MÓVILES PROPUESTA DE COLABORACIÓN.

Manual CMS Mobincube

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático

Trey-SAT Pag. 1. Manual de usuario

Instalación de Fedora Core 18 junto a Windows 7.

3. Qué necesitamos para usar Wordpress?

Desde la pantalla de Ventas TPV Multilíneas (VE200001) se habilita un nuevo botón llamado Abono Parcial que realizará lo siguiente:

Manual del Usuario. Sistema de Help Desk

ICARO MANUAL DE LA EMPRESA

Animalandia. Manual de instalación. (Actualizado: Sept-2015) Fernando Lisón Martín

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

ing Solution La forma más efectiva de llegar a sus clientes.

Outlook Web Access Para Exchange Server

Servicio Webmail. La fibra no tiene competencia

Copia de Seguridad en windows

MF0952_2: Publicación de páginas web

Sitios remotos. Configurar un Sitio Remoto

Correo Electrónico: Webmail: Horde 3.1.1

CREACIÓN O MIGRACIÓN DEL CORREO POP A IMAP PARA MOZILLA THUNDERBIRD

CheckOUT HELP DESK. Una vez en sesión, UD. Podrá registrar problemas, consultas y hacer un seguimiento de los problemas que UD. ha ingresado.

Instalación y uso de Check 2000 Client Server con ZENworks 2

Guía de acceso a Meff por Terminal Server

Comisión Nacional de Bancos y Seguros

ACTIVE DIRECTORY - PROPIEDADES DE USUARIO

Manual PARA EL ADMINISTRADOR DE LA WEB DE PRÁCTICAS PRE PROFESIONALES Y PASANTÍAS

Gestion de Logs. Gestion de Redes NSRC-UNAN León

Estimado usuario. Tabla de Contenidos

Guía Rápida de Inicio

Transcripción:

Programación Aplicada Clase 10: Archivos LOG en BASH Nombre unidad de aprendizaje: Programación avanzada de SCRIPTS Escuela de Informática y Telecomunicaciones 2008, DuocUC

Objetivos Objetivos de la clase Programa rutinas utilizando los diferentes tipos de variables, constantes, operadores y sentencias de control en lenguaje Bash. Construye rutinas scripting para el análisis de LOG. 2

Archivos de LOG El SISTEMA DE LOGS de LINUX (log = registro), es un mecanismo estándar que se encarga de recoger los mensajes generados por el kernel, los programas, aplicaciones y demonios y lo que está ocurriendo en el sistema, y enviarlos a un destino predefinido. Esta información es muy importante para detectar intentos de acceso no autorizados, como se comporta un manejador, seguridad, estadísticas, detección de problemas, etc. 3

Archivos de LOG La información se envía en forma de mensajes a unos archivos conocidos como archivos de registro o archivos de logs. En cada mensaje de log consta la fuente (el programa que generó el mensaje), la prioridad (nivel de importancia del mensaje), la fecha y la hora. 4

Archivos de LOG Por ejemplo, un mensaje de error de kernel indicando un problema con los datos de un sistema de archivos ext2fs debería aparecer en los archivos log como: Dec 1 21:03:35 loomer kernel: EXT2-fs error (device 3/2): ext2_check_blocks_bit map: Wrong free blocks count in super block, stored = 27202, counted = 27853 5

Archivos de LOG Hay varios niveles de prioridad de los mensajes (de menos a más prioritario: debug, info, notice, warning, warn, err, error, crit, alert, emerg y panic) y varios tipos de mensajes (auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, syslog, user, uucp y local0-local7). El SISTEMA DE LOGS arranca con el SCRIPT /etc/init.d/sysklogd, y tiene dos demonios: syslogd y klogd. 6

Archivos de LOG El demonio syslogd permite gestionar los logs del sistema. syslogd distribuye los mensajes a archivos, tuberías, destinos remotos, terminales o usuarios, usando las indicaciones especificadas en su archivo de configuración /etc/syslog.conf, donde se indica qué se loguea y a dónde se envían estos logs. 7

Archivos de LOG syslogd responde a la señal 1 (SIGHUP) cerrando los logs, releyendo la configuración y reiniciando la operación. Es por eso que si realizamos algún cambio en la configuración, o si rotamos o movemos los archivos de log, es necesario enviarle una señal SIGHUP a syslogd. 8

Archivos de LOG Una herramienta bastante potente para depurar errores en la configuración de syslog es ejecutarlo en modo debug con el flag -d (syslog -d). Ejecutado de este modo syslog despliega una tabla con una columna por cada facility y un renglón por cada acción. Los números en la tabla desplegada indican a partir de cual nivel se aplica la acción para cada facility. 9

Archivos de LOG Cuando se ejecuta en modo debug syslogd no libera el terminal. Después de desplegar la tabla con el resumen de acciones queda desplegando en pantalla cada mensaje que recibe y las acciones que se le aplican. El comando logger permite enviar eventos al demonio syslogd, por lo que se utiliza en scripts para registrar mensajes vía sysklogd. Por ejemplo, si hacemos: 10

Archivos de LOG # logger -t mi_programa -f /var/log/messages "Mensaje ejemplo" veremos que se ha añadido a /var/log/messages la línea: May 14 23:10:13 pc450 mi_programa: Mensaje ejemplo 11

Archivos de LOG El demonio klogd se encarga de los logs del kernel. Lo normal es que klogd envíe sus mensajes a syslogd pero no siempre es así, sobre todo en los eventos de alta prioridad, que salen directamente por pantalla. Los logs se guardan en archivos ubicados en el directorio /var/log, aunque muchos programas manejan sus propios logs y los guardan en /var/log/<programa>. 12

Archivos de LOG Además, es posible especificar múltiples destinos para un mismo mensaje. Algunos de los log más importantes son: /var/log/messages: aquí encontraremos los logs que llegan con prioridad info (información), notice (notificación) o warn (aviso). /var/log/kern.log: aquí se almacenan los logs del kernel, generados por klogd. 13

Archivos de LOG /var/log/auth.log: en este log se registran los login en el sistema, las veces que hacemos su, etc. Los intentos fallidos se registran en líneas con información del tipo invalid password o authentication failure. /var/log/dmesg: en este archivo se almacena la información que genera el kernel durante el arranque del sistema. Podemos ver su contenido con el comando dmesg. 14

Archivos de LOG /var/log/wtmp: este log contiene la información relacionada a los logins y logouts relacionados al sistema (desde donde, horario, fecha, usuario). Para poder verlo tenemos que utilizar el comando last. Relacionado con este, también tenemos el archivo utmp, el cual nos brinda información acerca de los usuarios logeados en el sistema al momento de solicitar la información. 15

Archivos de LOG Para acceder a esta información podemos utilizar el comando who (también se puede utilizar el comando last). /var/log/lastlog: Este archivo contiene información relativa a la fecha y hora del último login de cada usuario, para acceder a esta información podemos hacerlo con el comando lastlog. 16

Archivos de LOG Para indicar de que usuario queremos saber, anteponemos -u al nombre de usuario, por ejemplo, podemos usar: lastlog -u alumno. /var/log/faillog: este log registra los intentos fallidos de cada usuario al querer logearse en el sistema, para acceder tenemos el comando faillog. [alumno@localhost ~]$ faillog u alumno Username Failures Maximum Latest alumno 0 2 17

Archivos de LOG En la columna "Maximum" se indica la cantidad de intentos erróneos que se permiten antes de deshabilitar la cuenta, para modificar este valor se debe usar la orden faillog -u alumno -m valor donde valor es el número máximo. Para evitar que los archivos log crezcan indefinidamente con los mensajes, se hace que sean circulares (son rotados). 18

Rotación de los archivos de LOG Los archivos log pueden volverse grandes y difíciles de manejar, debido a esto LINUX provee un comando para rotarlos y así evitar que la información actual se mezcle con información vieja irrelevante. El paquete logrotate contiene una tarea de cron que hace circular (rotar) automáticamente los archivos de log. 19

Rotación de los archivos de LOG Para esto último será necesario utilizar el archivo de configuración /etc/logrotate.conf y los archivos de configuración en el directorio /etc/logrotate.d. Se puede configurar el comportamiento automático de logrotate editando el archivo de configuración /etc/logrotate.conf. 20

Rotación de los archivos de LOG Generalmente, logrotate se ejecuta cada cierto tiempo automáticamente, aunque también puede ejecutarse de forma manual. Cuando es ejecutado, logrotate tomará la versión actual de un archivo de log y le añadirá un ".1" al final de su nombre. Luego, cualquier otro archivo rotado previamente será renombrado secuencialmente ".2", ".3", etc. Cuando más grande el número del log, más viejo es el archivo. 21

Rotación de los archivos de LOG El programa logrotate puede rotar los archivos log basado en varios parámetros, pudiéndose realizar rotaciones diariamente, semanalmente o mensualmente; además, basado en el tamaño del archivo de log, logrotate puede comprimir los logs para no comprometer el espacio del disco, etc. En resumen, logrotate es una completa herramienta de administración de los logs del sistema. 22

Rotación de los archivos de LOG Una vista parcial del archivo de configuración de logrotate se muestra a continuación: [root@localhost ~]# cat /etc/logrotate.conf # rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # create new (empty) log files after rotating old ones create # uncomment this if you want your log files compressed #compress 23

Rotación de los archivos de LOG Algunas de las directivas de configuración de logrotate incluyen: daily - Los archivos log serán rotados todos los días. weekly - Los archivos log serán rotados una vez por semana. monthly - Los archivos log serán rotados una vez por mes. 24

Rotación de los archivos de LOG rotate Especifica el número de veces que los archivos log serán rotados antes de que sean borrados o enviados por correo a una dirección especificada en una directiva mail. compress Las versiones antiguas de los archivos log serán comprimidas con gzip. Existen varias otras directivas asociadas con el programa logrotate; como siempre, consultar el manual en línea para más información. 25

Rotación de los archivos de LOG Son varias las aplicaciones y/o servicios que instalan sus propios archivos de rotación de logs dentro del directorio /etc/logrotate.d/, esto permite asegurar que sus logs sean adecuadamente rotados. Por ejemplo, el paquete apache2 crea el archivo de rotación /etc/logrotate/apache2. 26

Seguridad general de los logs Por lo general, no se debe permitir que los demás usuarios vean los archivos de log de un servidor, y especialmente que puedan ser capaces de modificarlos o borrarlos. En general, la mayoría de los archivos de log son propiedad del usuario y grupo root, y no tienen asignados permisos para otros, de modo que en la mayoría de los casos, el único usuario que será capaz de modificar los logs será el root. 27

Seguridad general de los logs Se pueden tomar medidas de seguridad adicionales, siendo la más simple el uso de la orden chattr (CHANGE ATTRIBUTES), para dejar exclusivamente permiso de sólo-añadir a los archivos de log. De tal forma que si se da un problema en /tmp que permita a la gente sobreescribir archivos del sistema no se puedan dañar los archivos de logs. 28

Seguridad general de los logs Para dejar un archivo en modo sólo-añadir, se puede utilizar el siguiente comando: [root@localhost ~]# chattr +a nombre_archivo A la función chattr sólo tiene acceso el superusuario. 29

Seguridad general de los logs Si se dejan todos los archivos en modo sóloañadir, hay que tener en cuenta que fallarán los programas de rotación de logs, puesto que no pueden dejar en cero el archivo de log. Para deshabilitar el atributo sólo-añadir se agrega la siguiente línea al script: chattr -a nombre_archivo 30

Seguridad general de los logs y luego, se puede añadir una línea después del script de rotación de logs para reiniciar el flag de sólo-añadir. Si los archivos de logs se dejan en el sistema, quizás sea preferible activar también el flag de inmutables, de forma que no se puedan falsificar con facilidad. Para activar el archivo como inmutable, simplemente utilizar el comando: 31

Seguridad general de los logs [root@localhost ~]# chattr +i nombre_archivo lo que evitará cualquier cambio en el archivo. sólo el usuario root tiene acceso al flag de inmutable. 32

Resumen Resumen de la clase El SISTEMA DE LOGS de LINUX, es un mecanismo estándar que se encarga de recoger los mensajes generados por los programas, aplicaciones y demonios y enviarlos a un destino predefinido. En cada mensaje de log se deja constancia de la fuente (el programa que generó el mensaje), la prioridad (nivel de importancia del mensaje), la fecha y la hora del evento. En LINUX, syslogd gestiona los logs del sistema y klogd se encarga de los logs del kernel. Los logs de los sistemas UNIX/LINUX se guardan en archivos ubicados en el directorio /var/log, aunque, usualmente, muchos programas manejan sus propios logs y los guardan en /var/log/<programa>. Los archivos de log en LINUX son críticos para la resolución de problemas y el mantenimiento del sistema. 33

Resumen Resumen de la clase El registro de los mensajes de log usualmente se hace a archivos de texto, evitando así la necesidad de herramientas propietarias para leerlos. Los archivos de texto son también fáciles de leer con miras a su uso en scripts y programas. También hay archivos de log binarios, que necesariamente deben ser consultados a través de comandos y/o herramientas LINUX. Los logs son rotados para evitar que se vuelvan demasiado grandes y son separados de la información actual, dicha rotación es configurable. Se puede decir que logrotate es una completa herramienta de administración de los logs del sistema. El registro de los logs es altamente configurable, pudiendo incluso ser guardados en sistemas separados por cuestiones de seguridad y/o resguardo. 34

Resumen Resumen de la clase Por lo general, no se debe permitir que los demás usuarios vean los archivos de log de un servidor, y especialmente que puedan ser capaces de modificarlos o borrarlos; en general, la mayoría de los archivos de log son propiedad del usuario y grupo root, y no tienen asignados permisos para otros, de modo que en la mayoría de los casos, el único usuario que será capaz de modificar los logs será el root. Se pueden tomar medidas de seguridad adicionales, siendo la más simple el uso de la orden chattr, para dejar exclusivamente permiso de sóloañadir a los archivos de log. Si los archivos de logs se dejan en el sistema, quizás sea preferible activar también el flag de inmutables, de forma que no se puedan falsificar con facilidad. 35