Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
Syslog

Syslog

Ratings: (0)|Views: 2|Likes:
Published by cuestionesmil

More info:

Published by: cuestionesmil on Mar 06, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/24/2014

pdf

text

original

 
62
Número
01
www.linuxmagazine.com.es
S
yslog permite a los administradoresobtener información de registro ensus sistemas de manera uniformepara toda la red. Realizando la tarea deguardar, analizar y procesar los archivosde registro fácilmente, pero lo que lagente espera de los registros del sistemaha cambiado en los últimos años y el ser-vicio Syslog tradicional simplemente nolo puede ofrecer. Syslog-NG [1] cubreeste hueco.Los registros tradicionalmente se usanpara comprobar la salud del sistema.Muchos administradores ni siquiera semolestan en mirar los registros a menosque se encuentren con un problema en elsistema. Pero hoy, es también unacuestión de mejorar la fiabilidad, esto es,usar el sistema como una alerta tem-prana para impedir que las cosas vayan apeor. La integridad de los mensajes deun sistema es también ahora más impor-tante que nunca, ya que permiten a losadministradores levantar defensasbasadas en datos reales. Los admin-istradores también buscan habitual-mente más flexibilidad en la configu-ración y en el manejo de las redes.Han salido varios proyectos que inten-tan conseguir este objetivo de mejorar elservicio del Syslog tradicional. Uno deespiar los mensajes y conseguir el accesoa la información privilegiada.
Configuración poco flexible
La configuración de Syslog usa un sis-tema poco flexible con 20 posibles orí-genes y 8 prioridades. Esto puede ser unobstáculo en grandes redes o para servi-dores con múltiples servicios.
Uso inconsistente de orígenes y pri-oridades
Para la mayoría de las aplicaciones losadministradores no tienen una opciónpara administrar mensajes bajo un ori-gen específico. En algunos casos sepuede establecer una opción cuando secompila la aplicación, pero en tiempo deejecución hay realmente pocas opcionesdisponibles.
No registra el origen de la fuente
Cuando un mensaje pasa por distintosservidores de registro es imposible des-cubrir la fuente del mismo. Syslog noalmacena el FQDN (Fully QualifiedDomain Name) del host. Cada host quepropaga un mensaje modifica la direc-ción IP registrada.
Uso de transferencia de mensajes noorientado a la conexión (UDP)
Syslogd solo puede usar el protocoloUDP para transferir los mensajes. Si unpaquete se pierde por problemas en lared el mensaje nunca llegará al destino.
Syslog-NG
Existen grupos de desarrolladores queestán trabajando para eliminar estosproblemas y desarrollando un sistema deregistros (ver los cuadros “Syslog-Sign” y“Reliable Syslog”). Actualmente Syslog-NG es el mejor de ellos. Este desarrollose basa en el servicio Syslog tradicionalal que se le han añadido nuevas carac-
Registro de Sistema de Próxima Generación:Syslog-NG
La Caja Negra
los más difundidos es Syslog-NG (Syslogde próxima generación) que se lanzóbajo licencia GPL. Muchas distribu-ciones Linux ya han adoptado Syslog-NG. Otras alternativas disponibles sonReliable Syslog, en su primera imple-mentación, SDSC Secure Syslog [5] ySyslog Sign. El último todavía está enfase beta.
Problemas con BSD Syslog
El servicio syslog tradicional se presentóen Septiembre de 1983 en la Universidadde California (Berkeley). No tenía docu-mentos de diseño y el software estabapobremente documentado. Pasados 18años BSD Syslog se terminó de docu-mentar en el RFC 3164 [7].Syslog se ha convertido en un estándarde facto. El servicio es fácil de configu-rar, usando un fichero de configuracióncentral llamado
syslog.conf 
. Pero hayunas cuantas buenas razones para noestar satisfecho con la funcionalidad de
syslogd
:
Falta de métodos deautenticación
Syslogd no puede distinguir entre distin-tos hosts. Si el servicio se lanza con laopción
-r 
, acepta mensajes UDP en elpuerto 514 sin importar cual es su ori-gen. Esto permite a los atacantes invadirel servidor de registro con paquetes UDPo transmitir mensajes manipulados.Aparte de utilizar la funcionalidad de unfirewall simple, no hay forma de protegeral servidor de registros.
Mensajes en texto claro
Syslog siempre usa texto claro (texto nocifrado) para transmitir mensajes através de la red. Esto permite fácilmente
Syslog
 ADMINISTRACIÓN
El registro de los eventos del sistema es un reto para cualquier administrador.Yla debilidad del servicio Syslog tradicional se hace particularmente patente engrandes redes.Syslog-NG es un sustituto que realmente vale la pena.
PORCHRISTIAN SCHMITZ
062-066-syslog 22.11.2004 17:54 Uhr Seite 62
 
63
www.linuxmagazine.com.es
Número
01
terísticas sin sacrificar la compatibilidadcon el RFC 3164. Aunque actualmentecarece de características tales como lafirma digital y encriptación, los desarrol-ladores están intentando añadir laencriptación en una versión futura.Actualmente se necesita stunnel [4] paramanejar la encriptación.Syslog-NG puede cambiarse de UDP aTCP para proporcionar más fiabilidad enla entrega de mensajes. En este caso, laherramienta usa el puerto 514 por defec-to. Aunque actualmente el puerto 514está reservado para rlogin. Si quiere quelos dos funcionen al mismo tiempohabrá que reconfigurar el servidor.Muchas distribuciones incluyenactualmente Syslog-NG. Si se quiere usarel sucesor de Syslog en SuSE, hay queescribir la siguiente línea en
 /etc/syscon-fig/syslog 
y relanzar el servicio.
SYSLOG_DAEMON='syslog-ng'
El archivo de configuración central,
 /etc/syslog-ng/syslog-ng.conf 
, es ligera-mente más complejo que el tradicionaldel syslogd. En vez de incluir
original
y
 priority
, contiene el llamado
logpaths
que está formado por
source
,
filter 
y
des-tination
.Hay ocho controladores fuente difer-entes (véase Tabla 1). El controlador
internal
es obligatorio. Syslog-NG usaesta fuente especial para transmitir men-sajes que tienen que ver con el propioservicio.
Fuentes
Cuidado: Los controladores
file
y
 pipe
nodeben confundirse con las acciones desyslogd,
file
y
 pipe
. Syslog-NG los usacomo fuente desde las cuales el serviciolee mensajes y no como destino a los queredirigir los mensajes. El controlador filese encarga de
klogd
, por ejemplo leyendolos mensajes del kernel desde
 /proc/kmsg 
.Cada uno de estos controladores tieneuna o más opciones, que pueden especi-ficarse entre paréntesis seguido del nom-bre del controlador, por ejemplo, TCP yUDP necesitan saber el número de puer-
Figura 1:Syslog-Sign aplica una función hash a cada mensaje que se envía.Después transfiere un paquete con todos los valores hash de un grupo de mensajes,notificándolo al administrador de la transmisión además de las firmas de los mensajes.
HeaderPRIOther MessagesH(N) H(N+1) ... H(N+M)HeaderPRISHA-1Message N HashHeaderPRISHA-1Message N+1HeaderPRISHA-1Message N+M HashSIGHashSHA-1DSA/DHDSA/DHDSA/DHDSA/DHHashKeyPrivate
Syslog-Sign es una extensión del RFC 3164[7] que mantiene la compatibilidad haciaatrás con el BSD Syslog.Como sugiere sunombre,este nuevo desarrollo usa la firmadigital para proteger los mensajes de sermanipulados por un atacante.En elarranque,cada hostcrea un par de clavesasimétricas que son usadas para firmar cadagrupo de mensajes.Luego el hosttransmiteel grupo de mensajes al servidor de registroen un único mensaje (véase la figura 1).Estemétodo es particularmente útil para prote-ger los mensajes almacenados.Comomantiene la compatibilidad con el RFC 3164,Syslog-Sign usa UDP para transmitir losmensajes.Los mensajes se pueden perderpor la red y al no estar encriptados en sí mis-mos,un atacante espiando la red podríaacceder a información privilegiada.La verificación de la clave aun no está clara.Un atacante podría ser capaz de distribuirclaves manipuladas ya que Syslog-Sign uti-liza un mensaje normal para distribuir laclave pública.Aún se está trabajando en unaimplementación para FreeBSD [6]
Syslog-Sign
Reliable-Syslog [8],que está especificado enel RFC 3195,usa BEEP (Block ExtensibleExchange Protocol) para transferir los men-sajes.Este protocolo del nivel de aplicaciónestá basado en TCP.Está orientado a laconexión y tiene mecanismos de autenti-cación y verificación.Y proporciona protec-ción contra ataques.Usa dos tipos de formato de mensajes:Elmodo RAW que es compatible con el estilodel servidor syslog RFC 3164.Y el modoCOOKED que usa un formato de mensajeXML.Los mensajes COOKED además alma-cenan atributos adicionales como direc-ciones IP,FQDNs y tipos de dispositivos.Lalongitud del mensaje puede ser arbitraria.SDSC (San Diego Supercomputer Center)usa una implementación de Reliable-Syslogcon la licencia BSD-licensed Secure Syslog[5].Está versión es compatible con el BSDSyslog.Requiere de las bibliotecasRoadrunner BEEP,OpenSSL,Glib2 y Pkg-Config.Además de los perfiles RAW yCOOKED,también soporta el perfil llamado
Security Profile
.
Reliable Syslog
 ADMINISTRACIÓN
Syslog
062-066-syslog 22.11.2004 17:54 Uhr Seite 63
 
Las funciones de filtro (véase la Tabla2) pueden conectarse usando operadoresbooleanos (
and
,
or 
,
not 
y paréntesis).Para aplicar un filtro el resultado de laoperación debe ser
true
. Algunas fun-ciones de filtros pueden manejar expre-siones regulares como opciones.Los destinos especifican donde y porqué medios un mensaje debe ser redirigi-do y procesado. Tal y como en lasfuentes hay disponibles un número decontroladores de destino, cada uno delos cuales pueden tener distintasopciones. La Tabla 3 proporciona unalista de controladores disponibles.Syslog-NG llama al controlador unasola vez y lo mantiene ejecutándosehasta que el servicio recibe la señalSIGHUP y termina. Esto hace que el con-trolador sea muy eficiente. Si Syslog-NGse lanzase por un programa externo porcada mensaje entrante un atacantepodría lanzar múltiples procesos quesería similar a un ataque tipo DoS contrael sistema.Syslog-NG también tiene un númerode opciones globales. Por ejemplo,
chain_hostname
y
sep_hostname
especif-ican como Sislog-NG debe manejar losnombres de host cuando pasa un men-saje a través de múltiples servidores deregistros. Esto permite a los admin-istradores descubrir donde se originó elmensaje. El manual de referencia [2]contiene una lista completa de opcionesglobales.
Ejemplo de Configuración
Para ilustrar la estructura de
syslog-ng.conf 
la siguiente sección mues-tra un archivo de configuración simpledividido en secciones. Si está interesadoen hacer un archivo más complejo puedeconsultarlo en [3].
source local {internal ();unix-stream("/dev/log");file("/proc/kmsg");};
La fuente especifica aquí está identifica-da por su nombre
local
y comprende unnúmero de fuentes locales. Los contro-ladores fuentes son
internal
(obligatoria-mente) y el controlador
unix-stream
, loscuales usan el archivo de dispositivo
 /dev/log 
y el controlador
file
que lee losmensajes del kernel desde
 /proc/kmsg 
.La próxima seccion crea una fuente dered:
source remote {tcp(ip(192.168.0.24) port(3333)
max-connections(10));};
Esta fuente se referencia como
remote
; ysu controlador es
tcp
. Syslog-NG ahoraescuchará los mensajes en el puerto TCP3333. Incluso si el ordenador tiene múlti-ples direcciones IP el servidor sóloescuchará en 192.168.0.24. La opcion
max-connections
está establecida en 10;el ordenador aceptará un máximo de 10conexiones concurrentes al Syslog-NG.No es necesario especificar una únicafuente para los mensajes remotos.Muchos administradores crean unafuente individual que maneja todos loscontroladores. Dicho esto, fuentes sepa-radas suministraran una estructura máslimpia.
Selección de Mensajes
Ahora a por los filtros. Nuestro primerejemplo maneja mensajes cuyo nivel deregistro corresponde a los valores
warn
,
err 
,
crit 
:
filter warning {level(warn, err, crit);};
Esta regla simple, que aplica los filtrosbasados en las prioridades, es bastanteto en el que escuchar y
file
necesita elnombre del archivo. Los sistemas Linuxusan el controlador
unix-stream
local-mente; el controlador usa un socket dedominio Unix orientado a la conexión.Cada conexión abierta requiere su propioproceso, un hecho que un atacantepodría explotar para realizar un DoS(ataque por denegación de servicio).
max-connections
puede impedir estoespecificando un número máximo deconexiones concurrentes al servicio sys-log. Está establecido a 10 por defecto. Elmanual de referencia [2] contiene unalista completa de los controladoresfuente.
Filtros y Destinos
Los filtros describen como Syslog-NGdebería manejar los mensajes que recibede las diversas fuentes. Éste es uno delos puntos fuertes del nuevo sistema deregistro. Los administradores puedenusar filtros para ordenar los mensajes ypasarlos a los destinos apropiados.
64
Número
01
www.linuxmagazine.com.es
Syslog
 ADMINISTRACIÓN
FuenteDescripción
internalControlador para el propioservidor de mensajes.Obligatorio.unix-streamAbre un socketUnix específico enmodo SOCK_STREAM y se queda ala escucha de mensajes.unix-dgramAbre un socketUnix en modoSOCK_DGRAM y recibe mensajes através de él.fileAbre el fichero especificado.pipe,fifoAbre el pipe especificado y lee mensajes.udpEscucha mensajes en un puerto UDP.tcpEscucha mensajes en un puerto TCP.sun-streamAbre el dispositivo de flujo especificado(sólo Solaris)
Tabla 1:Controladotesfuentes
FiltroDescripción
facilitySe refiere a los mensajes que origina lautilidad especificada.level,prioritySe refiere a los mensajes con laprioridad especificada.programFiltra los mensajes donde el camponombre del programa contienen laexpresión regular especificadahostFiltra los mensajes donde el camponombre de hostcontiene la expresiónregular especificada.matchAplica la expresn regular especificadaal mensaje entero.filterLlama a otra regla de filtro.
Tabla 2:Funciones filtro
DestinoDescripcn
fileEscribe el mensaje al archivo especificado.pipe,fifoPasa el mensaje al pipe especificado.unix-streamReenvía el mensaje al socketUnixSOCK_STREAM.unix-dgramReenvía el mensaje al socketUnixSOCK_DGRAM.udpEnvía el mensaje al puerto UDPespecificado.tcpEnvía el mensaje al puerto TCPespecificado.userttyEnvía el mensaje a la consola especificadapor el usuario,si el usuario está conectado.programLanza el programa especificado y envíaun mensaje a la entrada estándar deprograma (Stdin).
Tabla 3:Controladoresdestinos
062-066-syslog 22.11.2004 17:54 Uhr Seite 64

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->