La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Unit 8 System Monitoring J. Valenzuela Instituto Profesional DUOC UC Semestre 1 - 2012.

Presentaciones similares


Presentación del tema: "Unit 8 System Monitoring J. Valenzuela Instituto Profesional DUOC UC Semestre 1 - 2012."— Transcripción de la presentación:

1 Unit 8 System Monitoring J. Valenzuela Instituto Profesional DUOC UC Semestre 1 - 2012

2 Objetivos Aprender a identificar estadísticas sobre archivos. Asegurar la integridad del sistema de archivos. Comprender la configuración del sistema de log. Aprender acerca del análisis de los archivos log. Comprender la monitorización de procesos.

3 Agenda Archivos log comunes. Configuración de syslogd y klogd. Monitorización de procesos y contabilidad.

4 Introducción a la monitorización del sistema Brechas de seguridad pueden ser detectadas con una monitorización regular del sistema. La monitorización del sistema incluye: la monitorización del sistema de archivos, el análisis de los archivos de log, la monitorización de procesos, entre otros.

5 Análisis del sistema de archivos La monitorización regular del sistema de archivos puede prevenir:  El agotamiento de los recursos del sistema.  Brechas de seguridad debido a un pobre control de acceso. La monitorización del sistema de archivos debería incluir:  Escaneos de la integridad de datos

6 Análisis del sistema de archivos  Investigación de archivos sospechosos. RHEL provee varias utilidades estándar que pueden ser usadas para monitorizar permisos de archivos, uso del sistema de archivos y otras actividades que pueden afectar la seguridad. Utilidades: df, du, logwatch

7 Utilidades estándar Una simple utilidad que puede ser usada para monitorizar la utilización del sistema de archivos es el comando df. El comando df reporta acerca de la cantidad total de espacio disponible sobre cada partición montada y puede ser usada para advertir situaciones en las que un sistema está cerca de correr fuera del espacio disponible.

8 Utilidades estándar Sin argumentos, df informa del espacio de disco usado y del disponible en todos los sistemas de archivos montados actualmente. Algunas opciones útiles de df son:  -i, --inodes – listar información sobre la utilización de i-nodos en vez de bloques.  -h, --human-readable  -a, --all

9 Utilidades estándar El comando du puede ser utilizado para desplegar la cantidad actual de almacenamiento requerido por un archivo dado, como oposición al largo del archivo, que es reportado por ls –l.

10 Utilidades estándar du informa de la cantidad de espacio de disco usada por los archivos especificados, y por cada directorio en las jerarquías cuyas raíces estén el los archivos especificados. Algunas opciones de du son:  -c, --total – Mostrar un total para todos los argumentos después de que éstos se hayan procesados.

11 Sistema de archivos log El sistema de archivos de log de LINUX, 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.

12 Sistema de archivos log La información se envía en forma de mensajes a unos archivos conocidos como archivos de registro o archivos de log. 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.

13 Sistema de archivos 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

14 Sistema de archivos log Además, es posible especificar múltiples destinos para un mismo mensaje.

15 Sistema de archivos log ¿Por qué monitorizar los archivos de log? Monitorizar archivos de log ayuda a detectar:  P roblemas de equipo tales como crash de discos duros o caídas de voltaje.  Problemas de usuarios tales como repetidas fallas en el proceso de login.  Brechas de seguridad desde fuera del sistema.

16 Sistema de archivos log ¿Qué archivos de log monitorizar? Los archivos de log a monitorizar incluyen:  /var/log/messages – Muchos mensajes del sistema. 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.

17 Sistema de archivos 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/secure – Mensajes de autenticación, servicios xinetd.  /var/log/vsftpd.log – Transacciones FTP (vsftpd).

18 Sistema de archivos log  /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.  /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.

19 Sistema de archivos log  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.  Para acceder a esta información podemos utilizar el comando who (también se puede utilizar el comando last).

20 Sistema de archivos log  /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.  Para indicar de que usuario queremos saber, anteponemos -u al nombre de usuario, por ejemplo, podemos usar: [root@localhost ~]# lastlog -u alumno

21 Sistema de archivos log  /var/log/faillog: este log registra los intentos fallidos de cada usuario al querer “logearse” en el sistema, para acceder tenemos el comando faillog: [root@localhost ~]# faillog -u alumno  En la columna "Maximum" se indica la cantidad de intentos erróneos que se permiten antes de deshabilitar la cuenta.

22 Sistema de archivos log  Para modificar este valor se debe usar la orden faillog -u alumno -m valor donde valor es el número máximo.  /var/log/maillog – Transacciones de correo.

23 Sistema de archivos log La información contenida en el archivo /var/log/messages incluye:  Fecha y hora en que el mensaje fue escrito.  Nombre de la utilidad, programa, o demonio que causó el mensaje.  Acción que ocurrió.  Hostname del programa en ejecución.

24 Sistema de archivos log La información exacta en un archivo de log depende de la aplicación. Muchas aplicaciones crean sus propios archivos de log que pueden también ser monitorizados. 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/.

25 Demonios syslogd y klogd El sistema de archivos de logs arranca con el script /etc/init.d/sysklogd, y tiene dos demonios: syslogd y klogd. El demonio syslogd permite gestionar los logs del sistema. 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.

26 Configuración de syslogd y klogd Los demonios syslogd y klogd pueden ser configurados en /etc/syslog.conf. Es posible configurar que tipo y que cantidad de mensajes del sistema es almacenado en archivos de log específicos. La sintaxis es la siguiente: La primera entrada especifica una lista de declaraciones de la forma facility.priority.

27 Configuración de syslogd y klogd El segundo campo especifica la localización del log, que es usualmente un archivo. Facilidades:  authpriv – Mensajes de seguridad y autorización.  cron – Demonios de reloj (atd y crond).  daemon – Otros demonios.  kern – Mensajes del kernel.

28 Configuración de syslogd y klogd  local[0-7] – Reservado para uso local.  lpr – Sistema de impresoras.  mail – Sistema de correo.  news – Sistema de noticias.  syslog– Mensajes syslog internos.  user – mensajes genéricos nivel usuario.

29 Configuración de syslogd y klogd Prioridades:  debug – Información de depuración.  info – mensajes informativos generales.  notice – condición normal, pero significativa.  warning – mensajes de warning.  err – condición de error.

30 Configuración de syslogd y klogd  crit – condición crítica.  alert – acción inmediata requerida.  emerg – system no longer available. Por ejemplo: kern.info/var/log/kernel Registrará todos los mensajes relativos al kernel de prioridad info y mayor al archivo /var/log/kernel.

31 Configuración avanzada de syslogd Operadores: = registrar sobre sólo esta prioridad exacta ! Excluir esta facilidad o prioridad * registrar todas las facilidades/prioridades Con estos operadores es posible definir:  facility.priority – Mensajes de facilidad con igual o mayor prioridad.

32 Configuración avanzada de syslogd  facility.=priority – Mensajes de facilidad con prioridad exacta.  facility.=!priority – Mensajes de facilidad excepto aquellos con prioridad.  facility1, facility2.priority – Mensajes de prioridad para facilidad 1 y facilidad 2.  *.priority – Mensajes con prioridad igual o superior, independiente de la facilidad.

33 Configuración avanzada de syslogd Special targets:  Lista de usuarios separados por coma.  Máquina remota (@hostname). Es posible registrar a diferentes máquinas. Esto puede ser producido definiendo @hostname como localización para los log. El contenido de los archivos de log remotos y local deberían ser comparados ocasionalmente.

34 Configuración avanzada de syslogd Diferencias entre estos archivos podrían indicar errores de red o interferencias con uno de los archivos. Un demonio syslog remoto solo acepta mensajes de entrada si la funcionalidad remota es habilitada usando el switch de línea de comando –r. Esta y otras opciones de startup pueden ser especificadas en /etc/sysconfig/syslog.

35 Análisis de los archivos de log El análisis de los archivos de log debería ser realizado regularmente. Los archivos de log pueden crecer muy grandes sobre servidores grandes, es prácticamente imposible mirar a través de todos los datos a mano. Es por lo tanto práctico utilizar herramientas de análisis de log como logwatch, que es instalada por defecto en muchos sistemas.

36 Análisis de los archivos de log logwatch puede ser instalado para correr por crond cada hora para reportar posibles problemas. Cuando estamos mirando por anomalías, logwatch utiliza listas negativas:  Descartar todo lo normal  Analizar el resto

37 Análisis de los archivos de log logwatch corre diariamente, sin embargo sobre un servidor ocupado e incluso en muchas worstations, el debería ser ejecutado mucho mas a menudo, quizás cada hora. logwatch informa de la actividad, excepto aquellas acciones que está programado para ignorar. logwatch es configurado en el archivo /etc/log.d.

38 Rotación de los archivos de log Para evitar que los archivos log crezcan indefinidamente con los mensajes, se hace que sean circulares (son rotados). Los archivos de 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.

39 Rotación de los archivos de log El paquete logrotate contiene una tarea de cron que hace circular o rotar automáticamente 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.

40 Rotación de los archivos de log Se puede configurar el comportamiento automático de logrotate editando el archivo de configuración /etc/logrotate.conf. Generalmente, logrotate se ejecuta cada cierto tiempo automáticamente, aunque también puede ejecutarse de forma manual.

41 Rotación de los archivos de log 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.

42 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.

43 Rotación de los archivos de log En resumen, logrotate es una completa herramienta de administración de los logs del sistema. 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.

44 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.

45 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.

46 Utilidades System/Monitoring Muchas utilidades de monitorización del sistema reportan la “carga” del sistema. Es necesario notar que una carga alta podría indicar una máquina que está acotada por CPU, pero también podría indicar sistemas acotados por memoria o acotados por I/O. xload - xload provee una vista gráfica de la carga del sistema: [root@localhost ~]# xload -scale 2

47 Utilidades System/Monitoring uptime - uptime proporciona una instantánea de la carga promedio del sistema en los últimos 1, 5 y 15 minutos: [root@localhost ~]# uptime 9:10:01 up 120 days, 0 min, 9 users, load average: 9.23, 0.96, 0.00 Máquinas con un único procesador deberían proporcionar valores cercanos a 1.00.

48 Utilidades System/Monitoring Máquinas multi-procesador deberían proporcionar hasta 10 veces esa razón (valores cercanos a 10.00). vmstat - Con vmstat, es posible obtener una vista general de los procesos, memoria, swap, E/S, sistema y actividad de CPU en una línea de números:

49 Utilidades System/Monitoring La primera línea divide los campos en seis categorías, incluyendo procesos, memoria, swap, E/S, sistema y estadísticas relacionadas al CPU. La segunda línea identifica aún más los contenidos de cada campo, haciendo más fácil escanear datos para ver estadísticas específicas.

50 Utilidades System/Monitoring Cuando se ejecuta vmstat sin opciones, solamente se muestra una línea. Esta línea contiene promedios, calculados desde la última vez que se arrancó el sistema. [root@localhost ~]# vmstat [root@localhost ~]# vmstat 1 [root@localhost ~]# vmstat 1 10

51 Utilidades System/Monitoring free – El comando free muestra la utilización de la memoria del sistema. La fila Mem: muestra la utilización de la memoria física, mientras que la fila Swap: muestra la utilización del espacio de intercambio (swap) del sistema.

52 Utilidades System/Monitoring La fila -/+ buffers/cache: muestra la cantidad de memoria actualmente dedicada a buffers. [root@localhost ~]# free [root@localhost ~]# free -s [root@localhost ~]# watch free [root@localhost ~]# watch –n 1 –d free

53 Utilidades System/Monitoring Mientras que las herramientas anteriores pueden ser de ayuda para ganar mayor conocimiento sobre el rendimiento del sistema en períodos muy cortos, son de poca utilidad en proporcionar más allá de una instantánea de la utilización de recursos del sistema.

54 Utilidades System/Monitoring Sysstat es una herramienta más sofisticada que contiene las siguientes herramientas relacionadas con reunir estadísticas de E/S y CPU: iostat, mpstat, sadc y sar. iostat - Muestra una descripción general de la utilización de la CPU, junto con las estadísticas de E/S para una o más unidades de disco. mpstat - Muestra estadísticas de CPU más complejas.

55 Utilidades System/Monitoring sadc - Conocida como el coleccionador de datos de actividad del sistema, sadc reúne información sobre la utilización de recursos y la escribe a un archivo. Por defecto, los datos son escritos a archivos en el directorio /var/log/sa/. Los archivos son llamados sa, donde es la fecha actual de dos dígitos.

56 Utilidades System/Monitoring sar - Los informes sar, producidos a partir de los archivos creados por sadc, se pueden generar interactivamente o se pueden escribir a un archivo para un análisis más intensivo. De acuerdo a la configuración en RHEL, sar es ejecutado automáticamente para procesar los archivos reunidos automáticamente por sadc. Normalmente, sar es ejecutado por el script sa2.

57 Utilidades System/Monitoring [root@localhost ~]# iostat [root@localhost ~]# mpstat [root@localhost ~]# mpstat –P ALL

58 Monitorización de procesos Monitorizar procesos para determinar:  Causas de disminución del desempeño  Si procesos sospechosos se están ejecutando. Utilidades de monitorización:  top  gnome-system-monitor  sar

59 Utilidades de monitorización de procesos top  Ver actividad del procesador en tiempo real.  Interactivamente kill o renice procesos.  Mirar estadísticas de actualización del sistema a través del tiempo, ya sea en unidades o acumulativamente.

60 Utilidades de monitorización de procesos  Top muestra estadísticas de utilización de la CPU, estadísticas de procesos, utilización de memoria.

61 Utilidades de monitorización de procesos Herramientas GUI de monitorización:  gnome-system-monitor: procesos GNOME, CPU, y monitor de memoria.  kpm: versión KDE de top.

62 Utilidades de monitorización de procesos

63 Limitando procesos Se puede utilizar PAM para fijar límites de recursos para los procesos:  pam_access.so puede ser usado para limitar accesos al sistema por cuenta y locación.  Puede ser usado para restringir acceso al sistema desde sólo ciertos terminales o tipos de terminales.  El archivo de configuración para este módulo es /etc/security/access.conf.

64 Limitando procesos pam_time.so puede ser usado para limitar accesos por día y hora. Puede ser usado para restringir la hora del día que un usuario puede logearse al sistema o correr ciertos comandos. El archivo de configuración para este módulo es /etc/security/time.conf.

65 Limitando procesos pam_limits.so puede ser usado para limitar recursos disponibles para el proceso. Puede ser usado para limitar el número de procesos que un usuario dado puede crear, la cantidad de tiempo de CPU que un procesos puede consumir, el valor nice por defecto para un proceso, y otros límites. El archivo de configuración para este módulo es /etc/security/limits.conf.


Descargar ppt "Unit 8 System Monitoring J. Valenzuela Instituto Profesional DUOC UC Semestre 1 - 2012."

Presentaciones similares


Anuncios Google