Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Seguridad en Unix y redes - El demonio syslogd

Seguridad en Unix y redes - El demonio syslogd

 ****- (7 opiniones)
GNU Free Documentation License Tutorial de Antonio Villalón Huerta - 28 de Febrero de 2006
Temas Relacionados: Seguridad informática
27. El demonio syslogd
El demonio syslogd (Syslog Daemon) se lanza automáticamente al arrancar un sistema Unix, y es el encargado de guardar informes sobre el funcionamiento de la máquina. Recibe mensajes de las diferentes partes del sistema (núcleo, programas...) y los envía y/o almacena en diferentes localizaciones, tanto locales como remotas, siguiendo un criterio definido en el fichero de configuración /etc/syslog.conf, donde especificamos las reglas a seguir para gestionar el almacenamiento de mensajes del sistema. Las líneas de este archivo que comienzan por `#' son comentarios, con lo cual son ignoradas de la misma forma que las líneas en blanco; si ocurriera un error al interpretar una de las líneas del fichero, se ignoraría la línea completa. Un ejemplo de fichero /etc/syslog.conf es el siguiente:

anita:~# cat /etc/syslog.conf #ident "@(#)syslog.conf 1.4 96/10/11 SMI" /* SunOS 5.0 */ # # Copyright (c) 1991-1993, by Sun Microsystems, Inc. # # syslog configuration file. # # This file is processed by m4 so be careful to quote (`') names # that match m4 reserved words. Also, within ifdef's, arguments # containing commas must be quoted. # *.err;kern.notice;auth.notice /dev/console *.err;kern.debug;daemon.notice;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator *.alert root *.emerg * # if a non-loghost machine chooses to have authentication messages # sent to the loghost machine, un-comment out the following line: #auth.notice ifdef(`LOGHOST', /var/log/authlog, @loghost) mail.debug ifdef(`LOGHOST', /var/log/syslog, @loghost) # # non-loghost machines will use the following lines to cause "user" # log messages to be logged locally. # ifdef(`LOGHOST', , user.err /dev/console user.err /var/adm/messages user.alert `root, operator' user.emerg * ) anita:~#

Podemos ver que cada regla del archivo tiene dos campos: un campo de selección y un campo de acción, separados ambos por espacios o tabuladores. El campo de selección está compuesto a su vez de dos partes separadas por un punto: una que indica el servicio que envía el mensaje y otra que marca su prioridad, separadas por un punto (`.'); ambas son indiferentes a mayúsculas y minúsculas. La parte del servicio contiene una de las siguientes palabras clave: auth, auth-priv, cron, daemon, kern, lpr, mail, mark, news, security (equivalente a auth), syslog, user, uucp y local0 hasta local7; esta parte especifica el `subsistema' que ha generado ese mensaje (por ejemplo, todos los programas relacionados con el correo generarán mensajes ligados al servicio mail). En segundo lugar, la prioridad está compuesta de uno de los siguientes términos, en orden ascendente: debug, info, notice, warning, warn (equivalente a warning), err, error (equivalente a err), crit, alert, emerg, y panic (equivalente a emerg). La prioridad define la gravedad o importancia del mensaje almacenado. Todos los mensajes de la prioridad especificada y superiores son almacenados de acuerdo con la acción requerida.
Además de los términos mencionados hasta ahora, el demonio syslogd emplea en su fichero de configuración los siguientes caracteres especiales:
  • `' (asterisco)
    Empleado como comodín para todas las prioridades y servicios anteriores, dependiendo de dónde son usados (si antes o después del carácter de separación `.'):# Guardar todos los mensajes del servicio mail en /var/adm/mail # mail.* /var/adm/mail
  • ` ' (blanco, espacio, nulo)
    Indica que no hay prioridad definida para el servicio de la línea almacenada.
  • `,' (coma)
    Con este carácter es posible especificar múltiples servicios con el mismo patrón de prioridad en una misma línea. Es posible enumerar cuantos servicios se quieran:# Guardar todos los mensajes mail.info y news.info en # /var/adm/info mail,news.=info /var/adm/info
  • `;' (punto y coma)
    Es posible dirigir los mensajes de varios servicios y prioridades a un mismo destino, separándolos por este carácter:# Guardamos los mensajes de prioridad "info" y "notice" # en el archivo /var/log/messages *.=info;*.=notice /var/log/messages
  • `=' (igual)
    De este modo solo se almacenan los mensajes con la prioridad exacta especificada y no incluyendo las superiores:# Guardar todos los mensajes criticos en /var/adm/critical # *.=crit /var/adm/critical
  • `!' (exclamación)
    Preceder el campo de prioridad con un signo de exclamación sirve para ignorar todas las prioridades, teniendo la posibilidad de escoger entre la especificada (!=prioridad) y la especificada más todas las superiores (!prioridad). Cuando se usan conjuntamente los caracteres `=' y `!', el signo de exclamación `!' debe preceder obligatoriamente al signo igual `=', de esta forma: !=.# Guardar mensajes del kernel de prioridad info, pero no de # prioridad err y superiores # Guardar mensajes de mail excepto los de prioridad info kern.info;kern.!err /var/adm/kernel-info mail.*;mail.!=info /var/adm/mail

La segunda parte de cada línea del archivo de configuración de syslogd es el campo de acción, y describe el destino de los mensajes (dónde se van a guardar o qué programa los va a procesar); este destino puede ser uno de los siguientes:

  • Un fichero plano
    Normalmente los mensajes del sistema son almacenados en ficheros planos. Dichos ficheros han de estar especificados con la ruta de acceso completa (comenzando con `/').
    Podemos preceder cada entrada con el signo menos, `-', para omitir la sincronización del archivo (vaciado del buffer de memoria a disco). Aunque puede ocurrir que se pierda información si el sistema cae justo después de un intento de escritura en el archivo, utilizando este signo se puede conseguir una mejora importante en la velocidad, especialmente si estamos ejecutando programas que mandan muchos mensajes al demonio syslogd.# Guardamos todos los mensajes de prioridad critica en "critical" # *.=crit /var/adm/critical
  • Un dispositivo físico
    También tenemos la posibilidad de enviar los registros del sistema a un dispositivo físico del mismo, típicamente un terminal o una impresora. Así conseguimos, entre otras cosas, que esas entradas permanezcan relativa o totalmente inalteradas (en función de qué dispositivo las reciban). Por ejemplo, podemos tener uno de los terminales virtuales que muchos sistemas Unix ofrecen en su consola `dedicado' a listar los mensajes del sistema, que podrán ser consultados con solo cambiar a ese terminal mediante la combinación de teclas correspondiente:# Enviamos todos los mensajes a tty12 (ALT+F12 en Linux) y todos # los mensajes criticos del nucleo a consola # *.* /dev/tty12 kern.crit /dev/console
  • Una tubería con nombre
    Algunas versiones de syslogd permiten enviar registros a ficheros de tipo pipe simplemente anteponiendo el símbolo `' al nombre del archivo; dicho fichero ha de ser creado antes de iniciar el demonio syslogd, mediante órdenes como mkfifo o mknod. Esto es útil para debug y también para procesar los registros utilizando cualquier aplicación de Unix, tal y como veremos al hablar de logs remotos cifrados.
    Por ejemplo, la siguiente línea de /etc/syslog.conf enviaría todos los mensajes de cualquier prioridad a uno de estos ficheros denominado /var/log/mififo:# Enviamos todos los mensajes a la tuberia con nombre # /var/log/mififo # *.* |/var/log/mififo
  • Una máquina remota
    Se pueden enviar los mensajes del sistema a otra máquina, de manera a que sean almacenados remotamente, sin más que indicar en el campo de acción el nombre o dirección de dicho sistema precedido por el signo `@'. Esto es útil si tenemos una máquina segura, en la que podemos confiar, conectada a la red, ya que de esta manera se guardaría allí una copia de los mensajes de nuestro sistema, copia que no podría ser modificada en caso de que alguien entrase en la máquina que los está generando. Esto es especialmente interesante para detectar usuarios `ocultos' en nuestro sistema (usuarios maliciosos que han conseguido los suficientes privilegios para ocultar sus procesos o su conexión), ya que una de las principales cosas que hará este tipo de atacantes es eliminar cualquier registro que denote su presencia en la máquina (por ejemplo, sus entradas en wtmp).
    En el siguiente ejemplo utilizamos un sistema a priori confiable para enviarle algunos de nuestros registros:# Enviamos los mensajes de prioridad warning y superiores al # fichero "syslog" y todos los mensajes (incluidos los # anteriores) a la maquina "secure.upv.es" # *.warn /usr/adm/syslog *.* @secure.upv.es
  • Unos usuarios del sistema (si están conectados)
    Se especifica la lista de usuarios que deben recibir un tipo de mensajes simplemente escribiendo sus login, separados por comas:# Enviamos los mensajes con la prioridad "alert" a root y toni # *.alert root, toni
  • Todos los usuarios que estén conectados
    Los errores con una prioridad de emergencia se suelen enviar a todos los usuarios que estén conectados al sistema, de manera que se den cuenta de que algo va mal; para ello utilizamos un asterisco en el campo de acción:# Mostramos los mensajes urgentes a todos los usuarios # conectados, mediante wall *.=emerg *

Cuando un programa quiere enviar un mensaje al demonio syslogd utiliza la llamada syslog(3); al hacerlo, se ha de indicar tanto el servicio como la prioridad del mismo. Evidentemente, esto es válido para el código en C: si queremos enviar registros al demonio para que sean procesados desde un shellscript podemos utilizar la orden logger, en la que también podemos indicar ambos parámetros:

luisa:~# logger -p local0.info "Esto es una prueba" luisa:~# tail -1 /var/adm/messages May 14 03:53:14 luisa root: Esto es una prueba luisa:~#
Tabla de contenidos
  1. 1 - Introducción y conceptos previos
  2. 2 - Sobre la seguridad
  3. 3 - Sobre las redes
  4. 4 - Seguridad física de los sistemas
  5. 5 - Protección del hardware
  6. 6 - Protección de los datos
  7. 7 - Radiaciones electromagnéticas
  8. 8 - Administradores, usuarios y personal
  9. 9 - Ataques potenciales
  10. 10 - Qué hacer ante estos problemas
  11. 11 - El atacante interno
  12. 12 - El sistema de ficheros
  13. 13 - Sistemas de ficheros
  14. 14 - Permisos de un archivo
  15. 15 - Los bits SUID, SGID y sticky
  16. 16 - Atributos de un archivo
  17. 17 - Listas de control de acceso: ACLs
  18. 18 - Recuperación de datos
  19. 19 - Almacenamiento seguro
  20. 20 - Programas seguros, inseguros y nocivos
  21. 21 - La base fiable de cómputo
  22. 22 - Errores en los programas
  23. 23 - Fauna y otras amenazas
  24. 24 - Programación segura
  25. 25 - Auditoría del sistema
  26. 26 - El sistema de log en Unix
  27. 27 - El demonio syslogd
  28. 28 - Algunos archivos de log
  29. 29 - Logs remotos
  30. 30 - Registros físicos
  31. 31 - Copias de seguridad
  32. 32 - Dispositivos de almacenamiento
  33. 33 - Algunas órdenes para realizar copias de seguridad
  34. 34 - Políticas de copias de seguridad
  35. 35 - Autenticación de usuarios
  36. 36 - Sistemas basados en algo conocido: contraseñas
  37. 37 - Sistemas basados en algo poseído: tarjetas inteligentes
  38. 38 - Sistemas de autenticación biométrica
  39. 39 - Autenticación de usuarios en Unix: autenticación clasi
  40. 40 - Autenticación de usuarios en Unix: mejora de la seguridad (II)
  41. 41 - PAM
  42. 42 - Solaris
  43. 43 - Seguridad física en SPARC
  44. 44 - Servicios de red
  45. 45 - Usuarios y accesos al sistema
  46. 46 - El sistema de parcheado
  47. 47 - Extensiones de la seguridad
  48. 48 - El subsistema de red
  49. 49 - Parametros del núcleo
  50. 50 - Linux
  51. 51 - Seguridad física en x86
  52. 52 - Usuarios y accesos al sistema
  53. 53 - El sistema de parcheado
  54. 54 - El subsistema de red
  55. 55 - El núcleo de Linux
  56. 56 - AIX
  57. 57 - Seguridad física en RS/6000
  58. 58 - Servicios de red
  59. 59 - Usuarios y accesos al sistema (I)
  60. 60 - Usuarios y accesos al sistema (II)
  61. 61 - El sistema de log
  62. 62 - El sistema de parcheado
  63. 63 - Extensiones de la seguridad: filtros IP
  64. 64 - El subsistema de red
  65. 65 - HP-UX
  66. 66 - Seguridad física en PA-RISC
  67. 67 - Usuarios y accesos al sistema
  68. 68 - El sistema de parcheado
  69. 69 - Extensiones de la seguridad
  70. 70 - El subsistema de red
  71. 71 - El núcleo de HP-UX
  72. 72 - Seguridad de la subred: el sistema de red
  73. 73 - Algunos ficheros importantes
  74. 74 - Algunas órdenes importantes
  1. 75 - Servicios
  2. 76 - Algunos servicios y protocolos
  3. 77 - Servicios basicos de red
  4. 78 - El servicio FTP
  5. 79 - El servicio TELNET
  6. 80 - El servicio SMTP
  7. 81 - Servidores WWW
  8. 82 - Los servicios r-
  9. 83 - XWindow
  10. 84 - Cortafuegos: Conceptos teóricos
  11. 85 - Características de diseño
  12. 86 - Componentes de un cortafuegos
  13. 87 - Arquitecturas de cortafuegos
  14. 88 - Firewall-1
  15. 89 - ipfwadm/ipchains/iptables
  16. 90 - IPFilter
  17. 91 - PIX Firewall (I)
  18. 92 - PIX Firewall (II)
  19. 93 - Escaneos de puertos
  20. 94 - Spoofing
  21. 95 - Negaciones de servicio
  22. 96 - Interceptación
  23. 97 - Ataques a aplicaciones
  24. 98 - Sistemas de detección de intrusos
  25. 99 - Clasificación de los IDSes
  26. 100 - Requisitos de un IDS
  27. 101 - IDSes basados en maquina
  28. 102 - IDSes basados en red
  29. 103 - Detección de anomalías
  30. 104 - Detección de usos indebidos
  31. 105 - Implementación real de un IDS (I)
  32. 106 - Implementación real de un IDS (II)
  33. 107 - Algunas reflexiones
  34. 108 - Kerberos
  35. 109 - Arquitectura de Kerberos
  36. 110 - Autenticación
  37. 111 - Problemas de Kerberos
  38. 112 - Criptología
  39. 113 - Criptosistemas
  40. 114 - Clasificación de los criptosistemas
  41. 115 - Criptografía clasica
  42. 116 - Un criptosistema de clave secreta: DES
  43. 117 - Criptosistemas de clave pública
  44. 118 - Funciones resumen
  45. 119 - Esteganografía
  46. 120 - Algunas herramientas de seguridad
  47. 121 - Titan (I)
  48. 122 - Titan (II)
  49. 123 - TCP Wrappers
  50. 124 - SSH
  51. 125 - Tripwire
  52. 126 - Nessus
  53. 127 - Crack
  54. 128 - Gestión de la seguridad
  55. 129 - Políticas de seguridad
  56. 130 - Analisis de riesgos
  57. 131 - Estrategias de respuesta
  58. 132 - Outsourcing
  59. 133 - El "Área de Seguridad"
  60. 134 - Apéndice 1: Seguridad basica para administradores (I)
  61. 135 - Apéndice 1: Seguridad basica para administradores (II)
  62. 136 - Apéndice 2: Normativa (I)
  63. 137 - Apéndice 2: Normativa (II)
  64. 138 - Apéndice 2: Normativa (III)
  65. 139 - Apéndice 2: Normativa (IV)
  66. 140 - Recursos de interés en INet
  67. 141 - Glosario de términos anglosajones
  68. 142 - Conclusiones
  69. 143 - Bibliografía (I)
  70. 144 - Bibliografía (II)
  71. 145 - Bibliografía (III)
  72. 146 - Bibliografía (IV)
  73. 147 - Bibliografía (V)
  74. 148 - libro
Autor y licencia de 'Seguridad en Unix y redes - El demonio syslogd'
Antonio Villalón Huerta Extraído de: http://es.tldp.org/Manuales-LuCAS/doc-unixsec/unixsec-html/ GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.gnu.org/copyleft/
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Seguridad en Unix y redes - El demonio syslogd'

Es muy fácil crear archivos en el sistema operativo UNIX. Por lo tanto, los usuarios... Más »
Hablar de redes de ordenadores siempre implica hablar de Unix. Por supuesto, Unix no es... Más »
Ken Thompson y Dennis Ritchie decidieron esbozar un sistema operativo que supliera las necesidades de... Más »
Esta guía no es un documento general de seguridad. Esta guía está específicamente orientada a... Más »
Quisiera por lo tanto partir ahora de un conjunto de apuntes generales, de una veloz... Más »
Gente Wiki
Jaime
Trabajo en los sistemas GIS desde el año 1998 cuando me inicie en un proyecto de censo de poblacion...
Victor M. Dacasa
Me he especializado en toma de decisiones estratégicas y operativas de acuerdo a la metodología kepner-tregoe® con práctica profesional en...
Rodolfo
Trabajo como profesor de computacion en una escuela tecnica, impartiendo los programas de microsoft office y contabilidad integrada. Tambien, como...
Jose Luis
Hola a tod@s soy de la Cd. de México, Psicólogo de 39 años soy terapeuta y me gusta mucho aprender...
Estrés, Angustia,...
Adriana Flores
Egresada de la carrera de ciencias de la comunicación y periodismo. Durante 7 años impartí cursos de computación y actualmente...
Cristina Velazquez
Hola!!! soy profesora de informática y ciencias exactas. Me desempeño en dos instituciones educativas en la ciudad de buenos aires, argentina....
Suscribirse
¿Estás seguro de que deseas eliminar este capítulo?