Configuración de Reglas en pfSense desde la Consola

PfSense es una plataforma de firewall de código abierto basada en FreeBSD que se puede configurar a través de su interfaz gráfica de usuario (GUI) o mediante la línea de comandos (CLI). A pesar de que la GUI es la forma más común y accesible para configurar reglas en pfSense, hay situaciones donde es necesario usar la consola, especialmente para la automatización o para solucionar problemas.

En la línea de comandos de pfSense, utilizamos el shell de FreeBSD, donde podemos editar archivos de configuración directamente o usar herramientas específicas de pfSense. A continuación, se muestran algunos ejemplos de cómo configurar reglas en pfSense desde la consola:

1. Acceso a la Consola de pfSense

Primero, necesitas acceder a la consola de pfSense. Esto se puede hacer físicamente desde el equipo, a través de SSH, o utilizando una consola serial si está configurada.

Una vez dentro, puedes entrar en el modo shell ejecutando el comando:

8) Shell

2. Configurar Reglas de Firewall mediante Archivos de Configuración

En pfSense, las reglas de firewall se configuran y almacenan en el archivo /cf/conf/config.xml.

Nota: Editar este archivo directamente puede ser de mucho riesgo y puede corromper tu configuración si no se hace correctamente. Siempre se recomienda realizar una copia de seguridad antes de realizar cambios.

Ejemplo 1: Añadir una regla de firewall básica

Supongamos que queremos permitir el tráfico HTTP desde cualquier dirección IP de origen hacia un servidor interno con IP 192.168.1.100.

Podemos editar el archivo config.xml de la siguiente manera:

  1. Acceder al archivo con un editor de texto como vi o nano: vi /cf/conf/config.xml
  2. Buscar la sección <filter> y agregar una entrada en <rule>: <rule> <interface>lan</interface> <ipprotocol>inet</ipprotocol> <protocol>tcp</protocol> <source> <any/> </source> <destination> <network>192.168.1.100</network> <port>80</port> </destination> <descr>Permitir HTTP hacia 192.168.1.100</descr> <action>pass</action> </rule>
  3. Guardar los cambios y reiniciar el servicio de firewall para que la nueva configuración entre en vigor: pfctl -f /cf/conf/config.xml

3. Usar pfctl para Configurar Reglas

pfctl es una herramienta de línea de comandos en FreeBSD para gestionar pf (Packet Filter), el sistema de firewall de FreeBSD utilizado por pfSense.

Ejemplo 2: Añadir una regla de bloqueo temporal

Si necesitas añadir una regla temporal para bloquear una IP específica, puedes hacerlo directamente con pfctl:

  1. Bloquear el tráfico desde una IP específica (por ejemplo, 203.0.113.5): pfctl -t bloqueados -T add 203.0.113.5
  2. Ver la tabla de IPs bloqueadas: pfctl -t bloqueados -T show
  3. Remover una IP de la tabla de bloqueo: pfctl -t bloqueados -T delete 203.0.113.5

4. Uso de Comandos easyrule en la Consola

easyrule es una herramienta de línea de comandos en pfSense que simplifica la adición de reglas de firewall.

Ejemplo 3: Permitir tráfico desde una IP específica

Para permitir el tráfico desde una IP específica (por ejemplo, 198.51.100.10) a cualquier destino en la LAN:

easyrule pass wan tcp 198.51.100.10

Este comando agrega una regla para permitir el tráfico TCP desde la IP 198.51.100.10 a través de la interfaz WAN.

Ejemplo 4: Bloquear tráfico hacia un puerto específico

Para bloquear todo el tráfico hacia el puerto 22 (SSH) en la interfaz WAN:

easyrule block wan tcp any 22

5. Programación de Reglas con Cron y Scripts

En algunos casos, puedes necesitar que una regla se aplique solo en ciertos momentos del día. Puedes utilizar cron junto con scripts de shell para esto.

Ejemplo 5: Bloquear tráfico en horas específicas

  1. Crear un script de shell que implemente la regla deseada, por ejemplo, block_port_22.sh: #!/bin/sh pfctl -t bloqueados -T add 192.168.1.10
  2. Hacer el script ejecutable: chmod +x /path/to/block_port_22.sh
  3. Añadir una entrada en cron para ejecutar el script en el horario deseado: crontab -e Añadir la línea para bloquear a las 10 PM todos los días: 0 22 * * * /path/to/block_port_22.sh

La configuración de pfSense a través de la consola puede ser poderosa, pero requiere precaución. Asegúrate de entender cada comando y tener copias de seguridad antes de realizar cambios. La GUI es generalmente más segura y fácil de usar para la mayoría de los usuarios, pero saber cómo trabajar con la consola puede ser invaluable en situaciones críticas o para la automatización avanzada.

Scroll al inicio
WordPress Appliance - Powered by TurnKey Linux