tail -f felipe-ra.com

Blog / Arquitectura

Arquitectura · Redes

Piedra angular de mi homelab

Cómo el comenzar a estudiar ciberseguridad me ayudó a darme cuenta de posibles brechas de entrada a mi red de hogar, lo cual me llevó a generar una red LAN cerrada completa con un router viejo y así entender las infraestructuras empresariales con mi propia red.

01Yo, mi primera víctima

Cuando se practica algún deporte o nueva disciplina, lo primero que haces es entrenar, probar nuevas ideas, nuevos conceptos, nuevas técnicas. Nunca irás a las olimpiadas luego de haber conseguido aprender a nadar o a hacer una pirueta, no sin antes lastimarte o lastimar a otros en el proceso.

En la ciberseguridad por inercia es parecido. Lo primero que intentas hacer es romper tu red wifi, tus dispositivos, investigar tu huella digital, cambiar tus contraseñas, encontrar vulnerabilidades en ti, etc. Es por esto que lo primero que hice fue revisar justamente lo que tenía mas a la mano: Mi propia red.

Esto me lleva a estudiar no solo como funcionan, si no también a buscar vulnerabilidades en mi día a día, en mis dispositivos y mis cuentas.

Este ejercicio me llevó a darme cuenta de algo.

02Por que decidí hacerlo

Una brecha muy común en redes domésticas son las tecnologías que están para facilitarnos la vida, pero que no notamos, que conectamos una vez a la red y cumplen solo una función (o eso pensamos como clientes) y que son conocidas como tecnologías IoT (Internet of Things) las cuales son cosas tan simples y cotidianas como luces inteligentes, cámaras ip que puedes ver desde tu teléfono, interruptores inteligentes e incluso las asistentes como alexa.

Estas son las puertas traseras que muchas veces quedan con las llaves puestas por malas configuraciones a atacantes que logran comprometer a través de internet y el acceso que tienen estos dispositivos a tu red doméstica completa, comprometiendo no solo estos dispositivos, si no también tus computadores, celulares, televisores, cámaras e incluso alarmas que puedan estar usando la red para que las puedas controlar desde tu teléfono sin la necesidad de estar presente en la habitación.

03La idea

Como estos aparatos IoT ya existen en mi casa y no pretendía botarlos a la basura y perder el dinero invertido, tuve que empezar a buscar soluciones al respecto, todo con la intención de seguir usándolos pero con la tranquilidad de que no cualquiera pudiera comunicarse con ellos.

Es por esto que empecé a estudiar como hacen las empresas o negocios cuando necesitan este tipo de seguridad para tarjetas de acceso de trabajadores, cámaras de vigilancia cerrada y alarmas. Esto me llevó a una respuesta: Redes LAN (Local Area Network) que comúnmente se usan para estas finalidades, pero no quería tampoco tener que implementar una red costosa y compleja que conectara todos mis dispositivos (considerando que varios de estos solo tienen comunicación por wifi). Es por esto que tuve que buscar otra solución, más simple, más barata y aplicable a la escala en que estaba trabajando.

04Hardware viejo, propósito nuevo

Al igual que hice en un proyecto anterior con NABU, nombre de mi servidor privado creado con una notebook vieja de segunda mano, y que lleva el nombre por el Dios de la escritura mesopotámico (me sonó acorde el nombre para un servidor que trabaja escribiendo información constantemente) y al mismo tiempo el planeta de la serie star wars (Naboo, pero que suena de la misma forma de nabu), tuve que buscar soluciones de bajo costo para realizar esto.

Es por esto que pensé ¿por qué no simplemente creo una red nueva con un router viejo?. Pues en palabras simples (aunque fue mas trabajo de lo que pensé) eso fue lo que hice. Tomé un router viejo, si mal no me falla la memoria de más de 3 o 4 años, que algún ISP jamas retiró cuando lo dimos de baja, aprovechando que tenía tecnologías nuevas como protocolos WPA2, entrada de fibra óptica y doble banda de 2,4 y 5 GHz, logré implementar una red completamente cerrada sin acceso a internet, ya que no necesitaba de esta, solo requería engañar a mis dispositivos para conectarlos a un wifi que me permitiera configurarlos desde otro equipo dentro de la misma red.

El problema real es: ¿cómo acceder a estos dispositivos si estoy lejos?, ¿cómo evito que si logran acceder a la red no puedan ver todo el mapa?

05Tuve que aprender y aplicar

Es aquí cuando el proyecto tomó una curva bastante inclinada de aprendizaje, ya que nunca había trabajado con redes a un nivel de implementación de infraestructura, por lo que tuve que aprender sobre reglas UFW (Uncomplicated Firewall) que me permitieran controlar los accesos y el tráfico de cada dispositivos dentro de la red.

Además si quería seguir escalando este proyecto, poder controlarlo desde fuera y tener realmente algo funcional que sirviera sin estar conmigo presente conectado a la red: necesitaba un intermediario. La respuesta fue simple, Nabu que ya actuaba como un punto de entrada a mi casa a través de una red tailscale, la cual me permite conectarme desde mis dispositivos a NABU esté donde esté, actuaría como nodo central de acceso y control de tráfico dentro de mi red LAN.

¿Cómo logré esto?. Colocando a Nabu con una antena de red por usb para darle 2 interfaces, una que estuviera conectado a mi red ISP principal (la antena usb) y me sirviera para conectarme desde fuera por tailscale desde mi teléfono y una interfaz que se conectara a mi red LAN directamente por cable al router (la propia tarjeta de red del notebook).

La red aislada y Nabu como único puente entre ella y el resto de la casa
Fig. 1 — Nabu queda con un pie en cada red: por eso todo lo que entra y sale de la zona cerrada pasa por sus reglas.

¿Qué conseguí con esto?: una red completamente cerrada, sólo accesible si estas presente a rango del router y vulnerando la contraseña de acceso del router o superando el cortafuegos de NABU y de la red tailscale para poder recién ahí ver mis dispositivos IoT.

06Su función hoy

La pregunta que surge más naturalmente es: ¿vale la pena tanto por poder encender las luces de mi casa a distancia?. La respuesta corta es sí, pero no por las razones obvias.

Actualmente mi red LAN no solo sirve para alojar mis dispositivos IoT. Como es normal en ciberseguridad se necesita constantemente estar rompiendo sistemas para practicar o conocer nuevos conceptos y temas, los cuales son más educativos aún si puedes simularlos tu mismo y no depender de plataformas como hackthebox o tryhackme que, a pesar que son excelentes escuelas y a la par uso para pulirme, no te permiten entender el cómo se levantan. Es por esto que constantemente dentro de la red puedo jugar con dispositivos diferentes, raspberry pi, notebook viejos, microprocesadores tipo esp32 y todo lo que pueda querer sin tener que, primero, conectarse a internet, y segundo, afectar a ningún tercero, que aparte de ser completamente ilegal, mi propia brújula moral me lo impide.

Esto hoy en día se convirtió en mi patio de juegos, mi sistema de seguridad y mi forma de entender cómo funcionan las redes a un nivel empresarial a gran escala pero en tamaño de “bolsillo” al tenerlo en mi propia casa.

Esta arquitectura me ha permitido ser mas proactivo con mi estudio, ya que si encuentro nuevos conceptos, nuevas formas de organizar y hacer funcionar mi red, nuevas tecnologías o incluso nuevas áreas de estudio como forense (lo me tiene hoy bastante intrigado por explorar), pueda hacerlo sin miedo a probar, romper, levantar y editar estos conceptos para entenderlos al completo.

07No es perfecto

Como todo sistema, este tiene fallas que saltan a la vista, es por eso que tomé algunas medidas preventivas iniciales.

La más obvia es el acceso por proximidad: alguien dentro del rango del router puede intentar entrar directamente a la red LAN, sin pasar por ninguno de los controles y reglas que puse en Nabu. Esto lo mitigué escondiendo el nombre de la red para que no aparezca en el listado de un teléfono o un notebook, pero seamos honestos, eso no lo considero seguridad, solo ocultamiento básico para que el vecino curioso que puede ver mi red a simple vista y no hace absolutamente nada contra alguien con herramientas, porque con un escaneo de redes con nmap o un poco de wardriving hace aparecer la red de igual forma. Lo que sí sirve está en la configuración del router: desactivé WPS, que es lo que permite ataques como Pixie Dust, y descarté WEP, donde la captura de paquetes IVs es una brecha directa a la LAN. Ahí la defensa es real.

Quedan cosas en la lista. Hoy los dispositivos IoT están aislados del resto de mi casa, pero entre ellos se siguen viendo. Si uno cae, el siguiente está al lado. Tampoco registro lo que pasa dentro del segmento, así que si algo raro ocurriera, me enteraría tarde o no me enteraría.

Por último tengo en mi agenda el migrar a WPA3, pero la verdad, nada de esto me quita el sueño por ahora. Esa es justamente la idea. Empecé este camino convirtiéndome en mi primera víctima, probando contra lo único que podía romper sin pedirle permiso a nadie. Hoy sigo siendo mi primera víctima, pero en un lugar hecho a propósito para eso, donde equivocarse no le cuesta nada a nadie. Esa diferencia es todo el proyecto resumido. El detalle de las reglas, el diagrama de zonas y cómo quedó el tráfico entre ellas lo voy a contar en otro post, porque da para uno completo.

Mientras tanto, si ves algo que harías distinto, o una falla que se me está pasando, escríbeme a blog@felipe-ra.com. Las correcciones y aportes se agradecen.