Block Lists
os-blocklists · Protección
Listas de direcciones, países, listas DNS y huellas JA4 de clientes TLS, reunidas en una sola página de listas de bloqueo.
En el menú
- Con os-xgs-npu instalado: XGS: Block Lists
- Sin os-xgs-npu: Firewall: Block Lists

Las listas de direcciones se eligen de un catálogo corto de fuentes públicas: Spamhaus DROP (IPv4 e IPv6), abuse.ch Feodo Tracker, Emerging Threats compromised hosts, CINS Army y blocklist.de. Cada una se convierte en un alias propio de tipo URL Table, que OPNsense descarga una vez al día. Los países van a un único alias GeoIP, que necesita una fuente GeoIP en Firewall: Aliases. FireHOL level 1 queda fuera a propósito: incluye las redes privadas y, bloqueada en ambos sentidos, aislaría al firewall de su propia LAN.
Las reglas de bloqueo las registra el plugin en cada recarga del filtro - entrantes desde una dirección listada y, por defecto, salientes hacia ella, en todas las interfaces, antes de las reglas de interfaz. Nunca se añaden a las reglas propias del dueño, así que desactivar o quitar el plugin no deja nada allí. No se bloquea nada hasta que se eligen y aplican listas.
Una regla de bloqueo solo detiene conexiones nuevas. Con «Cut open connections» activado, una conexión ya abierta desde o hacia una dirección que una lista acaba de incorporar se corta en menos de un minuto, y en un Sophos XGS además se saca del coprocesador junto con su estado: el coprocesador no tiene una lista de direcciones propia con la que bloquear. Con os-xgs-npu instalado, una lista o huella nombrada en XGS: Settings se deja a os-xgs-npu, para que nada se corte dos veces.
Funciones
-
Listas de direcciones públicas
Spamhaus DROP, abuse.ch Feodo Tracker, Emerging Threats, CINS Army y blocklist.de, cada una su propio alias URL Table, con contadores activados.
-
Países
Un alias GeoIP, blocklists_countries; necesita una fuente GeoIP en Firewall: Aliases.
-
Reglas propias
Registradas en cada recarga del filtro, antes de las reglas de interfaz, y nunca escritas en las reglas del dueño, así que no queda nada cuando el plugin se desactiva o se quita.
-
Corte de conexiones abiertas
En menos de un minuto desde que una lista incorpora una dirección; en un Sophos XGS, también fuera del coprocesador, junto con el estado de la conexión.
-
Huellas JA4
Se cortan las conexiones TLS cuyo cliente muestra una huella listada, leídas del registro TLS de Intrusion Detection cada dos segundos; la página lista las huellas vistas, para encontrar la que hay que listar.
-
Listas DNS en la misma página
OPNsense las guarda por sí mismo, en Services: Unbound DNS: Blocklists; la página las muestra junto a las demás y enlaza allí.
Instalar y actualizar
A partir de la versión de os-xgs-npu posterior a 0.1.0-alpha.7.1, XGS: Updates lo muestra en su pestaña Plugins —una copia instalada se actualiza allí a mano, y una que falta se instala desde allí— y las imágenes listas construidas a partir de esa versión lo incluyen; hasta entonces se instala y se actualiza como se indica abajo. La entrada de cron del plugin ejecuta los cortes cada minuto, nunca la actualización. Para instalarlo en un appliance XGS o en cualquier otro OPNsense, como root: desde un checkout del repositorio con sh install/install.sh, que coloca la página bajo XGS con os-xgs-npu y bajo Firewall sin él, y conserva los ajustes si se vuelve a ejecutar; o desde el paquete de la versión, os-blocklists-1.0.0.pkg, comprobado con SHA256SUMS y añadido con pkg. Una copia instalada así se actualiza con su propio self-update.py. Quitar el plugin saca sus reglas de pf; sus alias quedan en Firewall: Aliases, sin bloquear nada. No está en el repositorio de plugins de OPNsense.
Límites, y lo que aún no se ha probado
- La escritura de los alias desde la página (apply.php, que guarda config.xml).
- Las reglas con listas dentro, y la descarga de las listas.
- Un corte de conexiones abiertas, y un corte por JA4 a través de este plugin.
- El paquete, construido por tools/make-package.sh y añadido con pkg.
- Una instalación en OPNsense sin os-xgs-npu.
- Una actualización desde la pestaña Plugins o con self-update.py: 1.0.0 es la primera versión, así que ninguna ha ido por delante de una copia instalada.
Repositorio
Primera versión: 2026-10-25