Block Lists
os-blocklists · Schutz
Adresslisten, Länder, DNS-Listen und JA4-Fingerabdrücke von TLS-Clients, auf einer Seite der Sperrlisten zusammengeführt.
Im Menü
- Mit installiertem os-xgs-npu: XGS: Block Lists
- Ohne os-xgs-npu: Firewall: Block Lists

Adresslisten werden aus einem kurzen Katalog öffentlicher Feeds gewählt: Spamhaus DROP (IPv4 und IPv6), abuse.ch Feodo Tracker, Emerging Threats compromised hosts, CINS Army und blocklist.de. Jede wird zu einem eigenen Alias vom Typ URL Table, den OPNsense einmal am Tag abruft. Länder kommen in einen GeoIP-Alias, der eine GeoIP-Quelle in Firewall: Aliases braucht. FireHOL level 1 ist absichtlich nicht dabei: Es enthält die privaten Netze und würde, in beide Richtungen gesperrt, eine Firewall von ihrem eigenen LAN abschneiden.
Die Sperrregeln registriert das Plugin bei jedem Neuladen des Filters - eingehend von einer gelisteten Adresse und standardmäßig ausgehend zu ihr, auf jedem Interface, vor den Interface-Regeln. Sie werden nie zu den eigenen Regeln des Besitzers hinzugefügt, sodass Abschalten oder Entfernen des Plugins dort nichts zurücklässt. Gesperrt wird nichts, bis Listen gewählt und angewendet sind.
Eine Sperrregel hält nur neue Verbindungen auf. Ist „Cut open connections“ an, wird eine bereits offene Verbindung von oder zu einer Adresse, die eine Liste gerade hinzubekommen hat, innerhalb einer Minute getrennt, und auf einer Sophos XGS wird sie samt ihrem Zustand auch aus dem Coprozessor genommen: Der Coprozessor hält keine eigene Adressliste, nach der er sperren könnte. Ist os-xgs-npu installiert, bleibt eine in XGS: Settings genannte Liste oder ein dort genannter Fingerabdruck os-xgs-npu überlassen, sodass nichts doppelt getrennt wird.
Funktionen
-
Öffentliche Adresslisten
Spamhaus DROP, abuse.ch Feodo Tracker, Emerging Threats, CINS Army und blocklist.de, jede ein eigener Alias vom Typ URL Table, mit eingeschalteten Zählern.
-
Länder
Ein GeoIP-Alias, blocklists_countries; er braucht eine GeoIP-Quelle in Firewall: Aliases.
-
Eigene Regeln
Bei jedem Neuladen des Filters registriert, vor den Interface-Regeln, und nie in die Regeln des Besitzers geschrieben, sodass nichts zurückbleibt, wenn das Plugin aus oder entfernt ist.
-
Offene Verbindungen getrennt
Innerhalb einer Minute, nachdem eine Liste eine Adresse hinzubekommen hat; auf einer Sophos XGS auch aus dem Coprozessor, samt dem Zustand der Verbindung.
-
JA4-Fingerabdrücke
TLS-Verbindungen, deren Client einen gelisteten Fingerabdruck zeigt, werden getrennt, gelesen alle zwei Sekunden aus dem TLS-Log der Intrusion Detection; die Seite listet die gesehenen Fingerabdrücke, damit sich der zu listende finden lässt.
-
DNS-Listen auf derselben Seite
OPNsense führt sie selbst, in Services: Unbound DNS: Blocklists; die Seite zeigt sie neben den anderen und verlinkt dorthin.
Installieren und aktualisieren
Ab dem Release von os-xgs-npu nach 0.1.0-alpha.7.1 steht es in XGS: Updates im Reiter Plugins – eine installierte Kopie wird dort von Hand aktualisiert, eine fehlende dort installiert –, und die fertigen Images aus diesem Release enthalten es; bis dahin wird es wie unten beschrieben installiert und aktualisiert. Der Cron-Eintrag des Plugins führt jede Minute die Trennungen aus, nie das Update. Installiert wird es auf einer XGS-Appliance und auf jedem anderen OPNsense als root: aus einem Checkout des Repositorys mit sh install/install.sh, das die Seite mit os-xgs-npu unter XGS und ohne es unter Firewall einordnet und bei erneutem Lauf die Einstellungen behält; oder aus dem Paket des Releases, os-blocklists-1.0.0.pkg, geprüft gegen SHA256SUMS und mit pkg hinzugefügt. Eine so installierte Kopie wird über ihr eigenes self-update.py aktualisiert. Das Entfernen des Plugins nimmt seine Regeln aus pf; seine Aliase bleiben in Firewall: Aliases und sperren nichts. Es ist nicht im Plugin-Repository von OPNsense.
Grenzen, und was noch nicht getestet ist
- Das Schreiben der Aliase von der Seite aus (apply.php, das config.xml speichert).
- Die Regeln mit Listen darin, und das Abrufen der Listen.
- Das Trennen offener Verbindungen und eine JA4-Trennung durch dieses Plugin.
- Das Paket, gebaut von tools/make-package.sh und mit pkg hinzugefügt.
- Eine Installation auf OPNsense ohne os-xgs-npu.
- Ein Update über den Reiter Plugins oder self-update.py: 1.0.0 ist das erste Release, also war noch keines einer installierten Kopie voraus.
Repository
Erste Veröffentlichung: 2026-10-25