Configuración avanzada de reglas de firewall en pfSense para redes IPv4 TCP/UDP

La configuración de reglas de firewall en pfSense es una pieza fundamental para controlar y proteger el tráfico de red en entornos corporativos o domésticos. En particular, establecer reglas que permitan o bloqueen el tráfico TCP/UDP sobre interfaces específicas, como una red interna, es crucial para mantener la seguridad y garantizar un flujo adecuado de datos. Esta configuración permite definir criterios claros sobre qué paquetes deben ser aceptados o descartados, basándose en parámetros como la dirección de origen, el protocolo y la interfaz de entrada.

Campos principales

A continuación, se describen los campos más relevantes de esta configuración de regla de firewall en pfSense:

  • Action: Determina la acción que el firewall tomará sobre los paquetes coincidentes. La opción Pass permite que los paquetes pasen sin restricción, mientras que existen opciones como Block o Reject para bloquearlos o rechazarlos activamente.
  • Disabled: Permite habilitar o deshabilitar temporalmente la regla sin eliminarla, ideal para pruebas o cambios temporales.
  • Interface: Especifica la interfaz de red desde la que deben provenir los paquetes para que la regla sea aplicada. En este caso, la interfaz seleccionada es INTERNA, comúnmente asociada con la red LAN o zona confiable.
  • Address Family: Define la familia de protocolos IP a la que se aplicará la regla. La elección IPv4 indica que la regla filtra tráfico IPv4 exclusivamente.
  • Protocol: Selecciona el protocolo de red a filtrar. La opción TCP/UDP cubre ambos protocolos principales de transporte, permitiendo un control unificado en la regla.
  • Source: El origen del tráfico que será afectado por la regla. Aquí está configurado para coincidir con la red interna (INTERNA net), restringiendo el filtrado a este segmento.
  • Source Port Range: Por defecto en esta configuración generalmente permanece en cualquier puerto desde el origen, puesto que los puertos de origen suelen ser aleatorios y no se filtran comúnmente salvo casos especiales.

Compatibilidad de versiones y modelos

Esta configuración es compatible con la mayoría de las versiones modernas de pfSense, típicamente desde la versión 2.3 en adelante, donde la interfaz gráfica y la gestión de reglas se estandarizaron en el formato mostrado. Se aplica en modelos de hardware variados, desde appliances dedicados de Netgate hasta instalaciones basadas en hardware genérico x86 o virtualizadas.

No existen limitaciones significativas en cuanto a hardware para esta funcionalidad básica de reglas, aunque el rendimiento puede variar según la capacidad del dispositivo y la complejidad del conjunto de reglas activas. La gestión eficiente de reglas es esencial en dispositivos con recursos limitados.

Escenarios de uso y recomendaciones

Este tipo de regla es común en escenarios donde se desea permitir el tráfico interno saliente o comunicaciones entre segmentos de red confiables, sin restringir protocolos TCP o UDP esenciales para servicios como HTTP, DNS, DHCP o aplicaciones corporativas internas.

Sin embargo, es importante evaluar riesgos tales como permitir tráfico no deseado si la red interna está comprometida o no segmentada adecuadamente. Por ello, se recomienda complementar con reglas adicionales que limiten ciertos puertos o servicios específicos, o implementar inspección profunda de paquetes y listas de control más restrictivas.

Además, activar opciones de logging para estas reglas puede facilitar la auditoría y análisis ante posibles incidentes o comportamientos sospechosos.

Comandos de CLI útiles para diagnóstico

El CLI de pfSense ofrece comandos eficaces para revisar y diagnosticar reglas de firewall:

  • pfctl -sr: Muestra las reglas actualmente activas en pf (el motor de filtrado de paquetes de pfSense), facilitando su revisión rápida.
  • pfctl -s state: Lista las conexiones actuales gestionadas por el firewall, útil para validar si el tráfico está siendo permitido o bloqueado.
  • tcpdump -ni INTERNA: Permite capturar tráfico en tiempo real en la interfaz interna para verificar el flujo de paquetes TCP/UDP.
  • clog /var/log/filter.log | tail -50: Muestra las últimas entradas del log del firewall, donde se registran eventos de bloqueo o permitidos según las reglas configuradas.

Buenas prácticas de configuración

Al configurar reglas en pfSense para redes internas, se recomienda:

  • Definir reglas específicas y ordenarlas adecuadamente, ya que pfSense procesa las reglas en orden, deteniéndose al encontrar la primera coincidencia.
  • Evitar reglas demasiado permisivas que puedan abrir vulnerabilidades, incluso dentro de redes consideradas confiables.
  • Utilizar alias o grupos para direcciones IP, servicios o puertos, facilitando la gestión y mantenimiento de las reglas.
  • Aplicar controles de logging selectivos para detectar anomalías sin sobrecargar los registros con información irrelevante.
  • Probar siempre las reglas después de su implementación para asegurar que no se interrumpa el tráfico legítimo ni se permita tráfico no autorizado.
  • Actualizar pfSense y sus paquetes regularmente para beneficiarse de mejoras y correcciones de seguridad relacionadas con el motor de firewall.