13 marzo, 2025

Firewall OpenSoruce: pfSense en VMWare


--== TABLA DE CONTENIDO ==--

Intro

Instalación

Post instalación

Configuración GUI

Otras configuraciones

Configurar clave a la consola

Configurar el acceso al webadmin desde WAN

Desactivar packet filtering  (debug)

Interfaz DMZ

Referencias

 Necesitaba aislar algunos equipos en mi entorno virtual, para ello es necesitaba un FIREWALL 

 

Intro

pfSense​ es una distribución personalizada de FreeBSD adaptado para su uso como firewall y router. Se caracteriza por ser de código abierto, puede ser instalado en una gran variedad de ordenadores, y además cuenta con una interfaz web sencilla para su configuración.


Instalación

  1. Bajar la ISO de pfSense Community Edition   AMD64 (64-bit) DVD image (ISO)
  2. Subir la ISO al datastore con vSphere
  3. Crear la maquina virtual con las siguientes caracteristicas:
    • Guest OS Family= Ohter
    • Guest OS Version = FreeBSD 13 or later version (64-bit)
    • CPU = 1
    • Memory = 1 Gb
    • Hardisk = 8 Gb
    • SCSI COntroller = LSI Logic Parallel
    • Network Adapter = según la cantidad de interfaces que necesitamos (en mi caso 3: LAN, WAN y DMZ)
    • Port group , asignar el port group a cada interfaz
  4. Finish el wizard
  5. Iniciamos la VM y bootea de la ISO
  6. Aceptamos el EULA
  7. Seleccionamos Install pfSense
  8. Configuramos keyboard layout (enter para usar default)
  9. Seleccionar particionado, selecciono Auto (UFS) BIOS
  10. Comienza la instalación, tarda unos 10 min sobre el disco
  11. Respondemos No , ya que no queremos abrir una shell
  12. Damos Reboot para reiniciar e iniciar el pfSense


Post instalación

Al iniciar por primera vez nos va mostrar las interfaz con su nombre y mac address y nos va consultar si queremos configurar las VLAN le decimos que NO


Ahora va preguntar que interfaz corresponde a mi WAN, cual a mi LAN y cual a mi DMZ (OPT1), cada uno le vamos a colocar el nombre de la interfaz que nos aparece al principio que iniciamos y en base a lo que le configuramos la virtual.


Una vez configuradas , le damos y para confirmar y finalziar el proceso


Listo, ya tenemos la configuración inicial de pfSense. Queda la consola sin clave y las opciones

 

Configuración GUI

La configuración web se habilita en forma predeterminada desde la LAN 


Por defecto para el primer ingreso

Usuario: admin

Password: pfsense


Al ingresar comienza el wizard 

 

 

 

Nos pide colocar:

  • Información general (DNS, dominio, hostname)
  • NTP y timezone (es importante para los logs y ACL por tiempo)
  • Parámetros del WAN Interfaz (en mi caso use IP estática)
  • Parámetros de LAN Interfaz (defini mi rango LAN)
  • Configuración de la password administrador
  • Reload and Finish


Nos motrará el dashboard inicial

De forma predeterminada, la LAN tiene acceso a la WAN , desde la WAN no permite el ingreso. Las interfaces adicionales (mi caso DMZ) no aparecen para configurar en el wizard por lo que nos toca configurar a mano


Otras configuraciones

Configurar clave a la consola

Ir al menú System -> Advanced -> Console Options -> Console menu -> Password protect the console menu


Configurar el acceso al webadmin desde WAN

En mi caso particular, mi WAN era mi red (no Internet) por lo que necesitaba la gestión desde esa interfaz. Aunque lo ideal es usar una VPN o túnel SSH, en mi caso asumo el riesgo ya que es un laboratorio y quiero simplificar.


La configuración predeterminada permite el acceso de webadmin desde cualquier máquina en la LAN y lo niega a cualquier cosa fuera de la red local.

Para ello hay que crear una rule en el firewall:

  1. Ir a Interfaces y desactivar la opción "Block private networks and loopback addresses" y click en Save para guardar.
  2. Click en Add Firewall Rule option bajo la tab de Rules
  3. Next, enter the following Firewall Rule settings:
    • Action: pass
    • Interface: WAN
    • Address Family: Ipv4
    • Protocol: TCP
  4. Configuramos en Source Settings como Any. Despues
  5. Configurar Destination Settings de la siguiente forma:
    • Destination: WAN Address
    • Destination port range: HTTP (o el puerto que este configurado)
    • Description: Allow remote management from anywhere (Dangerous!)
  6. Click en Save para agregar la regla.


Desactivar packet filtering  (debug)

En alguna occasions es necesario hacer algún diagnostico y se debe desactivar el packer filtering (literalmente estamos desactivando la capacidad de firewall) para ellos desde la consola podemos correr

Iniciamos la consola SSH del firewall


Elegimos la opción 8 (shell)

Para desactivar ❌

pfctl -d

Para activarlo nuevamente ✅

pfctl -e


Interfaz DMZ

Esto aplica también para cualquier otra interfaz que se quiera agregar, pero es típico que un firewall cuente con una zona desmilitarizada para separar de la LAN y exponer algunos servicios por la WAN (principio de segmentación)


Diagrama típico de una DMZ

Recordar que mi VM ya tenia una tercera interfaz que voy a usar para la DMZ


  • Ir a  Interfaces -> Assignments
  • Click en el botón  +Add  para agregar la interfaz (DMZ)

  • Click en Save 
  • Despues que la interfaz OPT1 fue creada, click sobre OPT1 para configurarla.


  1. Tildar Enable interface  (esto activa la interfaz)
  2. Cambiar el nombre de la interfaz a DMZ
  3. Seleccionar Static IPv4 (se puede usar también DHCP, pero necesitaba que sea estática)
  4. En IPv4 Address colocar la dirección IP que queremos asignar
  5. Assign a Subnet Mask
  6. Click en Save
  7. Click en Apply Changes

Volver a  Interfaces -> Assignments, para comprobar que fue creada la interfaz.


Haciendo fluir el tráfico en la intefaz

Cuando se crea una nueva interfaz, viene sin ninguna regla, lo que significa que todo el tráfico será bloqueado por default.

Ir a Firewall -> Rules -> DMZ click en el botón ↑Add  para crear una nueva regla.


Aquí se rellena los campos según la dirección del tráfico (origen a destino), IPs y protocolo. Ejemplo con ICMP (ping). En Action coloca Pass (para permitir el tráfico)



Referencias

  • https://www.virtualizationhowto.com/2022/03/deploy-pfsense-vmware-step-by-step/
  • https://www.wundertech.net/how-to-set-up-a-dmz-in-pfsense/ 
  • https://www.youtube.com/watch?v=Z-hkaDTgArU
  • https://en.wikipedia.org/wiki/PfSense 
  • https://forum.netgate.com/topic/109653/password-protect-the-console-menu
  • https://techexpert.tips/pfsense/pfsense-protect-console-access/
  • https://docs.netgate.com/pfsense/en/latest/recipes/remote-firewall-administration.html
  • https://bobcares.com/blog/pfsense-allow-web-gui-from-wan/
  • https://www.netgate.com/resources/videos-creating-a-dmz-on-pfsense
  • https://www.ceos3c.com/pfsense/how-to-create-a-dmz-with-pfsense-2-4-2/

0 comments:

Publicar un comentario