¿Cómo crear un firewall para proteger tu hogar?

Ésta es una de las cuestiones que me he estado planteando desde que empecé a utilizar internet, a principios de siglo, hace ya 22 años.

Internet es una herramienta que nos ha estado acompañando desde que Tim Berners-Lee puso en marcha el primer servidor web del mundo, a principios de los 90, aunque a España no llegó hasta muy finales de los 90, y su uso se generalizó en la primera década del s. XXI.

Israel Moldes Feijóo
Israel Moldes FeijóoAnalista Programador

Como ocurre con todas las herramientas, Internet en sí no es malo ni bueno, sino que según el uso que hagamos de la herramienta puede ser beneficioso o perjudicial para nosotros y nuestro entorno. Pero Internet no deja de ser una tecnología reciente, que ha crecido mucho en estos 22 años (o 32, si cogemos como punto de partida la puesta en marcha del primer servidor WWW del mundo), tanto es así que incluso ha superado a las personas. Y por ese motivo, la tecnología de Internet ofrece muchas posibilidades, pero también supone muchos peligros, especialmente para los colectivos de gente de mayor edad, los más jóvenes y la gente que, en general, no tenga una formación adecuada en el uso de redes de ordenadores y seguridad.

¿Qué quiere decir esto?

Pues que, si se deja que una persona acceda libremente a internet, sin ningún tipo de conocimientos de lo que es Internet y lo que supone estar conectado a una enorme red de tamaño mundial y con todo tipo de contenidos, esa persona se expone a acceder a contenidos no adecuados, ofensivos o aterradores, o puede llegar a descargarse e instalarse software malicioso sin su conocimiento ni consentimiento. O peor aún, puede dar sus datos personales a desconocidos, que luego se pueden usar en su contra. O puede ser espiada sin darse cuenta, especialmente hoy en día que tenemos todo conectado: smartphones, tablets, cámaras conectadas, micrófonos/altavoces conectados, otros electrodomésticos conectados, etc.

Razones para querer proteger la red del hogar

Al igual que una empresa u organismo público protegen (o deberían proteger) sus redes corporativas para evitar accesos no autorizados, fuga de datos, o bloquear el acceso de sus empleados a ciertos contenidos, no es mala idea que un usuario doméstico haga eso en la red su casa.

Los motivos principales suelen ser:

  • Evitar el acceso a la red de casa de atacantes externos, por ejemplo, accesos no autorizados a la red WiFi de casa.
  • Evitar que los miembros de tu familia puedan acceder a ciertos contenidos, especialmente a contenidos para adultos o que puedan ser perturbadores.
    • Una buena razón es controlar el acceso de los menores o personas muy mayores a ciertos sitios de internet.
  • Evitar la publicidad en internet, pues, aunque en muchos casos es legítima, en muchos otros casos puede ocultar troyanos que nos puedan dañar nuestros equipos informáticos y/o robar datos.
  • Evitar ser rastreados en la red.
  • Bloquear contenidos maliciosos, como páginas de phishing.

Esto se puede hacer instalando y configurando un firewall o cortafuegos en la red de nuestra casa, que actúe como puente entre Internet y nuestra red doméstica.

Espera, ¿Qué es un firewall?

Un firewall o cortafuegos (yo prefiero llamarlo cortafuegos) es un dispositivo de red que se sitúa (a nivel lógico) entre nuestra conexión a internet y la red interna de nuestra casa y que analiza el tráfico de red en tiempo real, pudiendo bloquear o conceder acceso a los distintos equipos de la red local, según una serie de criterios o reglas que se le pueden establecer mediante configuración.

Éste es un esquema gráfico de su funcionamiento:

¿Cómo crear un firewall para proteger tu hogar?

Es básicamente un ordenador especializado que se conecta a la red local como si fuera un equipo más, y que está configurado para que todo el tráfico de red pase por él, de forma que pueda monitorizarlo, analizarlo y bloquear o conceder acceso en tiempo real, según las normas que tenga configuradas. De hecho, en un entorno corporativo, un cortafuegos es un aparato que no tiene teclado, ni ratón, ni pantalla, tal como puede verse en esta foto:

Aparato firewall

Pero ojo, la foto anterior muestra un cortafuegos de categoría empresarial, que tiene un coste elevado y está pensado para utilizarse en redes corporativas de 100 o más equipos. Para un hogar sería como matar moscas a cañonazos. En nuestro caso tenemos soluciones más económicas y prácticas, como reciclar un viejo PC para que cumpla esa función, cosa que veremos en el apartado siguiente.

¿Cómo crear un firewall para proteger mi hogar?

Y aquí llegamos a la cuestión principal de este artículo. ¿Cómo puedo crear un cortafuegos para usarlo en mi red doméstica? ¿Qué requisitos debe tener? ¿Cuánto dinero me puede costar?

En resumidas cuentas, la idea es configurar un PC para utilizarlo como cortafuegos. Así que este artículo lo dividiré en tres puntos: elección de hardware, elección de software y proceso de instalación y configuración, con ejemplos.

Hardware

La elección del hardware dependerá en gran medida de nuestro presupuesto. Aquí tenemos dos opciones: o bien utilizar un viejo PC que tengamos por casa y que ya no utilicemos para ninguna otra tarea, o bien se puede adquirir un Mini-PC para tal fin.

PC Viejo

Si decidimos usar un viejo PC, nos ahorramos el coste de adquirir el hardware pero …

… la factura de la luz se puede disparar. Hay que tener en cuenta que un cortafuegos es como el router: tiene que estar conectado y encendido 24/7, lo que significa que es un consumo adicional en la factura eléctrica. Un PC viejo consume más que un PC moderno, puesto que sus componentes electrónicos son menos eficientes. Esto es especialmente cierto en el caso de ser un PC de sobremesa, y más aún si es un PC que en su día era muy potente y se usó para juegos. No sólo consumen más, sino que además generan calor, lo cual puede ser malo en verano. Y por supuesto, está el inconveniente del espacio adicional que usan, claro.

Mini-PC

En cambio, si decidimos usar un Mini-PC, tenemos la ventaja de que tienen un consumo eléctrico muy reducido, ocupan muy poco espacio y generan muy poco calor. Pero claro, está la desventaja de que, en muchos casos, se tienen que adquirir. Si nos decantamos por esta opción, podemos hacernos con un mini PC como el de esta foto:

Mini PCEstos equipos tienen precios que oscilan entre los 200 € y los 800 €, aunque me parece excesivo gastarse más de 250€ para el uso que le daríamos.

No dejan de ser PCs normales con arquitectura x86, aunque con unas prestaciones reducidas con respecto a un portátil o un PC de sobremesa normal, pero lo compensan con su tamaño reducido y bajo consumo. Además, para usarlo como cortafuegos, no necesitamos tanta potencia de procesamiento.

Raspberry Pi

Raspberry PiTambién podemos usar una Raspberry Pi, que es un mini PC del tamaño de una tarjeta de crédito (algunos modelos son incluso más pequeños) y cuya arquitectura es ARM (básicamente la misma que usan nuestros móviles). Estos aparatitos, muy populares en el mundo de la robótica y domótica por sus posibilidades, también nos sirven para usarse como cortafuegos.

La Raspberry tiene un consumo irrisorio y es tan pequeña que se puede “disimular” poniéndola junto al router. Estos aparatitos tienen un precio que oscila entre los 100€ y los 300€, pero yo no me gastaría más de 100€. De hecho, es lo que yo me puse como cortafuegos en mi casa.

En resumen:

  • Podemos usar un viejo PC existente, pero consume más y ocupa más espacio.
  • Podemos adquirir un MiniPC o una Raspberry, que consumen muy poco y ocupan poco espacio, pero requieren de una pequeña inversión inicial.

Software

El software que elijamos para configurar nuestro PC como cortafuegos, dependerá del hardware que escojamos, aunque ya adelanto que en ningún caso será Windows: utilizaremos una de las muchas variantes de Linux que hay en el mercado, siendo Debian mi favorita.

Una vez elegido el sistema operativo, ahora tenemos dos opciones: o bien realizar una instalación completamente manual del entorno, lo que incluye programar el software necesario desde cero, o bien podemos utilizar algún paquete de software ya existente. Yo hice ambas cosas: en su día adquirí un mini PC x86, le instalé Debian, Apache (servidor web), Bind (servidor DNS) y programé yo mismo una interfaz en PHP. Lo tuve funcionando así dos o tres años con muy buenos resultados, pero yo soy ingeniero de software y una persona con mucha curiosidad científica, y no todo el mundo tiene tiempo, ni paciencia, ni conocimientos tan avanzados para hacer esto. Como quería hacerle algunos añadidos al cortafuegos (análisis de datos de uso, logs y monitorización), y no tenía tiempo ni ganas de hacer desarrollos adicionales, decidí utilizar una Raspberry Pi que ya tenía de antes, y que había adquirido para otros experimentos, le instalé PiHole, que es una suite que contiene todo: bloqueo de publicidad, DNS, DHCP, monitorización y otras cosillas que quería implementar en mi anterior cortafuegos, y en una tarde ya tenía instalado y funcionando un nuevo cortafuegos basado en la plataforma Raspberry Pi.

Para este artículo me centraré en preparar un cortafuegos usando la Raspberry Pi y PiHole.

¿Qué es Pi-Hole?

PiHole es un software que sirve para configurar un PC como cortafuegos de red. Básicamente convierte el PC en un servidor DNS o Domain Name Server, que es lo que traduce automáticamente las URLs de Internet como www.google.com o www.microsoft.com a sus respectivas direcciones IP, como 44.55.66.77 o 172.128.40.130, cuando hacemos una navegación.

Esto permite que nuestro PC con Pi-Hole pueda interceptar las navegaciones que hagamos desde nuestra red doméstica o de oficina hacia internet y traducir las DNS localmente en lugar de hacerlo nuestro proveedor de servicios de internet, con lo que podemos tener una serie de dominios en una lista negra de forma que los hagamos apuntar a la dirección 0.0.0.0. Cualquier navegación a estos dominios en lista negra se abortará. El resto de dominios que no estén en la lista negra, pueden salir hacia internet usando los DNS habituales (Google, CloudFlare o Telefónica), que hayamos configurado desde el panel de control del Pi-Hole. El PC con Pi-Hole se añade a la red como un dispositivo más y se configura el Router para que haga pasar las navegaciones por el Pi-Hole.

También permite definir nuestros propios dominios y apuntarlos a un servidor local, como hago yo con mis desarrollos web para poder probarlos antes de publicarlos en un servidor público.

Preparar y configurar el cortafuegos

Tal como expliqué en el punto anterior, vamos a preparar un cortafuegos usando una Raspberry Pi, el sistema operativo Raspberry OS, que es una versión de Debian diseñada especialmente para este mini-PC, y PiHole, que es el software que lo convierte en cortafuegos.

Hardware

En mi caso, utilicé una Raspberry Pi modelo 4, de 4GB de RAM. Me costó 100€, incluyendo la Pi, el adaptador de alimentación, un cable HDMI, y una carcasa con disipador activo. En principio nos sirve cualquier modelo de Raspberry Pi para esto. Por último, necesitamos una tarjeta Micro SD de entre 32 y 64 gigas de capacidad, que es el medio de almacenamiento que usa la Raspberry. También necesitaremos un lector de tarjetas para escribir el SO en la Micro SD desde nuestro PC. Si tenemos un portátil estamos de enhorabuena: muchos vienen con lector de tarjetas incluido. Si no, tocará hacerse con uno.

Instalando el SO

La instalación del SO es extremadamente sencilla, no tenemos más que ir a la página oficial de Raspberry Pi y descargar el software Raspberry Pi Imager, que es un programita que sirve para instalar el sistema operativo Raspberry OS en la microSD. En mi caso, me bajé la versión para Windows.

Una vez descargado el programa, lo instalamos, como cualquier otro programa de Windows. Una vez instalado, introducimos la tarjeta MicroSD en el lector y luego ejecutamos el programa. Se nos presentará esta pantalla:

Pi-hole1

Primer paso

El proceso es bastante simple: primero pulsamos el botón CHOOSE OS, que abrirá un menú donde podremos escoger el SO. En este menú escogeremos Rapsberry OS, versión 64 o 32 bits. Si tenemos una Pi modelo 4, podemos escoger el sistema de 64 bits, pero si tenemos un modelo más antiguo o no estamos seguros, podemos escoger la versión de 32 bits. El siguiente paso es escoger el almacenamiento, con el segundo botón CHOOSE STORAGE. Esto muestra una lista con las unidades de almacenamiento del sistema. Si la tarjeta SD está insertada, ésta ya debería aparecer como primera opción seleccionada. En este punto es importante asegurarse de que hemos escogido la unidad correcta.

Segundo paso

Una vez escogida, se activará el botón WRITE. Pulsando este botón, se grabará el SO en la tarjeta. Cuando haya finalizado, se podrá retirar la tarjeta, que ya estará lista para ponerla en la Raspberry. Hay un vídeo-tutorial en Youtube que resume cómo se hace este proceso.

Tercer paso

El paso siguiente es insertar la tarjeta de memoria en la Raspberry Pi, conectarle un teclado, ratón y monitor (esto sólo para la instalación del SO y de PiHole), un cable de red (no es estrictamente necesario, porque muchas RPi vienen con WiFi, pero sí es muy recomendable por temas de fiabilidad y velocidad) y encenderla. Debería iniciarse automáticamente el instalador de Raspberry OS en la propia Raspberry Pi, donde escogeremos unas pocas opciones más, como el idioma y la localización, la contraseña de usuario (te recomendamos este post de cómo elegir una buena contraseña), y le daremos a siguiente, siguiente, siguiente …

Una vez instalado el sistema operativo, tenemos que hacer dos cosas muy importantes:

  • Configurar una IP fija en la máquina. Esto es imprescindible: un cortafuegos no deja de ser un servidor, y por tanto, necesita una IP fija. Esto es bastante sencillo, dado que Raspberry OS es un sistema operativo con interfaz gráfica: tan solo hay que hacer clic en el icono de red que está situado en la parte superior derecha de la pantalla, al lado del reloj. Se mostrará un menú que nos da la opción de cambiar los ajustes de red. Opcionalmente se puede hacer por línea de comandos, como indican en este tutorial.
  • Configurar el acceso remoto por SSH (consola) a la Raspberry. Esto no es imprescindible, aunque sí recomendable. Esto se puede hacer mediante línea de comandos, con este comando: sudo apt-get install openssh-server Aunque insisto: no es obligatorio.

Llegados a este punto, la parte de instalación del SO está completa. El siguiente punto es instalar PiHole.

Instalando PiHole

Primer paso

La instalación de PiHole es aún más sencilla que la instalación del sistema operativo. Sólo es necesario introducir este comando en la línea de comandos de la Raspberry:

curl -sSL https://install.pi-hole.net | bash

El proceso de instalación es automático: nos preguntará una serie de opciones (la mayoría de las que vienen por defecto son correctas) y finalmente se mostrará una pantalla indicando que la instalación está terminada, indicando, además, la URL para acceder al panel de control web de PiHole y la contraseña por defecto, que recomiendo cambiar.

Pi-hole1

Pi-hole2

Segundo paso

El paso siguiente consiste en entrar en la URL de administración de PiHole desde la propia Raspberry y cambiar la contraseña por defecto. Luego hay que entrar desde cualquier otro PC de nuestra red y comprobar que podemos acceder al panel, introduciendo una de las dos direcciones indicadas en la pantalla de instalación. Llegados a este punto, podemos apagar la Raspberry, desenchufarle el ratón, teclado y monitor, colocarla en su ubicación definitiva (en mi caso, junto al router), conectarle un cable de red al router, volver a enchufarla a la corriente y listos. La RPi se encenderá y quedará lista para usar. En este punto ya no se necesita monitor, teclado ni ratón: todo se administrará desde el panel web, al que podemos acceder desde cualquier navegador web de cualquier ordenador o dispositivo móvil que tengamos conectado a la red de casa.

Aquí dejo un vistazo al panel de control web, desde un PC de mi red doméstica:

Configuración red

Primer paso

Una vez instalada la Raspberry Pi con Pi Hole, nos falta un paso muy importante: configurar la red para que nuestros dispositivos pasen por Pi Hole antes de salir a internet. Hay dos formas de hacerlo: se puede configurar el router para que haga pasar todas las peticiones por Pi Hole, o se puede configurar manualmente cada dispositivo para que lo use. Mi recomendación es configurar primero uno de los dispositivos para probar que todo funcione (preferiblemente un PC de sobremesa o portátil) y tenerlo unas horas a prueba realizando navegaciones y accediendo a otros servicios en la nube, y comprobando que todo funciona, y lo más importante: con la publicidad bloqueada. Posteriormente, se debería configurar el router para que use la Pi Hole como cortafuegos en toda la red.

Segundo paso

Para configurar un PC con Windows nos vamos al panel de control, centro de redes y recursos compartidos y hacemos clic en la opción Cambiar la configuración del adaptador. Hacemos clic con el botón derecho sobre el adaptador correspondiente y le damos a propiedades:

Propiedades 1

Tercer paso

Posteriormente seleccionamos Protocolo de Internet versión 4 y hacemos clic en propiedades. En la pantalla siguiente hacemos clic en la opción Usar las siguientes direcciones de servidor DNS e introducimos la dirección IP de nuestra Raspberry Pi. Luego le damos a aceptar.

propiedades 2

En este momento, el PC quedaría protegido por Pi Hole. Esto puede comprobarse si en el navegador introducimos la URL https://pi-hole.net/: si lo hicimos correctamente, debería cargarse el panel de control de Pi Hole.

Sin embargo, como dije al principio, esto sólo es práctico para comprobar que la Pi Hole funciona. Una vez comprobado, es mejor configurar el router para que haga pasar todo el tráfico de red por el Pi Hole.

Para ello, se ha de hacer lo siguiente:

  • Se debe desactivar el servicio DHCP en el router.
  • Se deben cambiar los servidores DNS del router por el Pi Hole. IMPORTANTE: el propio Pi Hole debe estar configurado primero para que use DNS reales (véase los de Google o Movistar). Esto se debe hacer durante la instalación de Pi Hole, aunque se pueden cambiar luego desde el panel de control web.
  • En el Pi Hole se debe activar el servicio DHCP que tiene integrado.

Ahora, los cambios en el router dependerán en gran medida del modelo de router que nos proporcione nuestro proveedor. En la documentación oficial de Pi Hole se indica cómo podría hacerse.

En el caso del Pi Hole, los cambios se pueden hacer desde el propio panel.

Conclusión

Llegados a este punto, ya deberíamos tener nuestra red doméstica protegida contra ataques de malware, publicidad agresiva y otros contenidos maliciosos.

Aunque puse el uso de Pi Hole con una Raspberry Pi como ejemplo personal, porque es lo que yo tengo en mi red de casa, esto se puede hacer con cualquier hardware: Pi Hole puede instalarse en otros equipos Linux con otras arquitecturas, no necesariamente en una Raspberry Pi.

También podemos programar un cortafuegos por nuestros propios medios, como hice yo antes de conocer la existencia de Pi Hole, pero eso requiere de unos conocimientos de programación, redes y entornos Linux muy avanzados.

Incluso se podría hacer en un SO Windows Server, aunque yo personalmente prefiera Linux para estos menesteres.

Otros artículos relacionados

2023-11-20T09:49:09+01:0016 marzo, 2023|

¡Compártelo en tus redes sociales!

Ir a Arriba