Configura IPFire para proteger tu hogar o empresa con este firewall Linux

IPFire es un sistema operativo basado en Linux cuya función principal es la de firewall (cortafuegos) y también de router dentro de una red. Si necesitas un firewall muy profesional, con posibilidad de añadirle extensiones para aumentar sus funcionalidades, y todo ello bajo un sistema operativo Linux basado en Debian, IPFire es la distribución ideal para ti. A diferencia de otros firewalls, IPFire se gestiona muy fácilmente con su interfaz web intuitiva, por lo que podrás gestionar todas las funcionalidades y configuraciones directamente desde el navegador web, sin necesidad de entrar vía SSH para hacerlo. Hoy en RedesZone os vamos a explicar todo sobre IPFire, y cómo instalarlo en cualquier ordenador con dos tarjetas de red (una para WAN y otra para LAN).

IPFire es un sistema operativo que consumo muy pocos recursos, prácticamente se puede utilizar en cualquier ordenador actual, aunque lógicamente, el rendimiento que obtengamos dependerá del hardware utilizado, y lo mismo ocurre si tenemos miles de reglas en el firewall y además instalamos un sistema de detección y prevención de intrusiones. Dependiendo de nuestras necesidades, necesitaremos un mejor o peor hardware. Una característica muy importante de este firewall es que está basado en Linux, por tanto, hace uso de iptables para permitir o denegar el tráfico, y también para hacer las funcionalidades de NAT, aislar el tráfico entre diferentes subredes que podemos crear etc.

Principales características

El objetivo principal del sistema operativo IPFire es proporcionar seguridad en entornos domésticos y empresariales, su motor firewall es muy fácil de configurar, y su IDS evita que los atacantes entren en la red y previene intrusiones. En la configuración de IPFire, tendremos que dividir la red en varias zonas, dichas zonas tienen diferentes políticas de seguridad por defecto, que posteriormente podremos configurar en detalle. Por ejemplo, tenemos zonas para la WAN de Internet, LAN, DMZ y también WiFi. Otro punto a favor de IPFire son sus continuas actualizaciones, algo fundamental en un cortafuegos ya que está expuesto a Internet, por tanto, tener actualizaciones del propio sistema operativo y de las extensiones es algo fundamental para evitar vulnerabilidades de seguridad.

IPfire se puede instalar en cualquier hardware, aunque es totalmente necesario y obligatorio el tener dos o más tarjetas de red, para segmentar correctamente toda la red. Como mínimo tendremos una interfaz de red para la WAN de Internet y otra interfaz de red para la LAN, de esta forma, luego podríamos crear VLANs en la LAN para segmentar el tráfico a través de un switch gestionable creando y administrando las correspondientes VLANs que nosotros podremos crear y gestionar en el propio IPfire. En el caso de tener más de dos tarjetas de red o dos puertos, podríamos tener otro puerto físico específico para crear una DMZ, con el objetivo de que esta red esté totalmente aislada de la red LAN principal, y solamente se pueda comunicar con la red de Internet a través del puerto WAN que hemos configurado.

Firewall y IDS/IPS

IPFire emplea un cortafuegos SPI (Stateful Packet Inspection) basado en IPtables, el popular firewall de Linux. Este software permite filtrar paquetes rápidamente, y, dependiendo del hardware, es capaz de proporcionar anchos de banda superiores a los 10Gbps. Gracias a la interfaz gráfica de usuario, podremos crear grupos de host y redes para posteriormente aplicarles reglas breves y ordenadas, algo importante para saber qué estamos filtrando y también para el mantenimiento de las reglas. Por supuesto, esta distribución orientada a cortafuegos dispone de informes gráficos y avanzados registros para conocer todo lo que está sucediendo en el sistema.

Con IPFire podemos configurar el firewall para mitigar y bloquear los ataques de denegación de servicio, al filtrarlo directamente en el propio firewall sin que lleguen a los servidores, para añadir una capa de protección muy importante a nuestros servicios web, FTP, correo electrónico y otros. Por supuesto, gracias a su avanzado IDS/IPS (sistema de detección de intrusiones y sistema de prevención de intrusiones), IPFire analizará todo el tráfico de red y será capaz de detectar cientos de tipos de ataques a las redes, fugas de información y otra actividad sospechosa en red.

VPN

Hoy en día las redes privadas virtuales son muy importantes para interconectar ubicaciones remotas a través de Internet y de forma segura. IPFire incorpora diferentes tipos de VPN, entre las que se incluyen VPN IPsec y también OpenVPN, ideal para poder interoperar con fabricantes de firewalls como Cisco, Juniper, Mikrotik, D-Link y cualquiera que utilice los estándares. Gracias a la incorporación de OpenVPN, los usuarios remotos podrán conectarse a la oficina como si estuvieran físicamente en ella, y todo ello de forma segura ya que todas las comunicaciones están cifradas punto a punto.

Gracias a que está basado en Linux, podremos instalar otras VPN como la popular WireGuard, pero no tendremos una interfaz gráfica de usuario para crear los diferentes peers, tendremos que hacerlo todo de forma manual a través de SSH para entrar por consola, un hándicap para los usuarios que no quieren ejecutar nada por consola y quieren tenerlo todo a través de la interfaz gráfica de usuario del propio sistema operativo IPfire.

Otras características

IPFire incorpora una gran cantidad de características de los routers profesionales y de los firewalls profesionales, algunas de las principales características adicionales son la posibilidad de configurar un servidor Proxy de manera avanzada, un servidor DHCP, incorpora caché de nombres de dominio, servidor NTP para la hora, WoL (Wake ON LAN), servidor DDNS, un avanzado QoS, un completo registro de todos los sucesos que ocurren en el sistema operativo etc.

Una de las características más importantes, es la posibilidad de instalar extensiones, gracias a este software adicional, podremos ampliar las funcionalidades de este firewall profesional. Algunos de las extensiones más populares son las siguientes:

  • Servidor de archivos en red con Samba y NFS.
  • Servidor de impresora en red.
  • Asterisk para una centralita VoIP.
  • Teamspeak.
  • Servidor grabador de vídeo.
  • Servidor de correo y antispam.
  • Servidor antivirus utilizando el motor ClamAV.
  • Servidor de streaming.
  • Tor para navegar por Internet anónimamente
  • Más plugins que se pueden descargar directamente desde la wiki principal de su página web.

IPFire puede funcionar también en arquitectura ARM, por lo que le permite funcionar bajo dispositivos tan interesantes como una Raspberry Pi o equipos similares. También se puede instalar en Amazon Cloud para tener IPFire en la nube, y que todas las comunicaciones funcionen vía VPN. Por último, no debemos olvidar que este firewall avanzado permite la instalación de plugins para aumentar las funcionalidades del cortafuegos.

Descarga e instalación de IPFire

La descarga y uso de IPFire es completamente gratuita, basta con entrar en la web oficial e irnos directamente a la pestaña de «Download». En esta sección tendremos que elegir la arquitectura de nuestro equipo, normalmente será arquitectura X86_64, pero si utilizas arquitectura ARM, tendrás que instalar la adecuada que está justo debajo. Una vez que estemos dentro de la sección de descargas, procedemos a descargarnos la imagen «ISO Image» para cargarla desde un CD o un pendrive. Al ser un sistema operativo booteable, podremos utilizar cualquier software para posteriormente arrancarlo.

Una vez que lo hayamos descargado, podremos grabarlo a un CD, copiarlo a un USB booteable etc. En nuestro caso, vamos a instalar IPFire en una máquina virtual con VMware, para que veáis cómo instalarlo de manera virtual y probarlo en un entorno controlado de pruebas, para posteriormente pasarlo a producción. En este entorno de pruebas crearemos dos tarjetas de red, una en modo bridge para que se conecte de forma real a la red local, y otra en modo host-only para poder acceder a la administración de IPFire vía web desde nuestro ordenador, sin depender de la red local.

Configuración de la máquina virtual en VMware

En nuestro caso vamos a utilizar VMware Workstation 15.5 PRO, pero cualquier versión serviría para realizar la instalación de este sistema operativo orientado a cortafuegos. Lo primero que tenemos que hacer al abrir VMware es pinchar en «Create a New Virtual Machine», tal y como podéis ver en la siguiente pantalla:

En el asistente de configuración de la VM tendremos que elegir la imagen ISO de IPFire, seleccionar que el sistema operativo es un Linux basado en Ubuntu 64bit, aunque también podría elegir un Debian última versión, funcionará igualmente. En el siguiente menú elegimos la ruta de la VM, el disco reservado para la máquina virtual, y por último, veremos un resumen de todo el hardware que tendrá esta máquina virtual que vamos a crear.

Antes de finalizar, debemos pinchar en «Customize Hardware» para añadir una tarjeta de red adicional, y configurar las tarjetas de red correctamente.

Independientemente del número de CPU y núcleos (os recomendamos 1 CPU y 2 Cores), y de memoria RAM (os recomendamos mínimo 2GB), tenemos que añadir una segunda tarjeta de red, porque tendremos la WAN de Internet (red) y la LAN (green). Pinchamos en «Add» y pinchamos en «Network Adapter» para añadirla.

Una vez que tengamos las dos añadidas, tendremos que configurarlas de la siguiente forma:

  • Adaptador 1: custom VMnet1 (Host-only)
  • Adaptador 2: bridge (automatic)

A continuación, podéis ver cómo quedaría esta configuración.

En el sistema operativo Windows 10, debemos irnos a «Panel de control / Centro de redes y recursos compartidos / Cambiar configuración del adaptador» y cambiamos la dirección IP al adaptador VMware Network Adapter VMnet1, poniendo la IP 192.168.1.2/24 tal y como podéis ver a continuación. Una vez hecho, pinchamos en aceptar y aceptar para salir del menú de configuración.

Una vez que ya lo tenemos todo configurado a nivel de máquina virtual, podemos ejecutar la máquina virtual para empezar con la instalación.

Instalación de IPFire en VMware

Cuando arrancamos la máquina virtual, podremos ver un menú de instalación muy fácil a través de interfaz gráfica de usuario, tendremos que seleccionar la primera opción «Install IPFire 2.25», o simplemente esperar unos segundos porque se va a ejecutar automáticamente cuando pase este tiempo

Una vez que arranque la instalación de este sistema operativo, tendremos que definir el idioma de la instalación, tenemos disponible idioma español por lo que no tenemos ningún problema con el idioma. A continuación, nos dará la bienvenida a la instalación y tendremos un botón para comenzar la instalación, por los diferentes menús debemos movernos con el tabulador, barra espaciadora para seleccionar opciones, y con el «enter» para los botones de OK o cancelar.

En estos menús también nos indicará que el disco duro que tenemos se borrará con todos los datos, deberemos elegir el sistema de archivos de la instalación, es recomendable que sea EXT4 que es el más típico en sistemas operativos Linux. Una vez que lo hayamos seleccionado, se empezará a instalar el sistema operativo y en menos de un minuto ya lo tendremos disponible. A continuación, nos indicará que se ha instalado con éxito, y necesitará que reiniciemos IPFire. Una vez que reiniciemos, arrancará nuevamente y seguirá ejecutando este asistente de instalación.

En los siguientes menús deberemos elegir el tipo de teclado, la zona horaria, el nombre del host del propio IPfire, y también el nombre de dominio del sistema operativo.

A continuación, deberemos introducir tanto la contraseña de root como la de admin, la contraseña de root nos servirá para acceder por consola o SSH, y la de admin para la interfaz gráfica de usuario. Un detalle muy importante, es que cuando introducimos la contraseña en el campo de contraseña no se ve reflejada la clave, ni siquiera con asteriscos, deberemos meterla a «ciegas» por seguridad, para evitar que otros usuarios puedan ver la longitud de la clave.

El menú principal de configuración de IPFire tiene un total de cuatro opciones, las cuales deberemos configurar para empezar a trabajar con el sistema operativo orientado a firewalls:

  • Tipo de configuración de red: aquí deberemos elegir entre GREEN+RED, GREEN+RED+ORANGE, GREEN+RED+BLUE, GREEN+RED+ORANGE+BLUE. Lo más normal es tener GREEN+RED, sin DMZ ni nada, pero posteriormente podremos configurarlo sin problema en el propio sistema operativo. En este tutorial veremos cómo hacerlo con GREEN+RED, es decir, dos interfaces de red.
  • Asignación de controladores y tarjetas: deberemos asignar las tarjetas de red a sus respectivas interfaces GREEN y RED. Es fundamental que la tarjeta de red en bridge la asignemos a RED, y la tarjeta de red en vmnet1 la asignemos a GREEN.
  • Configuración de dirección: configuraremos el servidor DHCP en GREEN, y el modo de conexión de Internet en RED.
  • Gateway Settings: esta opción solamente se usa si tenemos IP fija en RED.

Lo primero que haremos es seleccionar el tipo de configuración de red GREEN+RED, posteriormente, debemos introducirnos en GREEN y seleccionar la tarjeta de red.

¿Cómo podemos saber qué tarjeta de VMware está en modo bridge o en vmnet1? Con la dirección MAC, de esta forma, podremos asignar las tarjetas correctamente a las diferentes redes GREEN y RED. En el VMware pinchamos en «Virtual Machine Settings», seleccionamos una tarjeta de red, y pinchamos en «Advanced…» en la parte inferior derecha. Aquí nos saldrá la dirección MAC, en nuestro caso, la primera se corresponde con GREEN, y la segunda con RED (por descarte es así, solamente necesitamos saber la MAC de una de las tarjetas).

Una vez que las hayamos asignado, nos aparecerán de la siguiente forma:

En la sección de «Configuración de dirección» es donde tendremos que configurar la LAN de la interfaz GREEN, y la configuración de Internet de la interfaz RED. A continuación, podéis ver todos los menús, en nuestro caso, la LAN la hemos configurado con la IP 192.168.1.1, para acceder desde la interfaz 192.168.1.2 que hemos configurado en la VMnet1 anteriormente.

En «Gateway Settings» no tendremos que poner nada, a no ser que tengáis IP fija en la interfaz RED. A continuación, nos indicará si queremos activar el servidor DHCP, podremos activarlo y configurarlo, pero posteriormente también lo vamos a poder configurar sin ningún tipo de problema. Una vez que lo hayamos completado, nos indicará que la instalación está completada.

En cuanto completemos el asistente, automáticamente el sistema operativo arrancará con todas las configuraciones aplicadas, y podremos iniciar sesión a través de consola con el usuario root. En caso de querer acceder vía web, tendrás que poner en la barra de direcciones lo siguiente: https://192.168.1.1:444, es muy importante que pongamos el puerto 444 con HTTPS, independientemente de la dirección IP privada que tenga.

Una vez que ya lo hemos instalado, ahora os vamos a enseñar los principales menús de configuración disponibles.

Opciones de administración de IPFire

Para poder acceder al sistema operativo IPFire vía web, tenemos que introducir la siguiente URL en la barra de direcciones del navegador: https://192.168.1.1:444, si hemos elegido otra dirección IP, podremos entrar siempre y cuando utilicemos HTTPS y el puerto 444 que viene preconfigurado. Por supuesto, los navegadores web detectarán que el certificado digital no se reconoce, pinchamos en acceder al sitio y añadir la excepción.

Una vez que introduzcamos la contraseña de acceso de IPFire, accederemos al menú principal del sistema operativo. En el el menú principal podremos ver la interfaz RED de Internet y también la LAN (GREEN), y su configuración. En la barra superior tendremos los diferentes menús y configuraciones que podremos hacer.

En la sección de «Sistema» podremos acceder al servicio de email, acceso de SSH, copia de seguridad de la configuración, configuraciones de la interfaz gráfica de usuario, información del sistema, si tenemos vulnerabilidades en el hardware, y también apagar el sistema operativo.

En la parte de «Status» podremos ver el estado del sistema, memoria, los servicios, medios físicos que tenemos, las opciones de red externas e internas, opciones de red (otras), el estado de las OpenVPN, gráficas de hardware, entropía, conexiones, el tráfico de Internet y mdstat. Es decir, desde aquí podremos ver el estado global del sistema operativo. Por ejemplo, en la sección de «Net-traffic» podremos ver una gráfica con el tráfico en tiempo real de Internet, y en la sección de «Conexiones» todas las conexiones establecidas con muchas opciones disponibles de visualización.

En la sección de «Red» es donde podremos configurar las diferentes zonas de red, configurar los DNS, el proxy web, el filtrado de contenido, servidor DHCP, portal cautivo, editar hosts, DNS forwarding, configurar rutas estáticas, WoL y otras opciones de configuración.

Este sistema operativo orientado a firewall dispone de dos tipos de VPN, tanto IPsec con diferentes configuraciones avanzadas, como también OpenVPN. Por supuesto, disponemos de la posibilidad de configurar el NTP para que todos los equipos pregunten la hora a dicho firewall.

Otras opciones disponibles son las de configurar el QoS, y también la posibilidad de añadir unidades externas, ya sea vía USB o directamente con SATA3 en el interior del servidor.

En la sección de «Firewall» es donde tendremos la posibilidad de configurar todas las reglas, IPFire está basado en iptables, por tanto, por «debajo» hace uso del popular firewall de sistemas operativos Linux. Podremos configurar nuevas reglas, cadenas, e incluso podremos agrupar diferentes hosts o redes para aplicarles una configuración específica. A nivel de configuraciones de firewall, este IPFire es tan completo como iptables, no obstante, en caso de no tener alguna configuración vía web, siempre vamos a poder acceder vía SSH para realizar configuraciones más avanzadas.

Este sistema operativo también dispone de un avanzado IDS y IPS, con el objetivo de detectar y prevenir las intrusiones, hace uso del popular SNORT, por lo que tendremos una gran cantidad de opciones de configuración avanzadas, sobre todo si entramos vía SSH ya que el menú de configuración web no dispone de muchas funcionalidades. También tendremos la opción de permitir o bloquear el acceso a diferentes redes P2P como BitTorrent, Ares o EdonKey entre otros. Por supuesto, podremos bloquear países enteros de manera fácil y rápida, así como instalar una tarjeta WiFi y generar un punto de acceso WiFi para proporcionar conectividad inalámbrica.

En la sección de «IPtables» podremos ver todas las reglas de todas las cadenas y tablas a bajo nivel, de esta forma, podremos saber en todo momento qué está ocurriendo. También tendremos la posibilidad de instalar software adicional en IPFire para ampliar las posibilidades de este firewall tan potente. Por último, los logs en un firewall es algo fundamental, este sistema operativo nos permitirá ver y enviar los logs a un servidor syslog para su posterior estudio.

Tal y como habéis visto, IPFire es un sistema operativo orientado a firewall muy completo, el cual nos permitirá proteger todas las comunicaciones domésticas y de pequeñas y medianas empresas. Debemos recordar que este IPFire está basado en Linux, y hace uso de IPtables, ya que otros sistemas operativos similares están basados en FreeBSD.

Esperamos que con este completo tutorial de IPFire, podáis proteger más vuestra red, y configurar en detalle su seguridad.