jueves, agosto 30, 2007

Compilar tcpreplay en MacOS X

Compilar el tcpreplay en MacOS X es una pequeña aventura, en especial porque los scripts de configure que se (*cof*,*cof*) deben de permitir la portabilidad, no funcionan tan trasparentemente como parece. Las versiones que tiene el Tiger, son un poco antiguas, y por tanto, al generar el configure hay problemas. En especial, son incapaces de detectar que la extensión de una librería dinámica en MacOS X es .dylib - simplemente usan una substitución de shell que no funciona con la versión de bash que trae MacOS X -

Al final he instalado las últimas versiones de libtool,automake y autoconf, modificado el configure.ac, y todo funciona correctamente. Otro punto para las autotools. Un detalle, no olvidar decirle al aclocal la ruta a sus ficheros.

configure.ac:

--- tcpreplay-3.2.0/configure.ac        2007-08-26 22:06:47.000000000 +0200
+++ tcpreplay-3.2.0.mod/configure.ac    2007-08-30 12:04:12.000000000 +0200
@@ -466,19 +466,22 @@
 AC_ARG_WITH(libpcap,
     AC_HELP_STRING([--with-libpcap=DIR], [Use libpcap in DIR]),
     [trypcapdir=$withval])
-
        for testdir in $trypcapdir /usr/local /opt/local /usr ; do 
        if test -f "${testdir}/include/pcap.h" -a $foundpcap = no ; then
                LPCAPINC="${testdir}/include/pcap.h"
                LPCAPINCDIR="${testdir}/include"
+               echo "Dentro con $testdir ${libext} ${shrext_cmds} $dynamic_link"
+               eval dynext=\"$shrext_cmds\"
+               echo "Extension $dynext"
                if test $dynamic_link = yes; then
-                               if test -f "${testdir}/lib64/libpcap${shrext_cmds}" ; then
+                               if test -f "${testdir}/lib64/libpcap$dynext" ; then
                            LPCAPLIB="-L${testdir}/lib64 -lpcap"
-                               elif test -f "${testdir}/lib/libpcap${shrext_cmds}" ; then
+                               elif test -f "${testdir}/lib/libpcap$dynext" ; then
                                        LPCAPLIB="-L${testdir}/lib -lpcap"
                                else
                                        AC_ERROR([Unable to find libpcap in ${testdir}])
                                fi
+               echo "Dinamico"
                elif test -f "${testdir}/lib64/libpcap.${libext}" ; then
                    LPCAPLIB="${testdir}/lib64/libpcap.${libext}"
                elif test -f "${testdir}/lib/libpcap.${libext}" ; then

miércoles, agosto 29, 2007

OSSIM y MySQL: ¿Qué tipo engine de MySQL es mejor?

Llevo un tiempo usando ossim, y he estado viendo cual es la mejor manera de optimizar el acceso a base de datos. OSSIM es una aplicación, ya sea desde los agentes de Snort, ya sea desde el servidor, que tiene una gran actividad de inserción simultáneas en base de datos.

Las lecturas a la base de datos se producen desde la consola forense (en este caso BASE), buscando por los eventos que se han almacenado en lo mismo. En principio, a este nivel sólo se debe de llegar en caso que no tengamos claro que puede estar creando anomalías en las gráficas que tenemos. En lineas generales, las tablas mayores son las de eventos y las tablas que almacenan la información de Snort. Estas tablas son fundamentalmente "append-only", produciéndose un montón de inserciones (ya sean de las sondas, ya sean de los hilos del server) en paralelo.

Los engines de almacenamiento que usa MySQL - olvidándonos del soporte de cluster - son básicamente dos myisam e innodb. La diferencia fundamental es que innodb soporta transaciones y claves ajenas, cosa que no soporta myisam. Se puede poner que el sistema use tablas innodb por defecto con la opción default-table-type = innodb en el my.cnf. Hay algunas cosas a tener en cuenta antes de usar este tipo de tablas:

  • innodb usa mucho más espacio que las tablas myisam (ver esta entrada del manual).
  • innodb usa dos ficheros en disco: uno donde se almacenarán los datos y otros que sirve para log de transaciones. Podemos aprovechar la situación de los mismos para repartir la carga por controladoras o varios discos.
  • innodb de serie, no permite hacer backups en caliente de la base de datos a través de una utilidad libre - hay que pasar por caja -, aunque si permite los clásicos backups de mysql.
  • Hay que preparar los páremetros de mysql para que se adapte a la carga que se tiene de ossim. Esto es lo que estoy investigando ahora.
Por ejemplo, se puede buscar en este blog, en especial en las presentaciones que hablan sobre como optimizar la base de datos.

Para ossim, lo mejor sería comprobar con ayuda de tcpreplay, de inyectar tráfico sobre las sondas, en especial de Snort, que es lo que más va a cargar la base de datos, y ver cual es su comportamiento.

Technorati Tags:

sábado, agosto 25, 2007

VMWARE Server en Linux 64 bits.

He estado probando el VMWARE SERVER en una plataforma Linux de 64 bits. La gratuidad del producto, las buenas referencias que tenía de él y las malas que he tenido con el Virtual Server , me animaron . En primer lugar, el hardware con el que lo decidimos probar fue un HP DL360G5 con un Xeon de dos cores a 2 Ghz con 2 Gigas de RAM.

Como sistema base use la versión de 64 bits de la Centos 5.0. La decisión de usar esta distribución, es debido a la existencia de soporte para la misma durante bastante tiempo (es la compilación libre de la distribución de pago de Redhat. la Enterprise Server).

Me bajé la versión en rpm del VMWARE Server. Y la instalé. Sin embargo, antes de usarla, estuve buscando por Internet y llegué a este post donde se dan algunos consejos para que funcione el VMWARE Server sobre esta distribución:

  • Hay que instalar los paquetes libXtst-devel, libXrender-devel, xinetd.
  • Es necesario tener instalado todo la toolchain de compilación del kernel - aunque si se usa el kernel por defecto de la CentOS, tendrá un módulo ya preparado para el mismo -. Sin embargo, como estaba usando el repositorio de centosplus, necesité compilar el kernel. Aparte del toolchain los paquetes kernel-devel y kernel-headers correspondientes al kernel que se va a usar deben de estar instalados.

Posteriormente, se puede configurar el sistema con vmware-config-server.pl

Para poder usar máquinas virtuales de 64 bits, el sistema me pedía que activara en la BIOS del HP las extensiones para virtualización presentes en el microprocesador.

Sin embargo, si he tenido problemas con el cliente para controlar las máquinas virtuales. Se trata de una aplicación que usa el toolkit de GTK y es de 32 bits. Al intentar usarla, empieza a pedir muchas librerías de compatibilidad. Aunque se vayan instalando, hay una serie de las mismas, que no están disponibles en la versión base de la CentOS 5.0.

Teóricamente, el cliente para el manejo de máquinas virtuales tiene todas las librerías necesarias, y debería usar las que vienen con el mismo en caso de que no fuera capaz de encontrarlas en el sistema. Incluso si se establece la variable de entorno VMWARE_USE_SHIPED_GTK como yes o force debería usarlas. Sin embargo, el linker dinámico de la CentOS me daba problemas, y no cargaba las mismas. Tras bastante rato, decidí usar el cliente Windows desde otra máquina para comunicarme con el server. Este es un detalle a pulir por parte de la gente de VMWARE.

Aunque no he hecho pruebas de rendimiento, actualmente tengo funcionando dos Linux y un Windows XP sobre el servidor: Una CentOS de 32 bits, una Debian de 64 bits y un Windows XP de 32 bits. Hasta ahora no me han dado problemas ninguno. Veremos que tal se portan cuando empecemos a usarlos a fondo, en especial la Debian de 64 bits, que quiero usar para desarrollo de ossim.

Technorati Tags: , ,

La historia del Amiga

Pocos ordenadores han podido levantar más pasión que el Commodore Amiga. Ars Technica está preparando una serie de como fue su diseño, fabricación y su caída. Hasta ahora hay hay publicados tres artículos en la serie: De todos los artículos me quedo con este párrafo:
But the story is about something else as well. More than a tale about a computer maker, this is the story about the age-old battle between mediocrity and excellence, the struggle between merely existing and trying to go beyond expectations. At many points in the story, the struggle is manifested by two sides: the hard-working, idealistic engineers driven to the bursting point and beyond to create something new and wonderful, and the incompetent and often avaricious managers and executives who end up destroying that dream
¡Qué razón tiene....!

Technorati Tags:

jueves, agosto 23, 2007

The Athens Affair: Un caso de espionaje telefónico

Aunque no conocía el caso, el otro día vi en una lista de correo este artículo donde se comenta el caso de espionaje que sufrieron altas personalidades griegas entre los años 2004 y 2005. En el se comenta como los espías consiguieron implantar un rootkit en las centralitas Ericcson AXE que utilizaba Vodafone Gracia en su red, para, aprovechando la funcionalidad para escuchas legales - aquellas que la Justicia manda, activarla, y dirigir el flujo de voz y datos hacia teléfonos en la sombra. Una lectura apasionante, cuanto menos.

Por cierto, no deja de ser interesante el poder de Google a la hora de buscar información, supuestamente confidencia, como los manuales de intercepción legal de dicha centralita... (ver el artículo)

Technorati Tags:

miércoles, agosto 22, 2007

Novedades Apple del mes de Agosto

Apple no ha estado precisamente de vacaciones este mes de agosto, y prueba de ello son las diferentes presentaciones de productos que se han realizado.

Para empezar se ha actualizado los iMac y el Mac mini. Ambos con microprocesadores Core 2 Duo de Intel, a 2.0 Ghz, 2.4 Ghz y 2.8 Ghz Extreme Edition en el caso del iMac, y a 1.83 Ghz o 2.0 Ghz en el caso del Mac mini - eso sí, con 2 MB de caché L2 sólamente en el caso del 1.83 Ghz, mientras que el resto de los modelos tienen 4 MB -. Un 1 GB de RAM en ambos modelos DDR2 a 667 Mhz. Discos duros serial ATA (a 7200 RPM en el caso del iMac, las del mini son más lentas, 5400). En cuanto a las gráficas, el iMac viene equipado con las ATI Radeon HD 2400 XT o ATI Radeon HD 2600 PRO (con alguna que otra polémica). Por otra parte, el cambio radical del diseño del iMac, pasando del plástico blanco de las últimas generaciones al aluminio pulido (incluido el nuevo teclado, una anténtica pijería en aluminio muy muy tentadora.

En novedades software, tenemos las dos suites, iLife e iWork. La Suite de la vida digital, iLife, sigue trayendo los mismos programas actualizados que en versiones anteriores.

Mención aparte merece iWork, en especial porque tenía cierta curiosidad en ver que aportaba Numbers, la hoja de cálculo integrada en el paquete de productividad. De momento no la he probado, pero he bajado la versión de trial a ver que aporta, y si cubre las necesidades de un uso casero y semiprofesional.

Y no nos olvidemos, en Septiembre la Apple Expo de París, y en Octubre, Leopard

Technorati Tags:

lunes, agosto 20, 2007

Vuelta de vacaciones. Algunas fotos de Morella

Todo lo bueno se acaba, y ya hemos vuelto de vacaciones. Quince días de descanso que han venido estupendamente para tomar fuerzas. Mientras actualizo el correo, leo todo lo que hay, y demás, os dejo unas fotos que tomamos mi novia y yo de Morella, en la Comunidad Valenciana, la capital de la comarca de Els Ports, una ciudad amurallada situada en el interior de la provincia de Castellón, sobre un risco, a unos 1000 metros de altitud, con un casco medieval precioso.