21 julio 2008

Syslog 2 Twitter

Mucho se ha hablado ya sobre Twitter y del fenómeno social que ha supuesto el micro-blogging, fenómeno que cuenta con legion de seguidores y otro inmenso grupo de detractores.

Personalmente, no acabo de encontrarle utilidad a, por ejemplo, saber que Lorenzo se está comiendo una manzana, o que yo, ando en mitad de un atasco en la A-2 (mas allá del hecho que me estaría jugando los puntos suficientes como para tener el Iphone gratis por twittear con el móvil en el coche).

El caso es que sea o no sea una moda pasajera, twitter, indudablemente si tiene una cosa muy favorable y es el hecho de poder "broadcastear" información de una forma muy sencilla desde un único punto hacia múltiples clientes. Existen clientes-twitter (mas allá de la web) de todos los colores y sabores, solo hay que ojear Genbeta para confirmarlo.

Desde SbD no hemos querido dejar pasar la oportunidad para contribuir al ecosistema Twitter y hemos desarrollado una pequeña aplicación que permite exportar los archivos de log que genera syslog a twitter. Syslog, para el que no lo sepa, es el mecanismo de logging que tiene Unix, algo así como el primo hermano mayor, con barba y gafas gruesas del Eventlog de windows.

El programa, en forma de script, hace uso de un par de curiosos módulos Perl que permiten monitorizar ficheros y "hablar" a Twitter. Para usarlo, obviamente, has de haber creado una cuenta en twitter.

Además Twitter permite hacer tus logs privados solo-para-la-gente-que-tu-quieras, cosa bastante útil de cara a publicar ese tipo de logs, ya que a mi me puede interesar que las personas que co-administran una maquina lean los logs, pero no el común de los mortales. Otra cosa que hace de twitter interesante para esta labor, es el hecho de que tiene una potentisima interface de busqueda que hará muy fácil buscar entre los eventos del syslog. Y como bonus, twitter también permite sindicarse vía RSS a un usuario, con lo que para aquellos que se encuentren mas cómodos con un lector RSS, también pueden tener sus logs disponibles desde cualquier parte.

¿Como funciona sys2twit? vayamos por partes, primero, la instalación de los módulos necesarios:

Como root ejecuta :

#perl -MCPAN -e shell

Esto debería llevarte a otra pseudo-shell desde la que poder instalar los módulos de la siguiente forma:

cpan> install File::Tail
cpan> install Net::Twitter

Una vez tengas todo lo necesario, puedes descargarte sys2twit desde aquí

Los parámetros que acepta la aplicación son:

-u (usuario que has creado en twitter)
-p (contraseña)
-f (fichero de log a monitorizar)
-d (daemon)

Un ejemplo para monitorizar /var/log/messages

# perl sys2twit.pl -u twitterlog -p 12345 -f /var/log/messages

De esta forma todo lo que se genere en /var/log/messages sera transmitido a twitter a la cuenta del usuario 'twitterlog'. Si no quieres que el comando sea interactivo y se 'daemonice' simplemente añade -d al final





12 comments :

Anónimo dijo...

Desde el punto de vista de Social Media, twitter es una herramienta que permite infinidad de cosas, desde brand monitoring a webcasting, pasando por un sinfin de aplicaciones. No todo lo que uno desconoce es malo by default.

Yago Jesus dijo...

Estimado Josep, evidentemente el post estaba escrito con un punto de sorna / ironia. Creo que ya se han hecho sesudos analisis sobre Twitter, sus implicaciones etc etc como para escribir un "mas de lo mismo"

Aluziner dijo...

El solo hecho de hacer esto (enviar tus logs un servidor de otra empresa) creo que representa ya una amenaza de seguridad, mañana aparece un bug que permite leer los mensajes privados de cualquier cuenta de twitter y el potencial desastre estará servido.

Yago Jesus dijo...

No te digo que no tengas razón, aluziner, y ahí entra ya el sentido común de saber que estas enviando y donde, visto en genérico "enviar tus logs a twitter" suena mal, pero en concreto /var/log/messages no contiene excesiva información 'peligrosa', a lo sumo podrías deducir cuentas del sistema (xxx login) pero piensa que no tienes la IP, tienes como referencia un Hostname, luego ya tienes otra tarea mas:
a) encontrar un bug en Twitter
b) deducir la IP del sistema
c) averiguar la contraseña de la cuenta.

Por contra, conocer en tiempo real si existen desviaciones en la temperatura de un servidor puede ser extremadamente útil

De ahí que las cosas se han de hacer con cabeza, yo no expondría un /var/log/secure a twitter y menos si es una maquina critica.
No obstante el razonamiento base: "no enviar datos a otra empresa externa"
yo creo que la corriente actual es justo la contraria, webmails como Gmail, servicios de backup online, calendarios y agendas online ... A mi personalmente me "dolería" mas un hackeo a mi Gmail que a security-projects.com :P

Lorenzo Martínez dijo...
Este comentario ha sido eliminado por el autor.
Anónimo dijo...

Más carnaza sobre el tema..

http://news.cnet.com/8301-1009_3-10075487-83.html

Angelverde dijo...

Recientemente hice uno muy tonto pero como estoy aprendiendo apenas me tomo algunas horas (vaya tonto que soy).

Simplemente manda una frase de Fortune a tu cuenta twitter o Identi.ca

El link por si alguien ser quiere reir conmigo o de mi :D http://angelverde.info/script-en-bash-fortune-to-twitter-e-identi-ca/

Anonymous dijo...

Más carnaza sobre el tema..

http://news.cnet.com/8301-1009_3-10075487-83.html

Aluziner dijo...

El solo hecho de hacer esto (enviar tus logs un servidor de otra empresa) creo que representa ya una amenaza de seguridad, mañana aparece un bug que permite leer los mensajes privados de cualquier cuenta de twitter y el potencial desastre estará servido.

Yago Jesus dijo...

Estimado Josep, evidentemente el post estaba escrito con un punto de sorna / ironia. Creo que ya se han hecho sesudos analisis sobre Twitter, sus implicaciones etc etc como para escribir un "mas de lo mismo"

Josep Maria Sala dijo...

Desde el punto de vista de Social Media, twitter es una herramienta que permite infinidad de cosas, desde brand monitoring a webcasting, pasando por un sinfin de aplicaciones. No todo lo que uno desconoce es malo by default.

Juan Pablo Jaramillo Pineda dijo...

Pues excelente la idea