pfSense ist eine sehr leistungsstarke Open-Source-Firewall-/Router-Lösung. Basierend auf FreeBSD legt pfSense großen Wert auf Sicherheit. Schon in einer „Vanille“-Konfiguration wird pfSense sicherer sein als jeder handelsübliche Router, den Sie kaufen können.
Standardmäßig bietet pfSense viele Werkzeuge, um Ihre gesicherte Netzwerkeinrichtung individuell anzupassen. Aber neben den Standardwerkzeugen beherbergt pfSense auch ein Repository von zusätzlichen Paketen, die Sie installieren können, um Ihre Einrichtung noch weiter zu verbessern.
pfBlockerNG hat zwei Hauptanwendungsfälle:
Ein- und ausgehende Datenverkehrsfilterung
pfBlockerNG kann ein- und ausgehenden Datenverkehr gegen IP-Listen filtern und GeoIP-Einschränkungen anwenden, indem es den Datenverkehr zu/von bestimmten Ländern erlaubt oder blockiert. Letzteres kann sehr nützlich sein, wenn Sie Ports auf Ihrem WAN öffnen.
Blockieren von Anzeigen und bösartigen Websites durch DNS-Blackholing
pfBlockerNG kann Anzeigen und den Zugriff auf bösartige Seiten durch DNS-Filterung blockieren. Beim Surfen im Web werden Ihre DNS-Anfragen gegen eine Sperrliste geprüft. Wenn es eine Übereinstimmung gibt, wird die Anfrage blockiert. Es ist eine großartige Möglichkeit, Anzeigen ohne Proxy-Server zu blockieren.
Wir werden uns beide Anwendungsfälle ansehen und bei jedem einzelnen mehr ins Detail gehen.
In dieser Anleitung wird davon ausgegangen, dass Sie pfSense bereits mit funktionierenden WAN- und LAN-SInterfaces eingerichtet haben.
Lassen Sie uns beginnen.
Zuerst müssen wir pfBlockerNG installieren.
Jetzt, da pfBlockerNG-devel installiert ist, müssen wir unser Paket konfigurieren. Und wir beginnen mit der IP- und GeoIP-Filterung.
Wir werden pfBlockerNG Abschnitt für Abschnitt konfigurieren. Alle Einstellungen, die nicht erwähnt werden, sollten auf ihren Standardwerten belassen werden.
Wie oben erwähnt, ermöglicht Ihnen das GeoIP-Feature von pfBlockerNG, den Datenverkehr zu und von ganzen Ländern oder Kontinenten zu filtern. Dazu verwendet pfBlocker die MaxMind GeoIP-Datenbank, die einen Lizenzschlüssel erfordert. Ein Link im Feldbeschreibung des MaxMind-Lizenzschlüssels führt Sie zur MaxMind-Registrierungsseite. Der MaxMind-Lizenzschlüssel ist kostenlos.
Füllen Sie das Registrierungsformular aus, um Ihren Lizenzschlüssel zu erhalten. Sobald Sie Ihren Lizenzschlüssel haben, geben Sie ihn in das Feld MaxMind-Lizenzschlüssel ein.
Und:
In diesem Abschnitt wird festgelegt, auf welche eingehenden und ausgehenden Schnittstelle(n) die IPv4-, IPv6- und GeoIP-Filterung von pfBlockerNG angewendet wird.
Jetzt ist es an der Zeit, einige Sperrlisten zu pfBlockerNG hinzuzufügen. Obwohl Sie Ihre eigenen Feeds hinzufügen können, verfügt pfBlockerNG über einige integrierte Feeds, die wir aktivieren können (die Begriffe Liste und Feed sind in diesem Zusammenhang austauschbar).
Das ist sehr praktisch, weil das Suchen von Sperrlisten im Internet zeitaufwendig ist und viele nicht funktionieren oder nicht mehr gepflegt werden. Die Feeds innerhalb von pfBlocker sind aktuelle Listen, die regelmäßig aktualisiert werden, also werden wir diese verwenden.
Der Name der Feed-Sammlung und ihre Beschreibung sind ausgefüllt. Die in der Sammlung enthaltenen Feed-URLs und ihre zugehörigen Beschreibungen sind ebenfalls ausgefüllt. Unsere Feeds sind jedoch standardmäßig auf OFF eingestellt. Wir müssen sie aktivieren.
Aber bevor wir das tun, müssen wir einen der Feeds aus der PRI1-Sammlung löschen. Pulsedive, der 7. Feed von oben, ist eine Premium-Liste, die einen kostenpflichtigen API-Schlüssel erfordert. Für dieses Tutorial werden wir den API-Schlüssel nicht besorgen. Klicken Sie auf die Schaltfläche Löschen.
Sie können die gleichen Schritte für IPv6 wiederholen, wenn Ihr ISP Ihrer WAN eine IPv4- und eine IPv6-IP-Adresse zuweist. Die meisten von uns nutzen noch IPv4-only-Netzwerke.
Bevor wir die GeoIP-Filterung konfigurieren, müssen wir zunächst ein Update von pfBlockerNG erzwingen. PfBlocker aktualisiert sich automatisch in festen Intervallen. Um jedoch die GeoIP-Filterung zu konfigurieren, muss pfBlocker zuerst die MaxMind-Datenbank abrufen, und ein erzwungenes Update wird genau das tun.
IPv4-Protokolle
GeoIP-Protokolle
Die GeoIP-Übersicht besteht aus IP-Adress-Feeds, die nach Kontinenten organisiert sind, mit zwei zusätzlichen Kategorien: Top-Spammer und Proxy und Satellit. Top-Spammer ist eine Liste von Ländern, die als häufige Quelle von Online-Angriffen bekannt sind. Proxy und Satellit sind bekannte anonyme Proxy- und Satellitenanbieter.
Sie können den Datenverkehr zu/von einem ganzen Kontinent filtern oder den Feed verfeinern, indem Sie nur die Länder auswählen, die Sie filtern möchten.
Hier gibt es einige Dinge zu beachten. Wenn Sie ausgehende Verbindungen zu einem Land oder Kontinent blockieren möchten, tun Sie dies ruhig. Wenn Sie jedoch darüber nachdenken, eingehende Verbindungen von einer Regierung oder einem Kontinent zu blockieren, bedenken Sie, dass pfSense standardmäßig allen unerwünschten eingehenden Datenverkehr auf der WAN blockiert.
Das bedeutet, dass das Blockieren von Ländern oder Kontinenten nutzlos ist und nur Speicherplatz für nichts verbraucht, es sei denn, Sie haben offene Ports auf Ihrer WAN. Wenn Sie offene Ports auf Ihrer WAN haben, stellen Sie sicher, dass Sie keine Verbindungen von Ländern blockieren, die Sie zu Ihren offenen Port(s) zulassen möchten.
Aliase sind von Natur aus IP-Adresslisten in pfSense. Mit Aliases können Sie nur den von Ihnen ausgewählten Ländern den Zugriff auf Ihre offenen Ports ermöglichen. Es gibt jedoch eine Möglichkeit, benutzerdefinierte Aliase aus der MaxMind GeoIP-Datenbank innerhalb von pfBlockerNG zu erstellen, die direkt als Quelle in Ihren Port-Weiterleitungs-Firewall-Regeln verwendet werden können.
Da pfSense automatisch jeglichen Verkehr blockiert, der nicht ausdrücklich in den Firewall-Regeln erlaubt ist, möchten wir einen Alias der Länder erstellen, die wir durch die Firewall zulassen werden. PfSense wird den Rest standardmäßig blockieren.
Stellen Sie die Aktion auf Alias Native.
Wenn Sie offene Ports haben, aber alles einfach halten möchten, können Sie eingehende Verbindungen von Top-Spammern und Proxy und Satellit blockieren, ohne einen benutzerdefinierten Alias zu erstellen. Denken Sie daran, dass dies nur nützlich ist, wenn Sie offene Ports auf Ihrer WAN haben.
Wenn Sie keine offenen Ports auf Ihrer WAN haben, blockieren Sie nur den ausgehenden Datenverkehr oder lassen Sie die GeoIP-Filterung deaktiviert.
Um sicherzustellen, dass unser Datenverkehr gefiltert wird, können wir versuchen, uns mit einer bekannten IP-Adresse in der Blockliste zu verbinden. Wenn ich versuche, auf 1.13.9.177 (eine IP in meinen pfBlockerNG IPv4-Feeds) in meinem Browser zuzugreifen, wird die IP-Adresse nicht in einen Domainnamen übersetzt und ich kann keine Verbindung herstellen. Das ist genau das, was wir wollen.
Lassen Sie uns nun mit der Konfiguration von pfBlockers DNSBL fortfahren.
In Ordnung. Wir haben die IPv4-Filterung, GeoIP-Filterung und Aliase konfiguriert. Jetzt ist es an der Zeit, pfBlockerNG für das Ad-Blocking zu nutzen. Ad-Blocking in pfBlockerNG wird durch DNS-Blackholing erreicht. Dabei werden Ihre DNS-Anfragen gegen eine Liste bekannter Ad-Netzwerke und Tracker geprüft und auf DNS-Ebene blockiert, sobald es eine Übereinstimmung gibt, was zu einem werbefreien Internet führt. Hurra.
Um die DNSBL-Funktion in pfBlockerNG zu nutzen, müssen Sie den DNS-Resolver in pfSense für Ihre DNS-Auflösung verwenden. Das bedeutet, dass Sie die DNS Ihrer Hosts nicht über DHCP zuweisen oder den DNS-Forwarder (dnsmasq) verwenden können, wenn Sie die DNSBL-Funktion nutzen möchten.
Standardmäßig verwendet pfSense den DNS-Resolver auf allen Schnittstellen. Wenn Sie also keine Änderungen an den DNS-Resolver-Einstellungen vorgenommen haben, ist alles in Ordnung. Wenn Sie Änderungen vorgenommen haben, konfigurieren Sie den Resolver so, dass er an Ihr LAN (ausgehend) und Ihr WAN (eingehend) gebunden ist. Wählen Sie außerdem alle anderen LAN-artigen (OPT-Schnittstellen) und WAN-artigen (Multi-WAN-Setup, VPN-Gateways) Schnittstellen aus, die von DNSBL gefiltert werden sollen.
Wir müssen nun einige DNSBL-Feeds hinzufügen.
Wir müssen nun ein Update von pfBlockerNG erzwingen, wie wir es oben getan haben.
Sobald das Update abgeschlossen ist, können wir sehen, dass unsere DNSBL-Feeds aktualisiert wurden.
Um sicherzustellen, dass die DNSBL-Filterung funktioniert, werden wir versuchen, eine Verbindung zur Domain herzustellen, die ich zur DNSBL Custom_List hinzugefügt habe: vungle.com. Wenn ich versuche, auf vungle.com in meinem Browser zuzugreifen, wird die DNSBL-Blockseite mit einigen hilfreichen Informationen angezeigt.
Hinweis: pfBlockers DNSBL enthält einen Mini-Webserver, der diese Blockseite bereitstellen kann. IPv4-, IPv6- und GeoIP-Filterung erweitern die bestehende Funktionalität der pfSense-Firewall und blockieren oder erlauben IP-Adressen, ohne eine Blockseite anzuzeigen.
Da haben Sie es also. Sie haben pfBlockerNG-devel erfolgreich in pfSense installiert und konfiguriert. Wir haben IPv4-Filterung, GeoIP-Filterung und DNSBL-Filterung eingerichtet. Alle drei tragen dazu bei, Ihr Netzwerk sicherer und privater zu gestalten, ohne Ihre Verbindung zu verlangsamen.
Wenn Ihr Netzwerk wächst, müssen Sie möglicherweise bestimmte Ports in Ihrem WAN öffnen, wenn Sie einen VPN-Server betreiben möchten oder wenn Sie einen Webserver hosten möchten, der vom Internet aus zugänglich ist. In diesem Fall wird pfBlockerNG ein nützliches Werkzeug in Ihrem Sicherheits-Toolkit sein, um Ihr Netzwerk abzusichern und den Zugriff von außen genau zu steuern.
4 Comments
Peter
Februar 2, 2024 1:43 am
Moin Marc,
Du hast mir den Abend erheblich effizienter gestaltet mit dieser SUPER Anleitung.
Da danke ich Dir für mindestens drei Stunden mehr Schlaf.
Anonymous
Dezember 14, 2023 8:37 pm
Danke für die super verständliche Schritt-für-Schritt Anleitung.
Cedigger
Oktober 8, 2023 4:44 pm
Hallo Marc, auch von mir ein herzliches Dankeschön für die Anleitung und die Mühe die du dir gemacht hast. Ich habe seit ein paar Wochen das Problem gehabt, dass vermehrt Anfragen an meinem Web-Server ankamen, welche aus einschlägig bekannten Ländern ausgelöst wurden. Mit Hilfe deiner Anleitung habe ich pfBlockerNG super schnell eingerichtet und hoffe natürlich, dass mir das etwas Ruhe verschafft.
Rönu
August 10, 2023 7:38 am
Ciao Marc
Ganz, ganz herzlichen Dank für diese tolle Anleitung! Ich habe kürzlich meine pfSense Sachen auf den neusten Stand gebracht und bemerkt, dass der pfBlockerNG sich stark weiter entwickelt hat. Dank deiner Mühe konnte ich mich schnell wieder zurechtfinden und viele Nerven sparen 🙂