GeoIP und IP Blocklisten in der OPNsense anlegen

Hallo,

es gibt zwar im netz schon einige Anleitungen wie man Blocklisten anlegt für die OPNsense aber noch nicht hier im Forum :slightly_smiling_face:

GeoIP

dafür erstellt man sich einen kostenlosen Account bei MaxMind

GeoLite2 Sign Up | MaxMind

dort erstellt man sich einen License Key

in der OPNsense unter Firewall / Alias → GeoIP

da wird folgender link eingetragen, der zuvor erstellte License Key wird im link eingetragen im Bereich „My_License_key“ anschließend auf Anwenden klicken

https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country-CSV&license_key=My_License_key&suffix=zip

jetzt kann man sich einen Alias anlegen, unter Typ wählt man GeoIP aus, dan kann man sich Länder Auswählen die man für weitere Regel entweder Sperren oder zulassen möchte, anschließend gibt man dem ganzen noch ein Namen und wen man möchte noch eine Beschreibung, die GeoIP Datenbank wird alle 24H automatisch aktualisiert.

beim Regel erstellen wählt man als Quelle oder Ziel, je nach dem in welche Richtung man die GeoIP Datenbank nutzen möchte, den Alias aus den man zuvor erstellt hat.

IP Blocklisten

die IP Blocklisten werden auch über Alias angelegt, dort wählt man unter Typ URL-Tabelle (IP´s) aus, Refresh Frequency ist so eingestellt das die liste alle 24H aktualisiert wird, nach bedarf kann man das auch verkürzen oder verlängern, aber ich denke einmal am Tag ist schon ok.

anschließend kann man sich eine Regel erstellen und wählt auch wieder entweder als Quelle oder Ziel den zuvor erstellen Alias aus

einige bekannten listen sind folgende:

für Firehol gibt es auf github eine Übersicht

ipsets dynamically updated with firehol’s update-ipsets.sh script - GitHub - firehol/blocklist-ipsets: ipsets dynamically updated with firehol’s update-ipsets.sh script

bei der Level 1 sollte man bedenken das dort auch Private IP Adressen vorhanden sind, so besteht die Gefahr das man sich selber aussperrt wen man die auf eine LAN Schnittstelle anwendet

https://raw.githubusercontent.com/ktsaou/blocklist-ipsets/master/firehol_level1.netset

https://raw.githubusercontent.com/ktsaou/blocklist-ipsets/master/firehol_level2.netset

https://raw.githubusercontent.com/ktsaou/blocklist-ipsets/master/firehol_level3.netset

https://raw.githubusercontent.com/ktsaou/blocklist-ipsets/master/firehol_webclient.netset

–Spamhaus–

https://www.spamhaus.org/drop/drop.txt

https://www.spamhaus.org/drop/edrop.txt

IPv6

https://www.spamhaus.org/drop/dropv6.txt

-Feodo Tracker-

https://feodotracker.abuse.ch/downloads/ipblocklist.txt

-Blocklist.de-

https://lists.blocklist.de/lists/all.txt

und zu guter Letzt auch IPv64.net

IPv64 Blocklists - First Level Protection

welche Blocklisten man für seine zwecke benötig muss man selbst entscheiden, die Firehol und Spamhaus finde ich sehr nützlich, neben Crowdsec habe ich einige Einträge in der log von Firehol und Spamhaus was geblockt wird, auch ausgehende Blocklisten machen sinn sollte man ein infizierten Client haben der nach Hause telefonieren will und man glück hat das die IP auf einer der Blocklisten gelistet ist.

es lassen sich auch Gruppen anlegen unter Alias, dazu wählt mal als Typ „Netzwerk Gruppe“ aus und wählt bei Inhalt die verschiedenen listen aus die man als Alias angelegt hat, so lässt sich über eine Regel gleich mehrere listen nutzen.

die Blocklisten funktionieren auch auf der pfSense, da ich keine pfSense im Einsatz habe kann ich dazu nichts schreiben.