
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>El Blog de Ángel Carrasco &#187; CEH</title>
	<atom:link href="http://www.angelcarrasco.com/category/ceh/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.angelcarrasco.com</link>
	<description>En silencio, actuamos.</description>
	<lastBuildDate>Thu, 08 Nov 2012 11:12:44 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Centralizar los logs vía Web</title>
		<link>http://www.angelcarrasco.com/2012/06/14/centralizar-los-logs-via-web/</link>
		<comments>http://www.angelcarrasco.com/2012/06/14/centralizar-los-logs-via-web/#comments</comments>
		<pubDate>Thu, 14 Jun 2012 12:16:57 +0000</pubDate>
		<dc:creator>Ángel Carrasco</dc:creator>
				<category><![CDATA[CEH]]></category>
		<category><![CDATA[CHFI]]></category>
		<category><![CDATA[Logs]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[LogAnalyzer]]></category>
		<category><![CDATA[rsyslog]]></category>

		<guid isPermaLink="false">http://www.angelcarrasco.com/?p=296</guid>
		<description><![CDATA[Introducci&#243;n Uno de los mayores dolores de cabeza de un administrador de sistemas, es la gesti&#243;n de los logs de sus servidores. Al final, se necesita una herramienta -preferiblemente web- para la gesti&#243;n de los logs y as&#237; poder llevar un seguimiento de los servicios o analizar una incidencia. Por ello, yo utilizo LogAnalyzer de [...]]]></description>
				<content:encoded><![CDATA[<h1>Introducci&oacute;n</h1>
<p><span style="font-family: arial, helvetica, sans-serif; ">Uno de los mayores dolores de cabeza de un administrador de sistemas, es la gesti&oacute;n de los <em>logs </em>de sus servidores. Al final, se necesita una herramienta -preferiblemente web- para la gesti&oacute;n de los <em>logs </em>y as&iacute; poder llevar un seguimiento de los servicios o analizar una incidencia. Por ello, yo utilizo <strong><a href="http://loganalyzer.adiscon.com/">LogAnalyzer</a></strong> de Adiscon y os voy a contar como lo he implementado en un servidor&nbsp;</span><strong>GNU/Debian</strong><span style="font-family: arial, helvetica, sans-serif; ">. Aunque yo haya utilizado este sistema operativo, no excluye a todo aquel sistema operativo que permita la implementaci&oacute;n LAMP y del servicio <strong>Rsyslog</strong>.</span></p>
<p>&nbsp;</p>
<h1>Requerimientos</h1>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">Por ello, antes de empezar debemos comprobar si funcionan correctamente los siguientes servicios:</span></span></p>
<ul>
<li>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">Servidor web con soporte PHP</span></span></p>
</li>
<li>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">Servidor de bases de datos MySQL</span></span></p>
</li>
<li>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">Servicio NTP</span></span></p>
</li>
</ul>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">El servicio NTP no se requiere para poder instalar el software, sin embargo, no debemos perder de vista que si no contamos con una correcta precisi&oacute;n, el an&aacute;lisis de los <em>logs </em>puede ser bastante ca&oacute;tico.</span></span></p>
<p>&nbsp;</p>
<h1>Instalaci&oacute;n del servicio Rsyslog</h1>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">Comprobados los servicios indicados anteriormente, procedemos a instalar el servicio <strong>Rsyslog </strong>con soporte para bases de datos MySQL y para el protocolo RELP (<em>Reliable Event Logging Protocol</em>:</span></span></p>
<pre class="brush: bash; auto-links: false; collapse: false; gutter: false; html-script: false; light: false; pad-line-numbers: 0; smart-tabs: true; tab-size: 4; title: ; toolbar: true; notranslate">

# apt-get install rsyslog-mysql rsyslog-relp
</pre>
<p>&nbsp;</p>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">En el caso concreto de <strong>GNU/Debian</strong>, nos pedir&aacute; la contrase&ntilde;a del administrador del servidor de bases de datos -normalmente el usuario&nbsp;<em>root</em>- y que pongamos dos veces la contrase&ntilde;a para el usuario <em>rsyslog </em>que tendr&aacute; todos los permisos en la base de datos <strong>syslog</strong>, creada&nbsp;</span></span><strong style="font-family: arial, helvetica, sans-serif; ">&nbsp;</strong><span style="font-family: arial, helvetica, sans-serif; ">en la base de datos&nbsp;</span><span style="font-family: arial, helvetica, sans-serif; ">para almacenar las salidas del servicio </span><strong style="font-family: arial, helvetica, sans-serif; ">Rsyslog</strong><span style="font-family: arial, helvetica, sans-serif; ">.</span></p>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">Para otras distribuciones, os ruego que leais la documentaci&oacute;n pertinente. Generalmente en ella, incluye un fichero SQL para crear las tablas, los usuarios y los permisos que deber&aacute; tener la base de datos <strong>syslog</strong>.</span></span></p>
<p><span style="font-family: arial, helvetica, sans-serif; ">Una vez creada la base de datos&nbsp;</span><strong style="font-family: arial, helvetica, sans-serif; ">syslog</strong><span style="font-family: arial, helvetica, sans-serif; ">, su usuario&nbsp;</span><em style="font-family: arial, helvetica, sans-serif; ">rsyslog e</em><span style="font-family: arial, helvetica, sans-serif; ">&nbsp;instalado el servicio&nbsp;</span><strong style="font-family: arial, helvetica, sans-serif; ">Rsyslog</strong><span style="font-family: arial, helvetica, sans-serif; ">, s&oacute;lo queda configurarlo, cosa que haremos en tres pasos.</span></p>
<p>&nbsp;</p>
<h1>Configuraci&oacute;n del servicio Rsyslog</h1>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">El primero paso ser&aacute; aceptar &nbsp;los mensajes <em>syslog</em> por el puerto 514 tanto&nbsp;</span></span><span style="font-family: arial, helvetica, sans-serif; ">TCP como UDP</span><span style="font-family: arial, helvetica, sans-serif; ">, lo cual ser&aacute; necesario para mantener la compatibilidad con la mayor&iacute;a de los dispositivos de red que emplean o pueden utilizar un servidor centralizado de </span><em style="font-family: arial, helvetica, sans-serif; ">logs</em><span style="font-family: arial, helvetica, sans-serif; ">. Por eso, debemos descomentar las siguientes lineas en el /etc/rsyslog.conf.</span></p>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; "><span style="color: rgb(0, 0, 0); line-height: 20px; "># provides UDP syslog reception</span></span></span></p>
<pre class="brush: plain; auto-links: false; collapse: false; gutter: false; html-script: false; light: false; pad-line-numbers: 0; smart-tabs: true; tab-size: 4; title: ; toolbar: true; notranslate">
$ModLoad imudp
$UDPServerRun 514
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
</pre>
<p>&nbsp;</p>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">El segundo paso ser&aacute; habilitar el soporte para el protocolo RELP. Este protocolo se encarga de transmitir y recibir registros <em>syslog</em> por la red de forma m&aacute;s segura que a trav&eacute;s de TCP. Para ello, creamos el fichero /etc/rsyslog.d/relp.conf con la siguiente informaci&oacute;n:</span></span></p>
<pre class="brush: plain; auto-links: false; collapse: false; gutter: false; html-script: false; light: false; pad-line-numbers: 0; smart-tabs: true; tab-size: 4; title: ; toolbar: true; notranslate">
$ModLoad imrelp
$InputRELPServerRun 10514
</pre>
<p style="overflow: auto; color: rgb(0, 0, 0); line-height: 20px; ">&nbsp;</p>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">El tercer paso consiste en asegurar la viabilidad del servidor centralizado de logs creando un sistema de buffering ya que deber&aacute; asumir una gran cantidad de datos de syslog a la base de datos. Por ello, lo primero que debemos realizar es crear un directorio donde almacenaremos los ficheros en cola que sean necesarios:</span></span></p>
<p>&nbsp;</p>
<pre class="brush: bash; auto-links: false; collapse: false; gutter: false; html-script: false; light: false; pad-line-numbers: 0; smart-tabs: true; tab-size: 4; title: ; toolbar: true; notranslate">
# mkdir -p /var/rsyslog/queue
</pre>
<p><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">Posteriormente, debermos a&ntilde;adir la configuraci&oacute;n siguiente al fichero /etc/rsyslog.conf.</span></span></p>
<pre class="brush: plain; auto-links: false; collapse: false; gutter: false; html-script: false; light: false; pad-line-numbers: 0; smart-tabs: true; tab-size: 4; title: ; toolbar: true; notranslate">
# Sistema de buffering:
$WorkDirectory /var/rsyslog/queue # directorio por defecto de los ficheros encolados
$ActionQueueType LinkedList # usar proceso asincrono
$ActionQueueFileName dbq ; # establece el nombre de fichero y tambien activa el modo disco
$ActionResumeRetryCount -1 ; # reintentos infinitos en caso de fallo de insercion
</pre>
<p style="color: rgb(0, 0, 0); font-family: Georgia, serif; line-height: 20px; font-size: medium; ">&nbsp;</p>
<p style="color: rgb(0, 0, 0); font-family: Georgia, serif; line-height: 20px; font-size: medium; "><span style="font-size:12px;"><span style="font-family: arial, helvetica, sans-serif; ">Llegados aqu&iacute;, s&oacute;lo nos falta reiniciar el servicio <strong>Rsyslog:</strong></span></span></p>
<pre class="brush: bash; auto-links: false; collapse: false; gutter: false; html-script: false; light: false; pad-line-numbers: 0; smart-tabs: true; tab-size: 4; title: ; toolbar: true; notranslate">
# service rsyslog restart
</pre>
<h1 style="color: rgb(0, 0, 0); font-family: Georgia, serif; line-height: 20px; font-size: medium; ">&nbsp;</h1>
<h1>Instalaci&oacute;n del software LogAnalyzer</h1>
<p>Ahora tenemos que instalar el software que nos permitir&aacute; ver los datos almacenados en la base de datos v&iacute;a Web. Para ello, bajaremos el software, lo descomprimiremos y lo copiaremos al directorio donde tenemos nuestra p&aacute;gina web.</p>
<pre class="brush: bash; auto-links: false; collapse: false; gutter: false; html-script: false; light: false; pad-line-numbers: 0; smart-tabs: true; tab-size: 4; title: ; toolbar: true; notranslate">
# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.3.tar.gz
# tar xvzf&amp;nbsp;loganalyzer-3.4.3.tar.gz
# cd loganalyzer-3.4.3
# mkdir /var/www/logs
# cp -R src/* /var/www/logs/
# cp contrib/* /var/www/logs/
# cd /var/www/logs/
# chmod +x configure.sh secure.sh
# ./configure.sh
</pre>
<p>&nbsp;</p>
<p>Para activar la autenticaci&oacute;n del software LogAnalyzer, necesitamos crear una base de datos vac&iacute;a para almacenar los usuarios y sus privilegios. Se puede indicar el nombre que os apetezca pero en mi caso, para la base de datos eleg&iacute; el nombre <strong>Usuarios_LogAnalyzer</strong> y el usuario<em> Admin_LA </em>con la contrase&ntilde;a <em>clave</em>.</p>
<p>&nbsp;</p>
<pre class="brush: bash; auto-links: false; collapse: false; gutter: false; html-script: false; light: false; pad-line-numbers: 0; smart-tabs: true; tab-size: 4; title: ; toolbar: true; notranslate">
# mysql -p
</pre>
<pre class="brush: plain; auto-links: false; collapse: false; gutter: false; html-script: false; light: false; pad-line-numbers: 0; smart-tabs: true; tab-size: 4; title: ; toolbar: true; notranslate">

mysql&gt; create database Usuarios_LogAnalyzer;
mysql&gt; grant all on Usuarios_LogAnalyzer.* to Admin_LA@'localhost' identified by 'clave&amp;';
</pre>
<h1>Configuraci&oacute;n del software LogAnalyzer</h1>
<p>Para configurar el software, debemos abrir un navegador y escribir la siguiente url: http://IP/logs/install.php</p>
<p>Como el producto est&aacute; en un perfecto ingl&eacute;s y me imagino que os interesa qu&eacute; par&aacute;metros he empleado para que podamos ponerlo a funcionar ya, os transcribo s&oacute;lo las opciones que he modificado.</p>
<p>&nbsp;</p>
<ul>
<li>
<p><span style="font-family: arial, helvetica, sans-serif; ">Message character limit for the main view = 80 (default)</span></p>
</li>
</ul>
<p><span style="font-family: arial, helvetica, sans-serif; ">​</span><span style="font-family: arial, helvetica, sans-serif; ">Lo cambi&eacute; a 0 para que apareciera el mensaje entero.</span></p>
<p>&nbsp;</p>
<ul>
<li><span style="font-family: arial, helvetica, sans-serif; ">Enable the user database. </span></li>
</ul>
<p>La habilit&eacute; y puse lo siguientes datos:</p>
<p>Server: localhost</p>
<p>Port: 3306</p>
<p>Name: Usuarios_LogAnalyzer</p>
<p>User: root</p>
<p>Pass: (la que tiene)</p>
<p>En el siguiente paso, crear&aacute; las tablas y datos necesarios.</p>
<ul>
<li><font face="arial, helvetica, sans-serif">Se ha de crear por defecto el usuario administrador del software as&iacute; que recomiendo que teng&aacute;is cuidado con los datos que pon&eacute;is ya que es imprescindible para gestionarlo.</font></li>
<li><span style="font-family: arial, helvetica, sans-serif; ">En el paso de la configuraci&oacute;n de la base de datos de <em>logs</em></span></li>
</ul>
<p><span style="font-family: arial, helvetica, sans-serif; ">Name: Es meramente descriptivo. Yo puse Mis Logs de MySQL -ya s&eacute; que lo mio no es la imaginaci&oacute;n-.</span></p>
<p><span style="font-family: arial, helvetica, sans-serif; ">Source Type = MYSQL Native</span></p>
<p><span style="font-family: arial, helvetica, sans-serif; ">Select View = Syslog Fields</span></p>
<p><span style="font-family: arial, helvetica, sans-serif; ">Table type = MonitorWare</span></p>
<p><span style="font-family: arial, helvetica, sans-serif; ">Database Host = localhost</span></p>
<p><span style="font-family: arial, helvetica, sans-serif; ">Database Name = Syslog</span></p>
<p><span style="font-family: arial, helvetica, sans-serif; ">Database Tablename = SystemEvents</span></p>
<p><span style="font-family: arial, helvetica, sans-serif; ">Database User = rsyslog</span></p>
<p><span style="font-family: arial, helvetica, sans-serif; ">Database Pass = (La que pusimos anteriormente)</span></p>
<p><span style="font-family: arial, helvetica, sans-serif; ">Enable Row Counting = no</span></p>
<p><span style="font-family: arial, helvetica, sans-serif; ">&nbsp;</span></p>
<p><font face="arial, helvetica, sans-serif">Si hemos hecho todo bien, veremos los registros del servidor centralizado de <em>logs</em>.</font></p>
<p>&nbsp;</p>
<h1>Configuraci&oacute;n de los equipos</h1>
<p>Para&nbsp;los servidores Solaris, GNU/Linux y *BSD, hay dos formas de configurar el servicio <strong>syslog</strong>. Si el servicio <strong>syslog </strong>instalado permite RELP, se ha de a&ntilde;adir las siguientes l&iacute;neas al fichero de su configuraci&oacute;n:</p>
<pre class="brush: plain; auto-links: false; collapse: false; gutter: false; html-script: false; light: false; pad-line-numbers: 0; smart-tabs: true; tab-size: 4; title: ; toolbar: true; notranslate">
$ModLoad omrelp
*.* : omrelp : IP_Servidor_Centralizado_Logs : 10514 ;RSYSLOG_ForwardFormat;
</pre>
<p>Nota: El puerto 10514 fue configurado anteriormente, si por lo que sea, coincidiera que est&aacute; ocupado por otro servicio, puede cambiarse sin problemas.</p>
<p>&nbsp;</p>
<p>Si el servicio <strong>syslog</strong> es el tradicional:</p>
<p>&nbsp;</p>
<pre class="brush: plain; auto-links: false; collapse: false; gutter: false; html-script: false; light: false; pad-line-numbers: 0; smart-tabs: true; tab-size: 4; title: ; toolbar: true; notranslate">
*.* @IP_Servidor_Centralizado_Logs
</pre>
<p>&nbsp;</p>
<p>Por supuesto, cuando acabemos de configurar el servicio, deber&aacute; ser reiniciado.</p>
<p>&nbsp;</p>
<p>En el caso de los dispositivos de red, s&oacute;lo debemos indicar donde sea necesario la IP de nuestro servidor centralizado de <em>logs</em> y el puerto 514 tanto TCP como UDP seg&uacute;n lo requiera.</p>
<p>&nbsp;</p>
<p>Espero que os sea tan &uacute;til como ha sido para m&iacute;.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="fbilike" style="float:left;margin-right:20px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.angelcarrasco.com%2F2012%2F06%2F14%2Fcentralizar-los-logs-via-web%2F&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=verdana&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:60px"></iframe></div>
<div class="wp_rp_wrap  wp_rp_plain" id="wp_rp_first"><div class="wp_rp_content"><h3 class="related_post_title">También te puede interesar:</h3><ul class="related_post wp_rp" style="visibility: visible"><li ><a href="http://www.angelcarrasco.com/2012/11/08/vmware-como-anadir-un-disco-duro-a-una-maquina-virtual-linux-sin-reiniciar/" class="wp_rp_title">VMware: ¿Cómo añadir un disco duro a una máquina virtual Linux sin reiniciar?</a></li><li ><a href="http://www.angelcarrasco.com/2012/09/17/como-anadir-repositorios-publicos-a-oracle-enterprise-linux/" class="wp_rp_title">Cómo añadir repositorios públicos a Oracle Enterprise Linux</a></li><li ><a href="http://www.angelcarrasco.com/2012/09/14/como-verificar-la-integridad-de-datos-con-tripwire/" class="wp_rp_title">Cómo verificar la integridad de datos con Tripwire</a></li><li ><a href="http://www.angelcarrasco.com/2011/08/18/recuperacion-tras-desastre-en-gnulinux/" class="wp_rp_title">Recuperación tras desastre en GNU/Linux</a></li><li ><a href="http://www.angelcarrasco.com/2012/07/18/cadena-humana/" class="wp_rp_title">Cadena Humana</a></li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.angelcarrasco.com/2012/06/14/centralizar-los-logs-via-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
