15 junio 2006

Construye tu propio Firewall con SmoothWall y tu viejo PC

** Gracias a José Manuel Gómez, que nos cuenta lo siguiente desde Kriptopolis. **
El objetivo es disponer de un cortafuegos mediante hardware ideal para un usuario doméstico. Se trata de que la instalación sea sencilla y funcione perfectamente desde el principio, con la configuración por defecto. Si necesitas adaptarlo más a tus necesidades, lo podrás hacer después de una forma sencilla, mediante tu navegador habitual. El cortafuegos será completo, en el sentido de que además del firewall propiamente dicho, dispondrás de un proxy (Squid), un IDS o detector de intrusiones (Snort), herramientas de administración, servidor DHCP, gestión de IPs dinámicas, conexión a servidores horarios, posibilidad de VPN (red privada virtual), etc, etc.Si añado además que todo esto lo lograrás mediante un equipo Linux, es posible que te asustes y pienses que este proyecto excede tus posibilidades. Pero lo cierto es que no, porque no necesitas saber ni una palabra de Linux para que todo funcione al 100%.

Características del Proyecto:

Las posibles topologías y configuraciones de una red son casi infinitas, así que te anticipo que aquí nos limitaremos al caso más sencillo: tu PC viejo (cortafuegos) se conecta a Internet y tu PC nuevo se conecta al cortafuegos mediante un cable.

Todas las variantes (inalámbricas, etc.) son posibles, pero tendrás que indagar por tu cuenta en la abundante documentación disponible.

AVISO MUY IMPORTANTE: Necesitas dedicar tu viejo equipo al completo a este proyecto. Tu disco duro será formateado y todo lo que contenga desaparecerá. No se te ocurra seguir los pasos que se indican en un equipo donde quieras conservar el sistema operativo o la información que contenga, ni si se trata del único equipo de que dispones. ¿Queda claro? Entonces sigue leyendo...

Más...

Materiales necesariosVas a necesitar:

  1. Tu viejo PC: El mínimo recomendable es un Pentium (cualquier tipo de Pentium o AMD 586 o similares de Cyris o IBM, mejor con un procesador de 150 Mhz para arriba). En cuanto a RAM, cuanta más mejor, pero 32-64 MB sería el mínimo. ¿Disco duro? Ideal, más de 2GB (si es menor, menos sitio para ficheros de registro). Una unidad de CD-ROM facilita la instalación. No hace falta ratón. Teclado, tarjeta gráfica y monitor sólo hacen falta para la instalación, y pueden ser cualesquiera. Módem, sólo si te conectas a tu proveedor mediante uno. Tarjeta de red en el resto de casos.
  2. Una segunda tarjeta de red: Para instalarla tu viejo PC debe disponer de una ranura PCI libre. Tu nueva tarjeta ha de ser compatible con Linux, pero eso no representa ningún problema, porque sirven prácticamente todas. En mi caso compré la más barata que encontré (10 euros), Made in China y de chip, en principio, desconocido (la caja sólo exhibía un nada tranquilizador "compatible con Windows XP"). Sin embargo el cortafuegos (es decir, Linux) la reconoció de inmediato como portadora de un chip Realtek totalmente compatible. En mi caso el único problema que encontré fue con las interrupciones; mi viejo equipo estaba cargado de tarjetas y tuve que retirar algunas y reubicar otras (ensayo y error), hasta que todo funcionó.
  3. Un cable de red cruzado: Ojo aquí, porque no te va a servir el que viene con tu nueva tarjeta. Cuando se trata de unir equipo (viejo) con equipo (nuevo) necesitas que el cable sea cruzado, es decir, que los pines que "emiten" en uno vayan conectados a los que "reciben" del otro, y viceversa. En los envases de este tipo de cables suele figurar la palabra Crossover. Para que te hagas una idea:

    El cablecito en cuestión me costó 12 euros, pero sin él no hay nada que hacer. Comprobarás que has acertado cuando, tras encender y unir ambos equipos con este cable, veas que se iluminan las lucecitas de ambas tarjetas de red. Sin este requisito previo es inútil intentar nada.
  4. SmoothWall: Es el imprescindible software que dará vida al invento. Se trata en realidad de una distribución Linux adaptada a su funcionamiento como cortafuegos. Gratis y de código libre, con licencia GPL. Debes descargar SmoothWall Express 2.0 y quemar un CD con esa imagen ISO. Baja rápido y son sólo unos 40 megas.

Con todo esto, ya estás preparado para empezar.

Instalación:

Si tu viejo PC arranca desde el CD (revisa la BIOS a ver si puedes ajustarlo) la instalación es coser y cantar. Si no es el caso habrás de generar disquetes de arranque y el asunto se complica un poco, aunque está todo perfectamente explicado en la documentación, tres pdfs muy recomendables en caso de problemas, pero en inglés. Por cierto, toda la instalación está en inglés, aunque prácticamente sólo necesitas elegir las opciones por defecto y aceptar todo. Aunque no distingas el inglés del chino, con las explicaciones y "cutre-fotos" que incluyo en el artículo tampoco deberías tener mayor problema.

Metes el CD y arrancas el equipo viejo. Al poco tiempo esta es la pantalla de presentación:

y a pulsar Enter. Se te va a avisar, de la siguiente forma activa:

y por pasiva, de que el disco duro va a ser formateado y que puedes despedirte de cualquier dato que tuvieras en él. Si a estas alturas no tienes claro esto, mejor no sigas y olvides todo el asunto. Insisto: tras la instalación el viejo PC será un cortafuegos, y no un PC al uso.

El equipo se formatea, se crea el sistema de archivo linux, se instala lilo como gestor de arranque y se instalan todos los ficheros necesarios. Se pasa a buscar (Probe) la tarjeta de red del cortafuegos que usarás para conectar a ella tu equipo (el bueno, el que contiene tu sistema operativo y tus ficheros más queridos). Una vez detectada la primera tarjeta, se te presenta la opción:

de aceptarla (OK) o seguir buscando (Skip) para elegir la segunda tarjeta disponible (en principio esto es indiferente y puedes aceptar la primera que se detecte).

Una vez elegida la tarjeta de red se te presenta la opción de configurar su IP y su máscara de red:

Esto puede sonar complicado, pero resulta tan sencillo como aceptar las opciones por defecto y pulsar OK.

Finalizada la operación el CD se expulsa y el sistema te pide ser rearrancado:

Tras el rearranque, viene la fase de configuración.

Configuración

A continuación se te pregunta si quieres restaurar una configuración previa desde un disquete (No), el teclado a usar (es), y el nombre de host (también nos vale el propuesto, smoothwall). Si te conectas por un proxy aquí deben ir los datos (si no, en blanco y OK). Deshabilita RDSI (ISDN, en sajón) y también ADSL en mi caso (conexión a ONO por módem cable). Puede que aquí tengas que configurar la conexión que tú utilizas.

Lo más peculiar viene ahora, al elegir la configuración de Red. SmoothWall tiene un concepto un tanto "semafórico" de los colores de los interfaces de red. Así GREEN es el interfaz que configuraste en la etapa anterior, al que enchufarás tu equipo real. RED es el interfaz (la tarjeta) donde insertarás el cable por el que tu proveedor te conecta a Internet. YELLOW no te importa mucho ahora; corresponde a la llamada Zona Desmilitarizada (DMZ), donde se ubican los servidores (web, mail) que han de tener acceso desde la Red.

En nuestro caso, la configuración que nos interesa es GREEN + RED, así que hay que pasar a Card Assignments para detectar (Probe) tu segunda tarjeta:

Es la tarjeta que conectarás a Internet.

Ahora, a configurarla. Address Setting -> Red -> OK. En este caso, en
Se elige DHCP, porque el equipo recibe una IP dinámica por esa vía. Si la tuya es fija, selecciona la opción correspondiente (Static). El resto, queda tal cual.

Toca configurar el servidor DHCP (no el anterior, que era un cliente del de tu proveedor, sino el que dará una IP al equipo o equipos que enchufes al cortafuegos). Pero basta seleccionar:

Muchas casillas Enabled y dejar igual el resto. Observa que tu equipo (el real), o equipos, obtendrán direcciones entre 192.168.0.100 y 192.168.0.200 con esta configuración.

Se te van a pedir ahora tres nombres de login y tres contraseñas. Anótalas.

Admin es el más importante, porque es el par login/password que te permitirá afinar la configuración a través de tu navegador web (sección siguiente). Root te permite acceder al cortafuegos vía consola de comandos Linux (requeriría volver a conectar monitor y teclado al cortafuegos, pero tranquilo: no lo vas a necesitar para nada). Por último, Setup te permite reconfigurar el cortafuegos desde consola (tampoco lo necesitarás prácticamente nunca; siempre puedes optar por reinstalar).

Se acabó lo que se daba. El sistema pide ser arrancado de nuevo.

De hecho, puedes pulsar OK y desconectar teclado y monitor de tu viejo PC, reconvertido ya a cortafuegos. Salvo labores de chequeo, reinstalación o similares, no necesitarás conectarle teclado y monitor nunca más. Eso sí: asegúrate antes de que tu BIOS te permite arrancar sin teclado conectado, porque si no el sistema se puede quedar detenido y el cortafuegos no llegar a funcionar.

¿Has conectado el cable que une los dos PCs? Un extremo al equipo que vas a utilizar y el otro al interfaz que definiste como GREEN de tu nuevo cortafuegos. Al interfaz RED de éste conecta el cable de tu proveedor de Internet. Si dudas, puedes probar de nuevo cambiando los cables.

Puesta en marcha

Tu ordenador "bueno" tiene conectado en su tarjeta de red el cable de red que viene de tu flamante cortafuegos. El cortafuegos (tu caduco PC) recibe el cable del proveedor y por su segunda tarjeta conecta con el equipo bueno. Sólo el ordenador bueno necesita monitor y teclado. Enciende ambos equipos.

Lo más probable es que el equipo bueno arranque antes que el cortafuegos, por lo que es fácil que te aparezca la red como desconectada y no puedas visitar Internet hasta que el cortafuegos acabe de arrancar (se debe a que aún no dispones de dirección IP, que ahora te tiene que dar tu cortafuegos).

Pero, ¿cómo saber cuándo ha arrancado el cortafuegos, si ya no tiene monitor?. Fácil: por un lado, oirás un pitido compuesto de tres tonos; por otro, tu equipo "bueno" dispondrá de conectividad en cuanto el servidor DHCP del cortafuegos le dé una IP.

Obviamente esto debe suceder con independencia del sistema operativo de tu equipo "bueno" (en él puedes usar Windows, Linux o lo que quieras). Si no ocurre y sigues sin conexión a Internet, o bien el arranque del cortafuegos no se ha completado (necesitarás volver al principio, conectarle monitor y teclado e investigar qué ocurre) o bien la conexión entre ambos equipos no va según lo esperado (si las luces de ambas tarjetas de red -la del equipo nuevo y la del cortafuegos- funcionan prueba a intercambiar las conexiones en el cortafuegos. Si las luces de la tarjeta de red del equipo nuevo no encienden, probablemente falla el cable).

Si todo funciona según lo esperado y puedes conectarte a Internet sin problemas, acude a un servicio web de escaneo de puertos y comprueba que todos tus puertos (excepto el 8, 80 y 113 con la configuración por defecto), aparecen como Blocked, es decir, invisibles.

Si es así, enhorabuena: has completado el proyecto con éxito, pero aún puedes afinar más tu configuración como te explico en la siguiente sección.

Ajuste fino

Puede que no estés conforme con la configuración por defecto, que prefieras abrir o cerrar determinados puertos, poner en marcha tu proxy o tu detector de intrusiones, revisar tus ficheros de registro, ajustar la hora, instalar parches, etc, etc.

Si la instalación fue correcta, puedes hacer eso y más mediante tu navegador habitual, sin más que teclear la siguiente dirección:

https://192.168.0.1:441

Se trata de una conexión segura con tu cortafuegos. Acepta el certificado y teclea la contraseña que elegiste para admin durante la instalación. Te aparecerá la pantalla de bienvenida de tu nuevo cortafuegos:

Si observas bien, verás que se te indica que existen actualizaciones sin instalar:

Para instalarlas pulsa la pestaña Maintenance. En el momento de escribir este artículo existen 8 actualizaciones disponibles. Pulsa sobre info en la primera de ellas y descárgala a tu PC. Puedes instalarla desde el mismo interfaz (Examinar -> Upload). Tras instalar la primera has de volver a arrancar el cortafuegos (no, no toques el botón de encendido del viejo PC; mejor usa la pestaña Shutdown y luego Reboot). Repite el proceso (incluido el rearranque) con las actualizaciones siguientes (siempre en orden consecutivo, de la 2 a la 8). Al finalizar, tu cortafuegos estará totalmente al día.

Conclusión

Si has llegado hasta aquí con éxito, es más que probable que a partir de este punto no necesites mi ayuda. Las posibilidades de configuración de tu nuevo cortafuegos son muchas y no me toca a mí tratarlas todas. Dispones de las herramientas y los documentos necesarios. Además, SmoothWall dispone de un animado foro de usuarios donde puedes aprender mucho más.

No hay comentarios: