Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N
05/03/12 12/03/12 05/03/12 1 1
DESPLIEGUE DE SYSLOG SERVER
Versin vigente Opinin Niveles de Aprobacin Administrador de Seguridad Jefe de Produccin
Sub-Gerente de Informtica 12/03/12
Vigencia: 09/03/12 Cdigo: PRO 01
Fecha de aprobacin: 05/03/12 Nombre de (carpeta): INFRAESTRUCTURA-PROCEDIMIENTOS
La versin impresa vigente se encuentra en: INFORMTICA
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 2
PROCEDIMIENTO DESPLIEGUE DE SYSLOG SERVER Cdigo: PRO 01 Versin: 1 Vigencia:01/02/12 Ttulo: Procedimiento de Despliegue de Syslog Server
Tabla de Contenido:
Introduccin......................................................................................................................... 3 Objetivo............................................................................................................................... 4 Syslog.................................................................................................................................. 5 Rsyslog................................................................................................................................ 5 Instalando Rsyslog.............................................................................................................. 6 Requisitos para instalar Rsyslog.................................................................................... 6 Paquetes a instalar...................................................................................................... 6 Implementando rsyslog............................................................................................................ 8 Manual de usuario............................................................................................................. 40
Ttulo: Procedimiento de Despliegue de Aplicaciones
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 3
Introduccin La palabra log es un trmino anglosajn, equivalente a la palabra bitcora en lengua castellana. Sin embargo, se utiliza en los pases de habla hispana como un anglicismo derivado de las traducciones del ingls en la jerga informtica. Del mismo trmino tambin proviene la palabra blog, que es la contraccin de "web log". Un log es un registro oficial de eventos durante un rango de tiempo en particular. Para los profesionales en seguridad informtica es usado para registrar datos o informacin sobre quin, qu, cundo, dnde y por qu (who, what, when, where y why, W5) un evento ocurre para un dispositivo en particular o aplicacin. La mayora de los logs son almacenados o desplegados en el formato estndar, el cual es un conjunto de caracteres para dispositivos comunes y aplicaciones. De esta forma cada log generado por un dispositivo en particular puede ser ledo y desplegado en otro diferente. Tambin se le considera cmo aquel mensaje que genera el programador de un sistema operativo, alguna aplicacin o algn proceso, en virtud del cual se muestra un evento del sistema. A su vez la palabra log se relaciona con el trmino evidencia digital. Un tipo de evidencia fsica construida de campos magnticos y pulsos electrnicos que pueden ser recolectados y analizados con herramientas y tcnicas especiales, lo que implica la lectura del log y deja al descubierto la actividad registrada en el mismo.
Objetivo
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 4
Realizar la implementacin de un servidor de syslog en la distribucin Linux CentOS 5.3 (Final), nos apoyaremos para la realizacin de este proyecto en los aplicativos Virtual Box y el Sistema Operativo CentOS 5.3, para luego migrar al servidor Proxy IP: 193.100.100.7. Esto con el objetivo de facilitar la lectura y administracin de todos los logs de servidores y dems dispositivos de nuestra red de una forma centralizada.
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 5
Syslog Syslog es un estndar de facto para el envo de mensajes de registro en una red informtica IP. Por syslog se conoce tanto al protocolo de red como a la aplicacin o biblioteca que enva los mensajes de registro. Un mensaje de registro suele tener informacin sobre la seguridad del sistema, aunque puede contener cualquier informacin. Junto con cada mensaje se incluye la fecha y hora del envo. El protocolo syslog es muy sencillo: existe un ordenador servidor ejecutando el servidor de syslog, conocido como syslogd (demonio de syslog). El cliente enva un pequeo mensaje de texto (de menos de 1024 bytes). Los mensajes de syslog se suelen enviar va UDP, por el puerto 514, en formato de texto plano. Algunas implementaciones del servidor, como syslog-ng, permiten usar TCP en vez de UDP, y tambin ofrecen tunnel para que los datos viajen cifrados mediante SSL/TLS. Aunque syslog tiene algunos problemas de seguridad, su sencillez ha hecho que muchos dispositivos lo implementen, tanto para enviar como para recibir. Eso hace posible integrar mensajes de varios tipos de sistemas en un solo repositorio central.
Rsyslog Rsyslog es un programa de cdigo abierto para el reenvo de mensajes de registro en una red IP para UNIX y sistemas de tipo Unix. Se implementa el protocolo syslog de base, se extiende con contenido basado en el filtrado, la rica capacidades de filtrado, las opciones de configuracin flexibles y aade importantes caractersticas como el uso de TCP para el transporte.
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 6
Instalando Rsyslog La Instalacin de Rsyslog la realizaremos en la distribucin de Linux CentOS 5.3 cuya direccin IPv4 es 193.100.100.7/24.
Requisitos para instalar Rsyslog Teniendo claro que es syslog procederemos a describir los componentes que vamos a instalar para tener nuestro servidor syslog corriendo y adems poder administrarlo de una manera fcil. Paquetes a instalar rsyslog: demonio como tal que ejecuta el servicio de syslog. rsyslog-mysql: extensin la cual nos permite que rsyslog establezca comunicacin con el servidor de base de datos mysql. mysql-server: Motor de base de datos la cual nos permitir almacenar todos los logs emitidos por los clientes de nuestro servidor syslog e igualmente lo instalaremos en la misma mquina. php: script el cual requerimos para poder instalar y operar la aplicacin que nos permite de una forma amigable y grafica administrar nuestro servidor de syslog. php-mysql: complemento que requerimos para poder instalar y operar la aplicacin que nos permite de una forma amigable y grafica administrar nuestro servidor de syslog. php-gd: complemento que requerimos para poder instalar y operar la aplicacin que nos permite de una forma amigable y grafica administrar nuestro servidor de syslog. httpd: debemos instalar el servicio de http ya que la administracin de nuestro servidor de syslog la realizaremos a partir de una interface web.
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 7
Implementando rsyslog Asumiendo que nuestra distribucin de Linux CentOS 5.3 est instalada y actualizada, ya sea en un equipo dedicado, mquina virtual, etc. Procederemos a instalar los paquetes necesarios. Lo primero que debemos realizar para instalar y que nos inicie el rsyslog es parar el servicio syslog que por defecto est en ejecucin, igualmente desactivamos syslog al inicio del sistema con los siguientes comando de CLI.
Como podemos observar en la captura de pantalla con el comando service syslog stop paramos el demonio de syslog, igualmente comprobamos con el comando chkconfig list | grep syslog si syslog est activado para que se inicie cuando inicie el sistema, posteriormente desactivamos a syslog con el comando chkconfig syslog off cuando inicie el sistema y nuevamente comprobamos que syslog no se inicie cuando el sistema se inicie con el comando chkconfig list | grep syslog. Hecha esta tarea vamos a instalar los paquetes. La siguiente secuencia de comandos nos permite realizar mencionada tarea:
En la captura de imagen ejecutamos el comando yum install mysql mysql-server e igualmente aceptamos descargar las dependencias asociadas a mysql. El primer paquete mysql es el cliente de mysql y el segundo mysql-server es el paquete que nos instala el servicio de mysql, en CentOS los servicios no se inician automticamente cuando culmina la instalacin, debemos iniciarlos y adems debemos configurarlos para que nos inicie durante el inicio del sistema si as lo consideramos pertinente. El demonio que ejecuta el servicio de mysql en CentOS se llama mysqld.
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 8
Con los comandos service mysqld start y chkconfig mysqld on habilitamos el servicio de mysql y lo agregamos al inicio del sistema respectivamente.
Tenemos que tener presente que cuando realizamos la instalacin de mysql en CentOS no nos ofrece la configuracin del usuario root, entonces para realizar esta tarea escribimos los siguietes comandos. mysqladmin u root password password;
En este pantallazo lo que realizamos fue entrar a la base de datos mysql como root, creamos la base de datos rsyslog la cual utilizaremos para almacenar los datos log que nos generen las mquinas de nuestra red, e igualmente creamos el usuario que tendr todos los privilegios solo para la base de datos rsyslog. Teniendo nuestra base de datos creada vamos a instalar rsyslog. yum install rsyslog rsyslog-mysql, e igualmente iniciamos el demonio rsyslog y lo agregamos al inicio del sistema. El siguiente paso que realizaremos es exportar una plantilla de la base de datos de rsyslog la cual la podemos encontrar en /usr/share/doc/rsyslog-mysql<verion>/createDB.sql
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 9
En nuestro caso esta es la ruta con su respectiva versin.
En la captura de pantalla podemos observar que modificamos el nombre de la base de datos que por defecto es Syslog y lo acomodamos al nombre de la base de datos que creamos previamente: rsyslog.
Entramos como root a mysql e importamos la plantilla para la base de datos rsyslog.
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 10
El archivo de configuracin de rsyslog lo podemos encontrar en /etc/rsyslog.conf, en el cual realizaremos algunas modificaciones. $ModLoad ommysql.so *.* :ommysql:127.0.0.1,rsyslog,rsyslog,AsDfG123 Esto permite a rsyslog escribir en la base de datos y cuya estructura es: *.* :ommysql:<servidormysql>,<DBname>,<username>,<passdb>
Podemos configurar nuestro servidor de syslog para que funcione en la capa de transporte sobre TCP o UDP, los comandos disponibles a continuacin nos proporcionan esto: $ModLoad imtcp.so $InputTCPServerRun 514 $ModLoad imudp.so $UDPServerRun 514
El primer bloque configura nuestro servidor rsyslog para que trabaje sobre TCP en el puerto por defecto 514, el segundo bloque pone a rsyslog a trabajar sobre UDP en el puerto por defecto 514.
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 11
Finalmente editamos el archivo /etc/sysconfig/rsyslog Modificamos la directiva SYSLOGD_OPTIONS=-r -m 0 esto para permitir clientes de syslog remotos.
Procederemos a reiniciar el servicio de rsyslog: service rsyslog restart netstat -uan Con el segundo comando comprobamos que rsyslog si este escuchando y por el puerto especificado.
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 12
Nuestro servidor de syslog ya est operativo pero es ms agradable y cmodo realizar la administracin por medio de una interface grfica, entonces vamos a instalar loganalizer la cual es una interface sobre web que nos permite administrar los logs de nuestro servidor rsyslog. Los requerimientos para su implementacin es el conjunto de aplicaciones LAMP y GD (para reportes grficos).
Ya tenemos instalado mysql entonces procederemos a instalar lo que es apache, php y gd. Yum install httpd php php-mysql gd php-gd
httpd es el nombre del paquete y del servicio que nos instalara Apache en CentOS. Recordemos que debemos iniciar y agregar al inicio el servicio de Apache (httpd).
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 13
Descargaremos la aplicacin loganalyzer de la URL http://loganalyzer.adiscon.com/ Podemos descargarlo desde la maquina anfitrin en el caso de nosotros ya que estamos realizando este proyecto sobre vitalizacin y posteriormente lo subimos a el servidor por medio de FTP, como no tenemos instalado el servicio FTP en el servidor lo realizaremos con el comando wget.
Esto porque buen debido a que estamos trabajando con CentOS en modo consola.
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 14
Realizamos el cambio de directorio para /var/www/html/, en este directorio crearemos una carpeta llamada loganalyzer y en ella descomprimiremos el paquete que descargamos de wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.1.tar.gz, esto con el fin de crear el directorio root para la aplicacin web, la cual nos permitir la administracin de nuestro servidor de syslog con una GUI amigable basada en web (HTTP). Nota: la descarga la realizamos cuando estemos en esta ubicacin, por comodidad al momento de desempaquetado.
tar xzvf loganalyzer-3.0.0.tar.gz
Con este comando desempaquetamos nuestra aplicacin.
Renombramos la carpeta que se gener durante el desempaquetado
En la imagen podemos observar que no encontramos en el directorio src la carpeta principal de la aplicacin web se llama src. Uno de los pasos finales es realizar la configuracin de nuestro aplicacin web en Apache, esto lo realizaremos con Hosting Virtual basado en nombre.
Nos posicionamos en el directorio /etc/httpd/conf/ este es el directorio donde se encuentra el archivo httpd.conf el cual es el archivo principal donde se configuran todo lo relacionado con el servidor web Apache. Es recomendable realizar una copia del archivo httpd.conf antes de realizar alguna modificacin.
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 15
Configuracin de httpd.conf Modificar las siguientes directivas: Listen 80 > Listen *:80 ServerAdmin root@localhost > ServerAdmin ischmidt@fpj.com.py En la lnea que dice: Options Indexes FollowSymLinks que se encuentra dentro de la directiva <Directory "/var/www/html"> quitamos la palabra Indexes Con esto le indicamos que si no encuentra un archivo ndice no deje listar el contenido de la carpeta html y por ende ninguno de sus subdirectorios
Dentro de la directiva <Directory "/var/www/error"> Modificar la directiva Allow from all a Allow from 127.0.0.1 Des comentamos la directiva #NameVirtualHost *:80 a NameVirtualHost *:80
Y final mente modificamos la directiva <VirtualHost *.80> y las directivas que se encuentran dentro de la directiva <VirtualHost>
Reiniciamos el servicio de Apache.
service httpd restart
Y en este punto debemos cargar el web site con la url http://193.100.100.7
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 16
Esta es la pgina principal en la cual nos ofrece un asistente para configurar loganalyzer y damos click en here.
Nos indica que debemos dar permisos de escritura a el archivo config.php Estando en la ubicacin
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 17
En este apartado vamos a dejar todo por default y habilitaremos la opcin usar base de datos, entonces debemos crea una nueva base de datos, la cual contendr todas la estructura de la aplicacin loganalyzer.
Creacin de dase de datos para loganalyzer.
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 18
Quedando como lo muestra la imagen y seleccionamos yes en la opcin solicitar usuario para poder iniciar seccin.
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 19
Finalmente creamos la cuenta de administrador de syslog. Usuario: logadmin Contrasea: **********
Seleccionamos el tipo de origen, en nuestro caso es mysql, especificamos el nombre de la base de datos, usuario y password.
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 20
Con este pantallazo finalizamos la instalacin de loganalyzer.
Podemos apreciar nuestro servidor syslog operativo y con una amigable GUI. La configuracin de clientes Linux es la siguiente:
En CentOS se debe editar el archivo /etc/syslog.conf *.* @<IP_ADDRESS_SERVER_SYSLOG>
En Ubuntu se debe editar el archivo /etc/rsyslog.conf *.* @<IP_ADDRESS_SERVER_SYSLOG>
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 21
NOTA: Los *.* definen todo tipo de log generado por la estacin cliente, se debe especificar la doble @@ si se configuro el servidor con TCP, y si se configura con otro puerto que no sea el puerto por default seria @ipaddress:port. Algunos de los tipos de logs que podemos configurar en el parmetro *.* son:
Pueden contener * o la palabra none
Para terminar con este manual vamos a configurar un router Cisco 3600 como cliente de syslog. Los comandos que se deben agregar a la configuracin en ejecucin en el router son:
R1(config)#logging 193.100.100.7
Fecha de Emisin Fecha de Vigencia Fecha de Versin Versin N Hoja N 05/03/12 12/03/12 05/03/12 1 22