domingo, 14 de septiembre de 2008

Labo doméstico


Supongo que todos tenemos (o deberíamos tener) la necesidad de cacharrear, de probar cosas, de instalarnos la última distro, el último server, jugar con el último programa o la última herramienta de la que hemos tenido noticia, o probar la última técnica publicada en algún sitio. A mí me pasa, desde luego. Todo esto necesita para empezar tiempo, que es desde luego un bien escaso y además del tiempo, necesitamos algo de infraestructura en casa, si no tenemos la fortuna de que nos la den en el trabajo (cosa que le pasará a pocos, me parece a mí).

Hace unos días salió un hilo en la lista "pen-test" de Securityfocus, sobre los requisitos para montar un laboratorio doméstico. No puedo dejar de reproducirlo aquí en mi blog, pues me parece un tema de interés. Tener un labo de una vez por todas, siempre puesto, para llegar, y sin más, juguetear... qué gran tentación :) . Se propusieron varias opciones:

opción 1 - una única máquina con varios sistemas operativos instalados

Para los que se van a meter menos con temas de redes, y sólo desean tener instalados dos o tres sistemas operativos. Bien si sólo queremos experimentar un poco con aplicaciones, pero creo que se queda un poco pobre en general. Para ir jugando, nos recomiendan damnvulnerablelinux, las aplicaciones para aprender hacking de Foundstone (estos los conocía). También los livecd de De-ICE y un repositorio de software antiguo.

opción 2 - virtualización

En principio, la opción que yo veo como ideal, si no quieres gastar prácticamente nada de dinero. Requiere una o varias máquinas potentes, al menos, con una cantidad de memoria RAM considerable (yo pondría unos 4GB, para ir bien). Sin embargo es muy versátil, ya que puedes crearte redes de máquinas virtuales todo lo complejas que se desee. Hace poco tuve noticia de NetInVM, una red de máquinas virtuales con UML instalado (visto en RaDaJo), que tiene muy buena pinta. Otra opción es usar Netkit.

opción 3 - red doméstica

Para los más exigentes, sin duda. Ideal para todo tipo de pruebas (networking, kernel hacking...) que podrían salir mal por trabajar con máquinas virtuales, pero la opción más cara. Aunque digan por ahí que se puede conseguir con poco dinero, habría que preguntar cuánto dinero es poco dinero. Los requisitos que se detallan son bastante completos:

- dos PCs, configurados para arrancar desde discos duros extraíbles. Cada uno de estos discos tendría varios sistemas operativos, gestionando el arranque con un gestor como LILO o GRUB. Ambos tienen además tanto tarjetas ethernet como wireless, para poder montar todo tipo de escenarios.
- un portátil, que es de donde se lanzarían los ataques
- dos discos duros de gran capacidad compartidos en red (NAS) proporcionan almacenamiento extra a todos los equipos que se instalen. Todas las utilidades de hacking, datos que estas necesiten (diccionarios de contraseñas, por ejemplo), plantillas de configuraciones... serían algo así como nuestra caja de herramientas.
- para preparar redes con arquitecturas diferentes, hará falta al menos un router (se mencionaba un Cisco 2610), más de una tarjeta de red en alguno de los equipos, por si hace falta usarlo para montar un firewall o un IDS... en fin, esto irá en cada uno. Incluso más de una línea ADSL u otra conexión de banda ancha. Esto es lo que realmente vale dinero, me parece a mí.

Además, un pequeño detalle que no se menciona: ¡espacio!. Pues en alguna parte habrá que guardar tanto trasto... y, todo hay que decirlo, no todo el mundo lo tiene.

Conclusión...

¿Y por qué me ha venido a la cabeza escribir un post como este, indicando (con recursos de otros) cómo hacer un laboratorio propio? Pues porque he visto esta entrada en gurú de la informática, sobre honeyd, que llama mucho la atención. Nos explica cómo enmascarar el sistema operativo, para que tenga otro fingerprint. ¿No os apetece probarlo? ¿No apetece tener algo montado ya para probar cualquier cosa, y dejar de pensar "y si tuviera..."?. Por favor, sentíos libres para contar aquí con qué opción os quedais vosotros: la mía, de momento, es la opción 1, pues no hay presupuesto ni espacio para nada más.

Slds!

Actualización: Antonio en WanLinkSniper nos hablaba hace unos días de algo de esto: el concurso de redes domésticas de Cisco.

Si te gustó esta entrada, quizás quieras suscribirte al blog por email o por RSS...

3 comentarios:

Lobosoft dijo...

Personalmente me quedo con la primera, para el trabajo "normal" (uso "Winux" ;) en mi máquina), alternando entre uno u otro sistema operativo según me convenga. Hace tiempo tenía 3 ó 4 SO en una misma máquina (haciendo gala de algo de fanatismo :P) precisamente para eso, para experimentar.

De hecho, tengo un PC algo anticuado, un AMD K6-2 a 400MHz con sus 192MB de RAM, que ejecuta a la perfección un Windows 2000 (el que mejor le va es el 98, aunque ha llegado a cargar un XP), una distro de Linux ligera como es Vector, FreeDOS para antiguos juegos en MS-DOS y para juguetear y ver algunos vídeos, un flamante BeOS 5. Pero bueno, esto es friquismo puro y duro :)

En realidad, el ordenador que uso habitualmente no es muy potente. Tiene algo más de dos años, por lo que con su único Gigabyte de RAM y su procesador a 1,8GHz, debe bastarme para virtualizar y hacer pruebas. Para eso utilizo generalmente VirtualBox, desde antes incluso de su compra por parte de Sun. ¿Por qué? Bueno, es ligero, libre para uso doméstico, y funciona a la perfección y con un rendimiento envidiable (similar a VMware) tanto en su versión Linux como Windows. Porque esta es otra opción interesante que no posee, por ejemplo, VirtualPC: la posibilidad de ser usado en ambos SO, en todas sus combinaciones: SO host Windows, con un Linux u otro Windows como hospedados, y viceversa. O cualquier combinación que se nos ocurra. Funciona bien, no requiere demasiada máquina (dependiendo también de lo que queramos probar, claro, no podemos tener 10 máquinas a la vez con mi configuración: yo con 2 voy listo...), pero en general no es una mala opción.

De las otras que propones, obviamente tener una red local "a medida" es la ideal, pero el presupuesto tampoco da para tanto :) Eso sí, siempre podemos "reciclar" equipos antiguos para cumplir determinadas tareas (un PC antiguo como servidor web o de BBDD, otro con un linux como un firewall, etc).

Bueno, no me extiendo más, jejeje. A ver qué opina el resto del personal.

Saludos,

Mith.

des dijo...

Estás hecho un casco friki :) . ¿No usas también Plan9?

Lobosoft dijo...

Jo, últimamente me dicen demasiado eso... :P

Si te soy sincero... lo tengo instalado en una máquina virtual, igual que Inferno. No llego a usarlos habitualmente, pero ahí están, por si acaso ;)

De lo que tengo ganas es de montar un SymbOs algún día. Eso tienen que verlo mis ojos funcionando :D