pfSense es una solución de firewall/ruteador de código abierto muy potente. Basado en FreeBSD, pfSense tiene un enfoque fuerte en seguridad. Incluso en una configuración «vanilla» (básica), pfSense será mucho más seguro que cualquier ruteador que puedas comprar en una tienda.
Por defecto, pfSense ofrece muchas herramientas para personalizar la configuración de tu red segura. Pero además de sus herramientas predeterminadas, pfSense también cuenta con un repositorio de paquetes adicionales que puedes instalar para mejorar aún más tu configuración.
Guía relacionada: Cómo bloquear anuncios en todos tus dispositivos con pfSense, Squid & SquidGuard
Resumen breve del artículo:
pfSense es una robusta solución de firewall/ruteador de código abierto basada en FreeBSD, ofreciendo un nivel de seguridad más alto que los ruteadores comerciales.
Además de sus herramientas predeterminadas, pfSense ofrece paquetes adicionales como pfBlockerNG, que mejora la funcionalidad del firewall permitiendo el ajuste fino de conexiones entrantes y salientes usando listas de bloqueo IP y DNS.Los dos usos principales de pfBlockerNG incluyen filtrar el tráfico entrante y saliente contra listas IP y aplicar restricciones GeoIP, y bloquear anuncios y sitios maliciosos a través del filtrado DNS.
Al verificar las solicitudes DNS contra listas de bloqueo, pfBlockerNG evita el acceso a contenido perjudicial y sirve como una solución eficiente de bloqueo de anuncios sin la necesidad de un servidor proxy.
pfBlockerNG tiene dos usos principales:
Filtrado de tráfico entrante y saliente
pfBlockerNG puede filtrar el tráfico entrante y saliente contra listas IP y aplicar restricciones GeoIP permitiendo o negando el tráfico hacia/desde países específicos. Esta última funcionalidad puede ser muy útil si abres puertos en tu WAN.
Bloqueo de anuncios y sitios maliciosos a través de «blackholing» DNS
pfBlockerNG puede bloquear anuncios y el acceso a sitios maliciosos a través de filtrado DNS. Al navegar por la web, tus solicitudes DNS se comprueban contra una lista de bloqueo. Si hay una coincidencia, la solicitud se bloquea. Es una excelente manera de bloquear anuncios sin usar un servidor proxy.
Vamos a echar un vistazo a ambos casos y profundizaremos más a medida que abordemos cada uno.
Esta guía asume que ya has configurado pfSense con interfaces WAN y LAN funcionales.
Vamos a empezar.
Lo primero que necesitamos hacer es instalar pfBlockerNG.
Ahora que pfBlockerNG-devel está instalado, necesitamos configurar nuestro paquete. Y vamos a comenzar con el filtrado de IP y GeoIP.
Configuraremos la sección pfBlockerNG poco a poco. Cualquier configuración que no se mencione debe dejarse con sus valores predeterminados.
Como mencioné anteriormente, la función GeoIP de pfBlockerNG te permite filtrar el tráfico hacia y desde países o continentes enteros. Para hacer esto, pfBlocker utiliza la base de datos MaxMind GeoIP, la cual requiere una clave de licencia. Un enlace en la descripción del campo Clave de Licencia de MaxMind te lleva a la página de registro de MaxMind. La clave de licencia de MaxMind es gratuita.
Completa el formulario de registro para obtener tu clave de licencia. Una vez que tengas tu clave, insértala en el campo Clave de Licencia de MaxMind.
Y:
Esta sección determina en qué interfaces de entrada y salida se aplican los filtros IPv4, IPv6 y GeoIP de pfBlockerNG.
Ahora es el momento de añadir algunas listas de bloqueo a pfBlockerNG. Aunque eres libre de agregar tus propias listas, pfBlockerNG tiene algunas incorporadas que podemos activar (los términos lista y fuente se usan indistintamente en este contexto).
Esto es muy práctico ya que buscar listas de bloqueo en internet lleva tiempo, y muchas no funcionan o ya no se mantienen. Las listas dentro de pfBlocker son listas activas que se actualizan regularmente, así que vamos a usar esas.
El nombre de la colección de listas aparece junto con su descripción. Las URLs de las listas incluidas en la colección y sus descripciones asociadas también se muestran. Sin embargo, nuestras listas están configuradas en OFF por defecto. Necesitamos activarlas.
Pero antes de eso, necesitamos eliminar una de las listas de la colección PRI1. Pulsedive, la 7ª lista desde arriba, es una lista premium que requiere una clave API de pago. No vamos a obtener la clave API para este tutorial. Haz clic en el botón Eliminar (Delete).
Puedes repetir los mismos pasos para IPv6 si tu proveedor de servicios de internet asigna una dirección IP IPv4 e IPv6 a tu WAN. La mayoría de nosotros todavía estamos en redes solo IPv4.
Antes de configurar el filtrado GeoIP, primero necesitamos forzar una actualización de pfBlockerNG. pfBlocker se actualiza automáticamente en intervalos fijos. Pero, para configurar el filtrado GeoIP, primero pfBlocker necesita obtener la base de datos de MaxMind, y una actualización forzada hará precisamente eso.
Registros GeoIP
El Resumen de GeoIP consta de fuentes de direcciones IP organizadas por continente, con dos categorías extra: Principales Spammers y Proxy y Satélite. Principales Spammers es una lista de países conocidos por ser una fuente frecuente de ataques en línea. Y Proxy y Satélite son proveedores conocidos de proxy anónimos y satélites.
Puedes filtrar el tráfico de/a un continente entero, o puedes afinar la fuente seleccionando solo los países que deseas filtrar.
Ahora, hay ciertas cosas a considerar aquí. Si deseas bloquear conexiones salientes a un país o continente, adelante. Sin embargo, si estás pensando en bloquear enlaces entrantes de un gobierno o continente, ten en cuenta que pfSense bloquea todo el tráfico entrante no solicitado en la WAN por defecto.
Eso significa que a menos que tengas puertos abiertos en tu WAN, bloquear países o continentes es inútil y solo consumirá memoria en vano. Si tienes puertos abiertos en tu WAN, asegúrate de no bloquear conexiones de los países a los que deseas permitir conectar a tus puertos abiertos.
Los alias son listas de direcciones IP nativas de pfSense. Usando alias, puedes permitir solo a los países específicos que seleccionaste acceder a tus puertos abiertos. Sin embargo, hay una forma de crear alias personalizados desde la base de datos MaxMind GeoIP dentro de pfBlockerNG que se puede usar directamente como fuente en las reglas de firewall de reenvío de puertos.
Debido a que pfSense bloquea automáticamente cualquier tráfico que no esté explícitamente permitido en las reglas del firewall, queremos crear un alias de los países que permitiremos a través del firewall. pfSense bloqueará el resto por defecto.
Establece la Acción en Alias Nativo.
Si tienes puertos abiertos pero quieres mantenerlo simple, puedes bloquear conexiones entrantes de Principales Spammers y Proxy y Satélite sin crear un alias personalizado. Recuerda que esto solo es útil si tienes puertos abiertos en tu WAN.
Si no tienes ningún puerto abierto en tu WAN, solo bloquea el tráfico saliente o deja desactivado el filtrado GeoIP.
Para asegurarnos de que nuestro tráfico está siendo filtrado, podemos intentar conectar a una dirección IP conocida en la lista de bloqueo. Si intento acceder a 1.13.9.177 (una IP contenida en mis feeds IPv4 de pfBlockerNG) en mi navegador, la dirección IP no se traduce a un nombre de dominio, y no puedo conectar. Eso es lo que queremos.
Pasemos a configurar el DNSBL de pfBlocker.
Vale. Hemos configurado el filtrado IPv4, el filtrado GeoIP y los alias. Ahora es el momento de usar pfBlockerNG para bloquear anuncios. El bloqueo de anuncios en pfBlockerNG se logra a través del bloqueo de DNS. Esto compara tus solicitudes de DNS con una lista de redes de anuncios y rastreadores conocidos y los bloquea a nivel DNS cuando hay una coincidencia, lo que resulta en un internet sin anuncios. ¡Genial!
Para usar la función DNSBL en pfBlockerNG, debes estar usando el Resolutor de DNS en pfSense para tu resolución DNS. Eso significa que no puedes asignar el DNS de tus dispositivos mediante DHCP o usar el Reenviador de DNS (dnsmasq) si quieres usar la función DNSBL.
Por defecto, pfSense usa el Resolutor de DNS en todas las interfaces. Así que si no hiciste ningún cambio en las configuraciones del Resolutor de DNS, estás bien. Si hiciste cambios, configura el Resolutor para que se vincule a tu LAN (saliente) y tu WAN (entrante). Y selecciona cualquier otra interfaz tipo LAN (interfaces OPT) y tipo WAN (configuración multi-WAN, pasarelas VPN) que quieras que DNSBL filtre.
Ahora necesitamos agregar algunos feeds de DNSBL.
Ahora necesitamos forzar una actualización de pfBlockerNG, como hicimos anteriormente.
Una vez que la actualización está completa, podemos ver que nuestros feeds de DNSBL han sido actualizados.
Para asegurarnos de que el filtrado DNSBL está funcionando, intentaremos conectarnos al dominio que agregué a Lista personalizada de DNSBL: vungle.com. Si intento acceder a vungle.com en mi navegador, se muestra la página de bloqueo de DNSBL con algunos datos útiles.
Nota: El DNSBL de pfBlocker incluye un mini servidor web que puede mostrar esta página de bloqueo. El filtrado IPv4, IPv6 y GeoIP amplía la funcionalidad existente del firewall pfSense y bloquea o permite direcciones IP sin mostrar una página de bloqueo.
Y eso es todo. Has instalado y configurado con éxito pfBlockerNG-devel en pfSense. Configuramos el filtrado IPv4, el filtrado GeoIP, así como el filtrado DNSBL. Estos tres contribuyen a que tu red sea más segura y privada sin reducir la velocidad de tu conexión.
A medida que tu red crezca, es posible que necesites abrir ciertos puertos en tu WAN si deseas ejecutar un servidor VPN o si quieres alojar un servidor web que sea accesible desde internet. Cuando hagas eso, pfBlockerNG será una herramienta útil en tu conjunto de herramientas de seguridad para ayudarte a asegurar tu red y controlar el acceso desde el exterior de manera detallada.
Relacionado: Cómo encontrar las mejores VPNs
1 Comment
Orlando
octubre 12, 2024 5:11 pm
Excelente artículo. Me aclaró muchos conceptos.
Gracias por compartir.