pfSense: Configuración de un firewall

Presentación

En este tutorial voy a explicar cómo configurar un lugar sentidopf que es una distribución que permite configurar un firewall perimetral.

pfSense es una bifurcación basada en m0n0wall, que se basa en FreeBSD.

pfSense integra las características estándar de los firewalls de código abierto:

  • Filtrado de flujo entrante y saliente
  • Proxy basado en Squid
  • Enrutamiento
  • Servidor VPN
  • Servidor DHCP
  • Servidor DNS

Es posible agregar funciones a pfSense agregando complementos (proxy inverso, Snort, etc.).

Requisitos previos

Para instalar pfSense, necesitas una computadora (física o virtual) con al menos dos tarjetas de red:

  • LAN
  • PÁLIDO

En este tutorial, mi interfaz WAN utilizará DHCP.

En cuanto a los recursos de CPU/RAM y disco, esto dependerá principalmente de la cantidad de dispositivos y funciones que actives.

Para espacio en disco, permita un mínimo de 20 GB.

Aquí utilizaré una máquina virtual bajo VMware.

Comience descargando el ISO de pfSense: https://www.pfsense.org/descargar/

Instalación de pfSense

Arrancar desde la ISO.

Acepte el acuerdo de licencia.

Seleccione Instalar.

Seleccione el tipo de partición, aquí será Automático (ZFS).

Seleccione la opción Instalar.

Teniendo solo un disco, elegiré Stripe.

Seleccione el disco (barra espaciadora) y confirme.

Confirmar la escritura de información en el disco.

Por favor espere mientras la instalación está en progreso…

Una vez completada la instalación, deberá reiniciar.

Elimina el archivo ISO de la computadora y espera a que se reinicie…

Una vez completado el reinicio llegamos a un menú que nos permite configurar el firewall pfSense.

Configuración posterior a la instalación de pfSense

pfSense está instalado, pero las interfaces de red no están configuradas correctamente; te mostraré cómo hacer esta configuración desde la consola.

Cambiar la asignación de interfaces de red

Ingrese la opción 1 que corresponde a Asignar interfaces.

Indica si deseas configurar VLANs, para mí aquí es no.

Por favor, proporciónenme el nombre de la interfaz WAN. em1.

Especifique la interfaz LAN (em0)

Confirmar la aplicación de la configuración de la interfaz.

La asignación de interfaz es efectiva.

Configurar la dirección IP de una interfaz

Por defecto, pfSense asigna la dirección 192.168.1.1 a la interfaz WAN. En mi caso, no puedo acceder a la interfaz web del firewall porque esa es mi dirección de red local. Para solucionarlo, configuraré la dirección IP de la interfaz LAN de pfSense.

Ingrese a la opción de menú 2 (Establecer la dirección IP de la(s) interfaz(es).

Introduzca el número de la interfaz que desea configurar.

El asistente me pregunta si quiero que la dirección sea asignada por DHCP; por mi parte no, vamos a utilizar una dirección estática.

También podríamos haber configurado la interfaz en DHCP para tener una dirección IP en la LAN si hay un servidor DHCP presente y luego hacer la configuración final a través de la interfaz web.

Introduzca la dirección IPv4, su máscara en formato CIDR y presione Enter para el gateway.

Ignorar la configuración IPv6 de la interfaz.

A continuación, configure el servidor DHCP y responda sí (y) a la pregunta ¿Desea volver a HTTP como protocolo de configuración web?

Una vez aplicada la configuración presione Enter.

La instalación está completa.

Primera conexión a la interfaz web de pfSense

Ahora que las interfaces están configuradas, podremos acceder a la interfaz web del firewall.

Como muchos firewalls, en la primera conexión se iniciará un asistente para realizar la configuración básica de pfSense.

Desde un navegador web, ingrese la dirección IP LAN del firewall (http://lan-ip).

Formulario de inicio de sesión de pfSense

La información de inicio de sesión predeterminada es:

  • Nombre de usuario: administrador
  • Contraseña: pfsense

En la primera conexión, llegará a un asistente de configuración, en el primer paso, haga clic en Siguiente 1.

El segundo paso es presentar el soporte de Netgate, hacer clic en Siguiente 1.

Configure el nombre del firewall 1, el dominio 2, especifique los servidores DNS 3 marcando la casilla Anular DNS 4 y haga clic en Siguiente 5.

Configure la zona horaria 1 y haga clic en el botón Siguiente 2.

Verifique la configuración de la interfaz WAN y luego haga clic en el botón Siguiente 1 en la parte inferior de la página.

Verifique la configuración de la interfaz LAN y haga clic en Siguiente 1.

pfSense fuerza, el cambio de la contraseña por defecto, ingrese una nueva contraseña 1 para la cuenta de administrador y haga clic en el botón Siguiente 2.

La configuración está completa, haga clic en Recargar 1 para aplicar los cambios.

Haga clic en Finalizar 1 para salir del asistente de configuración.

Finalmente, durante la redirección aparecerán dos ventanas, en la primera pulsamos Aceptar para validar la licencia y luego pulsamos Cerrar.

Llegamos al panel de control del firewall.

Ahora procederemos a configurar el firewall.

Configuración de pfSense

En esta sección, repasaremos diferentes configuraciones para configurar el firewall.

Reglas predeterminadas

De forma predeterminada, se han creado reglas que bloquean todo el tráfico procedente de Internet (WAN) y permiten todo el tráfico de LAN a Internet (WAN).

Para acceder a las reglas, desde el menú haga clic en Firewall 1 y luego en Reglas 2.

Al hacer clic en WAN 1 se muestran las reglas de la interfaz WAN:

No existe una regla explícita para el bloqueo, porque por defecto se bloquea aquello que no está explícitamente permitido.

Al hacer clic en LAN 1, accederá a las reglas de la interfaz.

Configuración de un servidor DHCP en la interfaz LAN

Esta parte es opcional si ya tiene un servidor DHCP en su red. En ese caso, verifique que la puerta de enlace distribuida sea la dirección IP de la interfaz LAN del firewall.

Para configurar el servidor DHCP, vaya a Sistema 1 / Avanzado 2.

Luego haga clic en Redes 1.

Al momento de escribir este tutorial, pfSense ofrece dos servidores DHCP (Kea DHCP e ISC DHCP). Seleccione Kea DHCP 1, vaya al final de la página y haga clic en Guardar 2.

Desde el menú, vaya a Servicios 1 y luego a Servidor DHCP 2.

Marque la casilla Habilitar servidor DHCP en la interfaz LAN 1.

Ajuste el grupo de direcciones 1 si es necesario, configure el(los) servidor(es) DNS 2, en Dirección de puerta de enlace 3 ingrese la dirección LAN del firewall y en la parte inferior de la página haga clic en Guardar 4.

Haga clic en el botón Aplicar cambios 1.

Para probar que funcionaba correctamente, conecté una computadora a la sección LAN y obtuve una dirección como se puede ver en los contratos DHCP.

Para acceder a las concesiones DHCP, desde el menú Estado, haga clic en Concesiones DHCP.

configuración DNS

Este paso es necesario si está utilizando el firewall como servidor DNS.

Haga clic en Sistema 1 y luego en Configuración general 2.

En la sección Configuración del servidor DNS, seleccione Usar servidores DNS remotos, ignorar el DNS local y luego haga clic en Guardar en la parte inferior de la página.

Esta opción permite que las consultas DNS se reenvíen directamente a los servidores configurados.

Pruebe el firewall conectándose a Internet

Ahora que todo está listo, podemos probar el paso a través del firewall.

Desde una computadora cliente, intente acceder a Internet.

Para mí todo funciona, puedo acceder a Internet.

Paralelamente, los gráficos de tráfico se pueden ver en el panel del firewall.

Por defecto los gráficos no se muestran, es necesario personalizar el dashboard haciendo click en el + en la parte superior a nivel de breadcrumb.

Configurar el proxy Squid en modo transparente en pfSense

En esta sección, veremos cómo configurar Squid en pfSense en modo transparente para tráfico HTTP/HTTPS.

Requisitos previos para utilizar el proxy

Para utilizar correctamente el proxy SQUID, especialmente para la parte SSL, se debe utilizar pfSense como servidor DNS.

Tienes a tu disposición varias soluciones:

  • Configure pfSense como servidor DNS en las computadoras.
  • Si está utilizando servidores DNS de Windows, configúrelos de la siguiente manera reenviador de DNS El firewall pfSense.

Creación de la autoridad de certificación

Antes de configurar el proxy, crearemos una autoridad de certificación que se utilizará para la parte HTTPS.

Vaya a Sistema 1 / Certificados 2.

Haga clic en el botón Agregar 1.

Rellene los distintos campos para su creación y haga clic en Guardar.

Se crea la autoridad de certificación.

Instalación de Squid en pfSense

De forma predeterminada, Squid no está instalado en pfSense.

Vaya a Sistema 1 y haga clic en Administrador de paquetes 2.

Haga clic en «Paquetes disponibles» 1 para acceder a los paquetes disponibles. Busque «squid» 2 y haga clic en el botón «Instalar» 3 correspondiente al paquete de squid.

Haga clic en el botón Confirmar 1.

Por favor espere mientras la instalación está en progreso…

Squid está instalado.

Si vamos a Paquetes instalados, podremos ver squid.

Configuración de calamar

Se puede acceder a la configuración a través del menú haciendo clic en Servicios y luego en Squid Proxy Server.

Configuración de caché

Para trabajar en pfSense, es necesario configurar la parte Caché local 1.

En la sección de configuración de caché de disco duro de Squid, configure el tamaño de caché en el disco (Tamaño de caché de disco duro) 1 y la ubicación de caché (Ubicación de caché de disco duro) 2 con el valor /var/squid/caché.

Luego vaya al final de la página y haga clic en Guardar 1.

Configuración del proxy HTTP/HTTPS en modo transparente

En la sección Configuración general de Squid, marque la casilla Habilitar proxy de Squid 1 y la casilla Resolver DNS IPv4 primero 2.

En la sección Configuración de proxy transparente, marque la casilla Proxy HTTP transparente 1.

En la sección Filtrado de intermediario SSL, marque la casilla Intercepción HTTPS/SSL 1, Modo SSL/MITM elija Lista blanca de empalmes, Bloquear en caso contrario 2, en el campo CA 3 elija la autoridad de certificación creada previamente.

Dependiendo del modo elegido, el tráfico SSL solo se analiza (SPLICE ALL) y no requiere instalar el certificado CA, y el modo BUMP descifrará el tráfico SSL y permitirá un análisis más avanzado, como pasar por el antivirus.

Vaya al final de la página y haga clic en Guardar.

El proxy SQUID está configurado.

Prueba de proxy SQUID

Ya solo queda probar nuestro proxy.

El descifrado HTTPS es bastante poco confiable; no funciona en sitios web que utilizan una CDN porque el sistema no puede vincularlo a una dirección IP/URL.

Si tienes la configuración correcta para aplicar te lo agradecería.

En una computadora, inicie un navegador de Internet y vaya a Facebook (https://www.facebook.com), normalmente debería obtener un error de SSL.

Si observamos el certificado SSL, podemos ver que proviene de la autoridad del firewall, por lo que el tráfico se ha descifrado correctamente.

Para evitar este error, debe instalar el certificado de firewall en el Ordenadores en la tienda de informática: Autoridades de certificación de confianza.

Comience exportando el certificado, vaya a Sistema / Certificado.

Desde la lista de certificados, haga clic en el icono de exportación de la autoridad de certificación utilizada por Squid.

Para instalar el certificado en el equipo, para su implementación mediante GPO, puede seguir este tutorial: GPO: Implementar un certificado

Cierra el navegador y vuelve a abrirlo y ve a Facebook, la página se muestra normalmente y puedes ver que el certificado fue emitido por Squid.

Al mismo tiempo, puedes monitorear el tráfico en tiempo real de Squid en la sección Tiempo real de la configuración.


Este primer tutorial dedicado a pfSense termina aquí; ahora ya sabes cómo implementar un firewall y configurar un proxy transparente para controlar el tráfico saliente.

Se están preparando otros tutoriales donde veremos:

  • Bloquear el acceso a ciertos sitios web con Squid y SquidGuard
  • Publicar un servidor en Internet
  • Implementar mecanismos de seguridad.

Romain Drouche
Arquitecto de sistemas | MCSE: Infraestructura básica
Experto en infraestructura de TI con más de 15 años de experiencia en el sector. Actualmente, como Gerente de Proyectos de Sistemas y Redes y experto en Seguridad de Sistemas de Información (ISS), utilizo mi experiencia para garantizar la fiabilidad y seguridad de los entornos tecnológicos.

Deja un comentario