PFSense Schedules. Reglas temporizadas.

Vaya! Resulta que en la empresa compran un NAS para hacer backups por diferentes medios, pero quieren ponerlo en la LAN para que la velocidad sea máxima y el firewall no cree un cuello de botella.

Es un fastidio si quieres realizar backups de tus servidores que están en la DMZ, por que claro, a tí no te van a comprar uno de uso exclusivo y no es plan de abrir puertos hacia la LAN… o sí?

Este caso se me planteó hace un tiempo y la mejor solución que pude encontrar se basa en el uso de las reglas temporizadas del firewall. De esta manera, permitiremos comunicación de DMZ hacia LAN solo en los puertos y momentos necesarios.

En este ejemplo usaremos la herramienta de Plesk 9 Backup, un servidor FTP IIS6 y PFSense. A ver que pasa…

Primero de todo tenemos que tener claro qué queremos hacer, en qué sentido van a ir las conexiones, qué puertos vamos a utilizar y a qué hora. Con esta información podemos ponernos manos a la obra.

Queremos que esta comunicación entre redes sea lo más segura posible, por lo que tendremos en cuenta los siguientes aspectos:

  • Se supone que se tiene un usuario FTP creado que al loguear con él entramos en nuestro chroot, es decir, no podemos acceder a raiz del sistema ni modificar archivos fuera.
  • Aunque este servidor FTP no tenga acceso desde la WAN, configuraremos las tablas de acceso de IPs permitidas.
  • Especificaremos manualmente el rango de puertos para las conexiones pasivas usando valores poco comunes. Léase este documento de Microsoft. Lo pongo en Inglés porque el que está en Español se ha autotraducido y tiene fallos.

Vamos ahora con la configuración del PFSense. Primero vamos a definir el horario en que se activarán las reglas que crearemos posteriormente.

Creamos las reglas correspondientes al servicio FTP y al rango de puertos pasivos. Tan solo debemos especificar en el apartado de nuestra DMZ:

Regla 1

  • IP origen – Servidor Plesk.
  • Protocolo TCP.
  • Cualquier puerto de origen.
  • IP destino – Servidor FTP.
  • Puertos de destino – Puerto 21.

01

Regla 2

  • IP origen – Servidor Plesk.
  • Protocolos TCP/UDP.
  • Cualquier puerto de origen.
  • IP destino – Servidor FTP.
  • Puertos de destino -El rango pasivo.

02

Ahora que ya tenemos ambas reglas creadas definiremos un criterio de temporalidad en el apartado Firewall -> Schedules.  Añadiremos una nueva temporización y nos encontraremos con esta pantalla

03

En este ejemplo he dado a la regla el nombre “BACKUP_TEMPORIZADO 1″ y he definido un primer criterio que consiste en que se active todos los viernes, haciendo click en el nombre del día (color rojo pálido), y también los días martes 14 y miércoles 15. El horario programado es de 08:00 a 10:00 y el nombre que le he puesto es “por la mañana“. Si hacemos click en Add Time añadiremos esta programación a la lista de horarios de la regla.

04

Podemos crear reglas temporizadas con todas las programaciones que necesitamos. También es recomendable para paranoicos modificar las reglas cada cierto tiempo para que no sigan un patrón concreto. Hacemos click en Save y veremos como nuestra regla aparece en la lista.

05

Volvemos a las reglas creadas al principio y en el apartado Schedule seleccionamos la temporización que hemos creado.

06

Veremos como aparece la programación en la lista de las reglas. Si la programación está activa veremos un icono de pass (flecha verde) si no lo está veremos el icono del cuadrado rojo con la cruz.07

Ahora crearemos en el Plesk Backup Manager una programación de backup que coincida con la activación temporal de la regla. Según este ejemplo hemos abierto los puertos durante dos horas. Habría que calcular el tiempo estrictamente necesario para realizar la operación y ajustarlo al máximo para reducir riesgos.

08