lunes, abril 30, 2012

Coincidencia Fide-Siria-Libia

Leo que Kirsán Iliumzhínov ha visitado a Bashar Al-Assad en Damasco. El primero es el presidente de la Federación Internacional de Ajedrez (FIDE) y el segundo es el presidente de Siria. Sería demasiada casualidad pero teniendo en cuenta que Iliumzhínov visitó a Gadafi, por el mes de Junio y Agosto de 2011, cuando había estallado una revuelta en Libia, creo que el régimen sirio tiene los 'días' (cuatro meses) contados.

domingo, abril 29, 2012

Las nuevas veletas

Creo que las grúas de las obras son las nuevas veletas de nuestra época. Nada más hay que observar un día de viento. Es difícil dar con una veleta salvo en contados sitios, pero una grúa aparece en todos lados y en esos días las dejan al libre capricho del viento.

Me quedo con Hulk

He visto la película 'Los Vengadores' y me quedo con el personaje de Hulk. Dan ganas de hacer hulkadas por la calle. A parte de eso, tiene dos puntos buenísmos con Loki y Thor respectivamente.

Respecto a los demás personajes están todos logrados. La valoración de la película es buena, es una película de superhéroes lograda. Sólo por el combate final la vería otra vez.

viernes, abril 27, 2012

Fresadora para encastrar

Hace unos días soñe de que ibamos a tirar la mesa chica del salón, pero en el último momento la llevaba a otro piso que compraba. Durante el sueño, al ser una mesa tipo Ikea sin apenas valor, me propuse darle un toque personal y decidí encastrar un tablero de ajedrez dentro de la mesa (se dice así, encastrar?), poniendo luego un cristal encima, cubirendo la superficie completa de la mesa, incluido el tablero. Pero no sabía como hacer el hueco en la mesa y me pasaba el resto del sueño pensando formas para realizar la tarea.

Hablando con un amigo, me dio una respuesta para poder hacerlo, tenía que utilizar una herramienta llamada fresadora. El mundo de la carpintería esta lleno de herramientas interesantes.

martes, abril 24, 2012

¿Predilección cani por la i final?

Parece que la mayoría de los nombres que se asocian a las canis terminan en i final. Pongo algunos ejemplos: Jessi, Jeni, Cindi, Yoli, Susi, Nati. Por lo menos es la conclusión que ha sacado después de un breve periodo de observación.

domingo, abril 22, 2012

Los chismes olvidados

Algunas de los chismes que tenemos olvidados en los trasteros nos pueden venir bien el día menos pensado, puede que no sirvan para su función original, pero se pueden aprovechar.

Un amigo tenía dos viejos portátiles escacharrados (un Fujitsu Amilo y un Packard Bell), a uno de ellos no le funcionaba el disco duro y el otro no arrancaba. El sábado le acerque un juego de destornilladores de precisión para probar a abrirlos y ver que tipo de conexión con la placa base tienen los discos duros, siendo en ambos una conexión IDE (ATA/ATAPI 6). Hicimos el cambio y el Futjitsu Amilo volvió a la vida.

Luego viene la otra parte de la historia, no disponer de un disco 'bueno' de instalación de Windows XP, pero tenía un CD de instalación de Debian (¿la DGT recomienda no salir sin él?). Para comprobar que tal iba el disco duro, probé instalar el linux, funcionando correctamente.

Staunton número 5

El śabado, al entrar en una tienda del centro, me fije en una pareja que estaba siendo atendida por una dependienta. El objeto de su compra era un juego de ajedrez y estaban seleccionando el tipo de piezas. Tenían claro que las piezas eran del tipo clásico, llamadas Staunton, pero no se decidian por el tamaño (número 4, 5 o 6). Al final eligieron una Staunton número 5. Pero no se dieron cuenta de un detalle.

En los juegos de piezas llamados Staunton suelen existir dos variantes, que se diferencian en el caballo. En la primera de ellas, el caballo es representado de forma realista y el resto de piezas presenta un diseño conceptual de un rey (la cruz), la reina (la diadema), alfil (mitra).

En el otro tipo de juego, el caballo tiene el mismo estilo que las otras piezas, siendo su representación más conceptual, menos realista, con vértices afilados. Creo que el primero corresponde al diseño clásico Staunton y el segundo es una variante española, popularizado a principios del siglo XX.

El que escogieron era el clásico de Staunton. Personalmente me gusta más el diseño conceptual.

lunes, abril 16, 2012

La autenticidad de los libros electrónicos

Ahora, con el auge de los libros electrónicos, entreveo a un gran problema, que será explotado por las editoriales para desprestigiar los sitios alternativos desde donde descargamos sus libros.

¿Quién me garantiza que el libro Patatín del autor Patatán es el libro que estoy bajando? ¿Quién me asegura que un energúmeno de turno no le ha dado por intercambiar los nombres de los protagonistas, poniendo el nombre del malo en el del bueno?

A diferencia de lo que podía pasar con los ediciones alternativas de música y vídeo, la modificación de un libro electrónico es muy simple de hacer, ademas de que una mínima modificación puede cambiar toda una obra. Supongo que empezaran a surgir sitios que se dedican a asegurar la integridad y autenticidad de un epub, empleando técnicas de checksum y demases varios, aunque todavía no los he visto.

jueves, abril 12, 2012

Destructor de tostadas

Esta mañana he visto la forma perfecta de destruir una tostada recién hecha sin tener que recurrir a materiales ficticios superheroicos como el adamantium. Sólo tienen que darte una porción de mantequilla congelada en cualquier cafetería que ponga desayunos.

Tú mismo, al intentar esparcir la mantequilla por la tostada, terminas destrozando la miga y traspasando la corteza sin darte cuenta. La mantequilla en ese estado es cuasi indestructible, pudiendo con todo lo que se le ponga por medio.

martes, abril 10, 2012

Teoría optimista

Tengo una teoría que dice que el porcentaje de películas, libros, series y canciones que son buenas, respecto al total de las que se hacen en un año, es del uno por ciento. Aunque me parece que la teoría es demasiado optimista o soy yo, que me estoy volviéndo pesimista.

domingo, abril 08, 2012

Un conclusión reveladora

He llegado a una conclusión reveladora y a la par, desalentadora. George RR Martin (o el puto cabrón amo según sus fans más queridos) tiene terminado los dos libros que le quedan de Canción de Hielo y Fuego, pero no los publica porque los utiliza como rehenes, para evitar que puedan acabar con él.

Imprimación terminada

Como nos vinimos temprano de la playa de la antilla, aproveche la tarde para terminar de darle la capa de imprimación a todo el ejercito. El resultado ha quedado tal como así.




Antes de pasar a la siguiente fase (aplicar las pinturas para definir los detalles) debo solucionar un problema, incrementar el peso de las peanas para evitar que se caigan. Es una cosa que me da mucho coraje.

Mañana en la vuelta a la dura realidad, me evadiré pensando soluciones, creo en el trabajo puedo disponer de algunos recursos.

miércoles, abril 04, 2012

Juntando las piezas de un IDS+IPS

Me voy a saltar toda la teoría previa de los IDS e IPS. Lo que interesa saber es lo siguiente. Usualmente, cuando queremos tener un equipo linux seguro en internet, activamos el firewall iptables con politica por defecto DROP y habrimos unos pocos puertos para las comunicaciones que vienen del exterior y van a utilizar los servicios que nuestra máquina.

De forma simplificada, tal cual esto se hace, nos resulta muy complicado cuando alguien se ha dedicado a atacar el servidor ssh o el servidor ftp en busca de un exploit que permita acceder a la máquina. Tenemos que estar revisando logs, etc. Si tenemos mucho tráfico (muchos logs) esto es inviable.

Es en este momento cuando acude en nuestra ayuda Snort, que es un IDS para linux. Snort no es más que un sniffer de red, monitorizando todo el tráfico que pasa por él. En función de un conjunto de reglas que tiene definidas, va analizando el tráfico y generando alertas de posibles ataques, tráfico sospechoso, etc.

Snort va guardando estas alertas en una base de datos (usualmente MySql), tal forma que posteriormente podemos consultarla con otra aplicación, llamada Base, que es una aplicación escrita en PHP que corre sobre un servidor web como Apache. Base es nuestro panel de control para determinar lo que esta ocurriendo en nuestra red.

Como he dicho antes, Snort utiliza un sistema basado en reglas para saber cuando hay algún tipo de ataque. Puesto que los ataques van evolucionando con el paso del tiempo, necesitamos mantener la base de datos de reglas actualizada. De esa función se encarga Oinkmaster, un script escrito en perl encargado de actualizar las reglas cada cierto tiempo. La frecuencia de ejecución de este script se deja en la crontab del sistema.

Hay varios tipos de conjunto de reglas de snort, las reglas de la comunidad disponibles para todo el mundo y las reglas VRT, que han sido certificadas por el equipo de investigación de vulnerabilidades, disponibles para los usuarios de pago. Estas últimas, están disponibles para los usuarios registrados 30 días después de su publicación para los suscriptores. Si nos registramos en la web de snort, obtendremos el oinkcode necesario para descargar las reglas mediante oinkmaster.

Instalación de Snort (junto con mysql)

El primera paso es instalar snort con soporte de mysql
$ apt-get install snort-mysql
Entre las dependencias, apt-get incluira oinkmaster, las reglas por defecto de la comunidad y las librerias comunes. En la instalación nos pedirá una serie de parámetros para la configuración de snort contra el mysql (servidor de bd, nombre de la bd, usuario y password de acceso) como la interfaz donde snort se pondrá a escuchar los paquetes de red. Si no tenemos mysql, procedemos a instalarlo con
$ apt-get install mysql-server
Si levantamos el demonio y hemos hecho bien las tareas de configuración con la orden /etc/init.d/snort start tendremos nuestro IDS activado. Aunque aún no sabremos que esta ocurriendo salvo que nos peleemos con  el mysql consultemos a pelo en las tablas de alerta.

Será ultil, agregar la siguiente linea al fichero de configuracion de snort, pudiendo consultar su alertas en /var/log/auth.log. Además, esto nos vendrá bien para la parte final (el IPS).
output alert_syslog: LOG_AUTH LOG_ALERT

Instalación de Base (junto con Apache+PHP con soporte de mysql)

Toca el turno de Base (Basic Analysis and Security Engine). A diferencia de snort, lo instalamos desde el comprimido tar.gz. Pero lo primero es preparar el sistema para que se pueda ejecutar. Eso implica instalar Apache con PHP y soporte mysql. También instalamos algunas cosas mas para la generación de graficos como la libreria pear.
$ apt-get install apache2
$ apt-get install libapache2-mod-php5 libphp-adodb php-pear php5-adodb php5-cli php5-common php5-gd php5-mysql
$ pear install Image_Graph
Descargamos y descomprimos el fuente de base en /usr/local/base. Y creamos un enlace simbólico para no tener que ir lidiando con la versión y si cuando actualicemos, solo hay que cambiar el enlace simbólico.
$ cd /usr/local/src
$ wget http://sourceforge.net/projects/secureideas/files/latest/download
$ tar xvfz base-version.tar.gz
$ mv base-version /usr/local/
$ ln -s /usr/local/base-version /usr/local/base
Creamos en el apache, en conf.d, la configuración del directorio y el alias para publicarlo. Añadimos algunas directiva de restricción del acceso a la aplicación. Pese a que base viene con sus medidas de seguridad para entrar en la aplicación, no esta demás esta restricción de acceso. La aplicación solo estará disponible para los equipos de la red local.
Alias /base /usr/local/base

<Directory /usr/local/base>
Options +FollowSymLinks
AllowOverride None
order allow,deny
allow from 192.168. 127.0.0.1

AddType application/x-httpd-php .php

<IfModule mod_php5.c>
php_flag magic_quotes_gpc Off
php_flag short_open_tag On
php_flag register_globals Off
php_flag register_argc_argv On
php_flag track_vars On
# this setting is necessary for some locales
php_value mbstring.func_overload 0
#php_value include_path .
</IfModule>

DirectoryIndex index.php
</Directory>
El siguiente paso será reinicar el apache y lanzar desde el navegador la siguiente url
http://ip-equipo-base/base/setup/
El setup realizará las comprobaciones necesarias y nos pedirá los datos de la base de datos mysql donde guardan la información snort. Seguimos la línea de baldosas amarillas que nos marca el asistente. Uno de esos pasos será la creación de un usuario administrador en la aplicación. Para la generación de los gráficos tenemos que tener bien indicado la ruta (directiva include_path) de includes de PHP para que pueda encontrar la libreria Image_Grapth de pear. La aplicación Base nos lo dirá si no puede encontrarla.

Instalación de Oinkmaster

El último paso para disponer de nuestro el IDS al completo será ir actualizando las reglas de Snort. El paquete oinkmaster ya estará instalado, sino hacemos un apt-get install oinkmaster y lo tendremos disponible al instante. Queda soliticar el oinkcode en la web de snort. Nos registramos en su web y solicitamos el codigo. Luego lo configuramos en el fichero /etc/oinkmaster.conf
url = http://www.snort.org/pub-bin/oinkmaster.cgi/CODIGO/snortrules-snapshot-2920.tar.gz
Es importante descargar el fichero que corresponde a nuestra version. Si tenemos un snort-2.9.2, entonces la url de descarga para el oinkmaster será el snapshot 2920.
$ /usr/sbin/oinkmaster -C /etc/oinkmaster.conf -o /etc/snort/rules/
Las primera actualizaciones de reglas las haremos de forma manual, así comprobamos que no hay nada que falte. A mi me paso que con la actualización de reglas, habia una serie de variables que utilizaban las reglas que no estaban definidas en el snort, con lo que el snort no se levantaba después. Estas variables se definen en el fichero snort.conf.

Después de la acutalización, oinkmaster informará de que reglas a tocado, podemos lanzar un test de la configuración de snort, levantando nosotros el demonio con el parametro -T. Esto nos dará una pista de lo que pudise pasar en el caso de que pasara algo como lo anterior que he dicho.
$ snort -T -c /etc/snort/snort.conf
Si va todo bien, podemos ir pensando en agregar a la crontab la ejecución del oinkmaster y que se lance cada  varios días la actualizacion de reglas (una semana creo que es lo suyo).

Llegados a esta altura de la pelicula, tenemos un IDS operativo. Nuestro Snort esta vigilando el trafico y si consultamos Base nos llevamos muchos sustos al descubrir muchos alarmas, la mayoria de ellas falsos positivos. Snort es facil de instalar, lo dificil es el trabajo de ajuste para eliminar los falsos positivos. Más si cabe cuando avancemos al siguiente paso, activar Guardian, que será nuestro IPS y nos protegera de todo aquello que Snort considera como un problema. Imaginad el problema de bloquearnos a nosotros mismos el acceso o un cliente por no darnos cuenta de que su tráfico era legítimo.

Guardian es una aplicación escrita en perl, que lee los logs de alertas de Snort. Cuando ve una alerta, entonces genera una regla de iptables bloqueando la comunicación con la ip del atacante. Esta regla la deja durante un tiempo X, pasado ese tiempo, lanza la regla de desbloqueo.

Instalación de Guardian

La aplicación Guardian es muy simple. De tan simple que es, hasta asusta. Procedemos a descargarla y a descomprirla tal como hicimos con Base.
$ wget guardian-version.tar.gz
$ tar xvfz guardian-version.tar.gz
$ mv /usr/local/src/guardian-version /usr/local/
$ ln -s /usr/local/guardian-version /usr/local/guardian
Copiamos el fichero de configuración guardian.conf en /etc. Al estar en un linux con iptables, cambiamos los scripts de bloqueo que estan en /usr/local/guardian/ llamados guardian_block.sh y guardian_unblock.sh por los que tenemos en /usr/local/guardian/scripts/iptables_*. Respectando el nombre
$ cp /usr/local/guardian/guardian.conf /etc/guardian.conf
$ cp /usr/local/guardian/scripts/iptables_block.sh /usr/local/guardian/guardian_block.sh
$ cp /usr/local/guardian/scripts/iptables_unblock.sh /usr/local/guardian/guardian_unblock.sh
Añadimos la directiva donde debe mirar las alertas de snort, en el fichero /etc/guardian.conf
AlertFile       /var/log/auth.log
Aquí vemos el sentido de la directiva de configuración que tocamos en el fichero de configuración de snort (output alert_syslog). Sin ese cambio, guardian sería incapaz de ver las alertas de snort y no podría hacer ningún bloqueo.

Para ejecutar guardiamos, tecleamos
$ /usr/local/guardian/guardian.pl -c /etc/guardian.conf &
Si buceamos en el fuente de Guardian, no encontraremos ningun scripts que nos sirva para ejecutarlo como demonio. No hay problema

El toque final viene de la mano de las daemontools, que son un conjunto de utilidades que nos permiten dejar a Guardian siempre en memoria.

Instalacion de las DaemonTools

Como siempre, descargar y decomprimir
$ cd /usr/local/src
$ wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
$ tar xvfz daemontools-0.76.tar.gz
$ cd admin/daemontools-0.76
$ package/install
Aunque la instalación de las DaemonTools es un proceso muy conocido, hay un detalle jodido que suele bloquear al personal. En la compilación no hay incluida una biblioteca, generando un error de compilación. Para solucionar el error tenemos que editar la línea de compilación del compilador utilizada por las daemonstools. Editamos el fichero src/conf-cc y agregamos la libreria errno.h al final de la linea gcc.
-include /usr/include/errno.h
El fichero de run utilizado para levantar guardian por la daemons tools tendria este aspecto (cat /service/guardian/run)

#!/bin/bash
export PATH=$PATH:/usr/local/guardian
/usr/local/guardian/guardian.pl -c /etc/guardian.conf
Sobre Daemonstools me podría extender mucho más, pero lo mejor es acudir a su web http://cr.yp.to/daemontools.html que explican mucho mejor que yo como utilizarlas.


domingo, abril 01, 2012

Bote de pintura acabado

A mitad del proceso de darle la capa de imprimación, el bote se quedo sin pintura. Así que mañana, aprovechando las vacaciones, iré a comprar otro bote que me servirá para terminar el principe demonio, los rapaxes y los bersekers de khorne.

Principe demonio montado

Desde el 17 de enero de 2007 llevaba en su caja y en la tarde de ayer me puse a montarla. Para hacerlo he tenido que emplear masilla y loctite. Al ser de metal, se utiliza la masilla para facilitar que quede bien encajada mientras se seca el loctite.