Cómo monitorear la conexión a Internet de pfSense en busca de caídas

Cuando tenemos una conexión a Internet con un sistema operativo dirigido a entornos profesionales como pfSense, es totalmente necesario verificar externamente si la conexión a Internet funciona correctamente, para descartar problemas de configuración en los servidores VPN o en los túneles VPN que tengamos. configurado. Gracias a UptimeRobot podremos comprobar de forma remota si la conexión a Internet funciona bien, pero primero tendremos que realizar configuraciones muy específicas en pfSense para que el sistema operativo no detecte falsos ataques.

¿Qué es UptimeRobot y cómo monitoreará la conexión?

UptimeRobot es un servicio web completamente gratuito que nos permitirá monitorizar la conexión a Internet de forma remota, este servicio cuenta con decenas de servidores repartidos por todo el mundo, los cuales intentarán conectarse con nuestro equipo mediante TCP, UDP e incluso ICMP para comprobar que Internet la conexión funciona correctamente. La versión gratuita nos permite comprobar hasta 50 hosts en intervalos de 5 minutos, suficiente para un entorno doméstico y para pequeñas y medianas empresas, aunque es posible que en tu empresa necesites saber más rápidamente si se cae la conexión a Internet. . Si compras la versión premium podrás configurar intervalos de un minuto para comprobar si la conexión a Internet funciona bien y tendrás más hosts para monitorear, todos centralizados en la misma cuenta.

En este artículo ya hemos hablado en profundidad de este servicio anteriormente, sin embargo, si estamos utilizando un sistema operativo como pfSense, que es altamente configurable y es capaz de detectar ataques de denegación de servicio y ataques de fuerza bruta, es posible que detecte estas conexiones como sea posible. ataques y bloquear directamente la comunicación desde la IP de origen. Lo mismo ocurre si tenemos un IDS/IPS configurado en el propio pfSense, puede que lo detecte como una amenaza. Si el sistema operativo bloquea la dirección IP de origen y no “responde” a UptimeRobot, entonces detectará que la conexión a Internet está caída, cuando realmente es así, dándonos una alerta falsa.

Una característica que nos gustó mucho de UptimeRobot es que nos permitirá recibir notificaciones por correo electrónico, Telegram, Twitter, Slack, Microsoft Teams y más, por lo que siempre tendremos una notificación si hay algún problema. Además, siempre podremos instalar la aplicación oficial de UptimeRobot para Android e iOS:

UptimeRobot: ¡Monitorea cualquier cosa!Desarrollador:Tiempo de actividadRobotUptimeRobot: ¡Monitorea cualquier cosa!Desarrollador:itrinidad

Una vez que sabemos todo lo que UptimeRobot puede hacer por nosotros, veamos cómo configurar correctamente pfSense para evitar falsas alertas de ataques.

Configure pfSense para que UptimeRobot no esté bloqueado

Aunque UptimeRobot dispone de varios servidores repartidos por todo el mundo con el objetivo de monitorizar los diferentes hosts y evitar falsos positivos, en muchos casos esto no es suficiente, sobre todo si tenemos muy bien configurado nuestro firewall pfSense. Todas las comprobaciones que realiza UptimeRobot se realizan desde Dallas-Estados Unidos, sin embargo, cuando se detecta una caída, el resto de nodos del mundo comprobarán si realmente la conexión ha caído o no. Sin embargo, en este artículo hemos comprobado que esto no es suficiente si usas pfSense, ya que continuamente nos indica que la conexión a Internet funciona correctamente, y que se ha caído, la comprobación oscila entre ambos estados.

En nuestro caso, la verificación de si la conexión a Internet está activa se realiza con unas «comprobaciones» en el servidor SSH del sistema operativo pfSense, que debemos habilitar. Únicamente tendremos que habilitar el servidor SSH y configurar un puerto TCP de escucha específico, por ejemplo el puerto 2222 para SSH. Este puerto será accesible a través de Internet desde cualquier fuente, con el objetivo de gestionar el sistema operativo desde cualquier lugar.

Para solucionar el problema de los falsos positivos debemos ingresar a la interfaz web de configuración del sistema operativo pfSense:

Nos dirigimos al apartado SSH y nos aseguramos de que esté habilitado, y que esté escuchando en el puerto 2222, o en cualquier otro puerto.

En el apartado “Protección de inicio de sesión” debemos añadir todas y cada una de las redes de origen y direcciones IP de UptimeRobot. En esta «lista de pases» tendremos la lista de todas las direcciones IP de origen que pueden realizar «comprobaciones» contra el servidor web HTTPS o el servidor SSH configurado, saltándose las restricciones de la «protección de inicio de sesión» que hayamos configurado.

Sobre elsitio web oficial de UptimeRobot tenemos la lista de todas las direcciones IP de origenque utilizan simplemente tendremos que introducir rango por rango o dirección IP por dirección IP. También tenemos las direcciones IPv6 que utilizan, por si en tu caso tienes IPv6 para acceder a Internet. Finalmente, también nos proporcionan unaarchivo txt con la lista de todas las direcciones IPpara facilitar la configuración de los firewalls.

Cuando habilitamos el servidor SSH en pfSense, si queremos que accedan desde Internet con cualquier dirección IP de origen, necesitaremos crear una regla en el archivo “Cortafuegos / Reglas”, apartado, en esta regla debemos poner:

  • Acción: Pasar
  • Interfaz: WAN
  • Familia de Direcciones: IPv4 y/o IPv6.
  • Protocolo: TCP
  • Fuente: cualquiera
  • Destino: Dirección WAN
  • Destination Port Range: el puerto del servidor SSH donde está escuchando, en nuestro caso 2222.

También recomendaríamos registrar todos los paquetes que recibe el firewall, activando la opción “Registrar paquetes que son manejados por esta regla”, finalmente le daremos una descripción y pulsaremos en guardar.

Antes de terminar, un detalle importante es que pongas la regla pfSense en la sección WAN en el orden correcto, porque si tenemos una regla general de denegar todo encima de esta regla específica, estarás bloqueando el tráfico y no funcionará desde el exterior. .

Si ve los registros del sistema operativo, podrá ver la dirección IP de origen que utiliza UptimeRobot, así como la dirección IP de destino y el puerto (nosotros). Desde aquí podrás comprobar que cada 5 minutos está comprobando si la conexión a Internet funciona correctamente, o mejor dicho, si el servidor SSH de pfSense es accesible a través de Internet.

Una vez visto cómo configurar correctamente pfSense, recordaremos cómo crear la regla en UptimeRobot para monitorizar nuestro pfSense.

Cree la regla de monitoreo en UptimeRobot

Iniciamos sesión en UptimeRobot con nuestras credenciales, si nunca has utilizado esta herramienta tendrás que registrarte en su versión “Gratuita”. En el menú principal podremos ver todas las reglas de monitoreo creadas en la sección izquierda, haga clic en “Agregar nuevo monitor”para crear una nueva regla.

El tipo de monitor que debes usar es “Puerto”, le damos un nombre descriptivo, le ponemos “Puerto: Puerto personalizado” para poner el puerto 2222 del servidor SSH que acabamos de configurar, y el intervalo de monitoreo. En la versión gratuita de UptimeRobot nos permitirá un intervalo mínimo de 5 minutos, lógicamente cuantas más comprobaciones hagamos antes nos avisará de que ha habido un problema con la conexión a Internet, pero esto sólo está disponible en la versión de pago.

No debes olvidar seleccionar las alertas a enviar, podemos recibir una alerta por correo electrónico, Telegram u otro servicio, siempre y cuando lo hayas registrado previamente.

Una vez hayamos terminado, pulsamos en «Crear Monitor» y ya tendremos UptimeRobot funcionando. Ahora debes comprobar en pfSense que has recibido el paquete correctamente, comprobando los logs del firewall en la sección WAN, puedes filtrar los logs poniendo el puerto destino 2222 que es el puerto SSH, también puedes comprobar que la dirección IP de origen es dentro del rango de direcciones IP que hemos indicado anteriormente.

¿Puedo limitar las conexiones SSH solo a UptimeRobot?

Si desea habilitar el servidor SSH solo para las direcciones de UptimeRobot, para verificar si la conexión a Internet funciona bien, puede limitar las conexiones SSH a través de la regla en el firewall. Si vamos a”Cortafuegos/AliasPuedes crear un alias con todas las direcciones IP de origen de UptimeRobot, para facilitar enormemente la configuración de la regla. Podemos poner la URL con el archivo de texto que le hemos proporcionado anteriormente, y directamente la ponemos en los Alias de URL (IP):

Gracias a esto podremos incorporar todas las direcciones IPv4 e IPv6 de forma automática y sin tener que ir una a una, para facilitar enormemente la configuración. Como puedes ver, en el apartado Alias/URLs aparecerán ya cargadas estas direcciones IP públicas de origen utilizadas por UptimeRobot:

Ahora tendríamos que editar la regla SSH y definir:

  • Familia de direcciones: IPv4 e IPv6, para cubrir también las direcciones IPv6.
  • Fuente: host único o alias: IP_UptimeRobot

Y hacemos clic en “Guardar” y aplicamos los cambios. En este momento, solo las direcciones IP de origen definidas en los alias, que corresponden a las direcciones IP de UptimeRobot, solo tendrían acceso al servidor SSH, para no dejar el servidor SSH expuesto a todos.

Gracias a UptimeRobot y una buena configuración en pfSense para evitar falsos positivos podrás comprobar que la conexión a Internet funciona correctamente y no tienes ninguna incidencia. Eso sí, lo más recomendable es poner el dominio DNS dinámico en el propio UptimeRobot, porque si tienes una IP pública dinámica cambiará cada cierto tiempo, y puedes obtener falsos positivos de pérdida de conectividad.

Actualizaciones del boletín

Ingrese su dirección de correo electrónico a continuación para suscribirse a nuestro boletín