Website-Suche

Installieren und Konfigurieren von pfBlockerNg für DNS Black Listing in der pfSense-Firewall


In einem früheren Artikel wurde die Installation einer leistungsfähigen FreeBSD-basierten Firewall-Lösung namens pfSense diskutiert. pfSense ist, wie im vorherigen Artikel erwähnt, eine sehr leistungsstarke und flexible Firewall-Lösung, die einen alten Computer nutzen kann, der möglicherweise nicht viel tut.

In diesem Artikel geht es um ein wunderbares Add-On-Paket für pfsense namens pfBlockerNG.

pfBlockerNG ist ein Paket, das in pfSense installiert werden kann, um dem Firewall-Administrator die Möglichkeit zu geben, die Funktionen der Firewall über die traditionelle zustandsbehaftete L2/L3/L4-Firewall hinaus zu erweitern.

Mit der Weiterentwicklung der Fähigkeiten von Angreifern und Cyberkriminellen müssen auch die Abwehrmaßnahmen verbessert werden, die eingerichtet werden, um ihre Bemühungen zu vereiteln. Wie bei allem in der Computerwelt gibt es keine Lösung, die alle Produkte behebt.

pfBlockerNG bietet pfSense die Möglichkeit, dass die Firewall Entscheidungen wie die Geolokalisierung einer IP-Adresse, den Domainnamen einer Ressource oder die Alexa-Bewertungen bestimmter Websites zulässt/verweigert.

Die Möglichkeit, Elemente wie Domainnamen einzuschränken, ist sehr vorteilhaft, da sie es Administratoren ermöglicht, Versuche interner Computer zu vereiteln, die versuchen, eine Verbindung zu bekannten schädlichen Domains herzustellen (mit anderen Worten, Domains, von denen bekannt ist, dass sie Malware, illegale Inhalte oder andere heimtückische Daten enthalten).

In dieser Anleitung wird die Konfiguration eines pfSense-Firewall-Geräts für die Verwendung des pfBlockerNG-Pakets sowie einige grundlegende Beispiele für Domain-Blocklisten erläutert, die dem pfBlockerNG-Tool hinzugefügt/konfiguriert werden können.

Anforderungen

Dieser Artikel wird einige Annahmen treffen und auf dem vorherigen Installationsartikel über pfSense aufbauen. Die Annahmen lauten wie folgt:

  • pfSense ist bereits installiert und hat derzeit keine Regeln konfiguriert (Clean Slate).
  • Die Firewall verfügt nur über ein WAN und einen LAN-Port (2 Ports).
  • Das IP-Schema, das auf der LAN-Seite verwendet wird, ist 192.168.0.0/24.

Es ist zu beachten, dass pfBlockerNG auf einer bereits laufenden/konfigurierten pfSense-Firewall konfiguriert werden kann. Der Grund für diese Annahmen hier ist einfach der Vernunft willen, und viele der Aufgaben, die erledigt werden, können immer noch auf einer nicht sauberen pfSense-Box erledigt werden.

Labor-Diagramm

Die folgende Abbildung zeigt das Lab-Diagramm für die pfSense-Umgebung, die in diesem Artikel verwendet wird.

Installieren von pfBlockerNG für pfSense

Wenn das Labor einsatzbereit ist, ist es an der Zeit, zu beginnen! Der erste Schritt besteht darin, sich mit der Weboberfläche für die pfSense-Firewall zu verbinden. Auch in dieser Laborumgebung wird das Netzwerk 192.168.0.0/24 verwendet, wobei die Firewall als Gateway mit der Adresse 192.168.0.1 fungiert. Wenn Sie einen Webbrowser verwenden und zu "https://192.168.0.1" navigieren, wird die pfSense-Anmeldeseite angezeigt.

Einige Browser können sich über das SSL-Zertifikat beschweren, dies ist normal, da das Zertifikat von der pfSense-Firewall selbst signiert wird. Sie können die Warnmeldung getrost akzeptieren, und falls gewünscht, kann ein gültiges Zertifikat installiert werden, das von einer legitimen Zertifizierungsstelle signiert wurde, aber dies würde den Rahmen dieses Artikels sprengen.

Nachdem Sie erfolgreich auf "Erweitert" und dann auf "Ausnahme hinzufügen..." geklickt haben, klicken Sie, um die Sicherheitsausnahme zu bestätigen. Die pfSense-Anmeldeseite wird dann angezeigt und ermöglicht es dem Administrator, sich bei der Firewall-Appliance anzumelden.

Sobald Sie sich auf der Hauptseite von pfSense angemeldet haben, klicken Sie auf das Dropdown-Menü "System" und wählen Sie dann "Paket-Manager".

Wenn Sie auf diesen Link klicken, gelangen Sie zum Paket-Manager-Fenster. Die erste Seite, die geladen werden soll, enthält alle aktuell installierten Pakete und ist leer (auch in dieser Anleitung wird von einer sauberen pfSense-Installation ausgegangen). Klicken Sie auf den Text 'Verfügbare Pakete', um eine Liste der installierbaren Pakete für pfSense zu erhalten.

Sobald die Seite "Verfügbare Pakete" geladen ist, geben Sie "pfblocker" in das Feld "Suchbegriff" ein und klicken Sie auf "Suchen". Das erste Element, das zurückgegeben wird, sollte pfBlockerNG sein. Suchen Sie die Schaltfläche "Installieren" rechts neben der pfBlockerNG-Beschreibung und klicken Sie auf das "+", um das Paket zu installieren.

Die Seite wird neu geladen und der Administrator fordert den Administrator auf, die Installation mit einem Klick auf "Bestätigen" zu bestätigen.

Nach der Bestätigung beginnt pfSense mit der Installation von pfBlockerNG. Navigieren Sie nicht von der Installer-Seite weg! Warten Sie, bis auf der Seite die erfolgreiche Installation angezeigt wird.

Ist die Installation abgeschlossen, kann die pfBlockerNG-Konfiguration beginnen. Die erste Aufgabe, die erledigt werden muss, sind einige Erklärungen darüber, was passieren wird, sobald pfBlockerNG richtig konfiguriert ist.

Sobald pfBlockerNG konfiguriert ist, sollten DNS-Anfragen für Websites von der pfSense-Firewall abgefangen werden, auf der die pfBlockerNG-Software ausgeführt wird. pfBlockerNG verfügt dann über aktualisierte Listen bekannter fehlerhafter Domains, die einer ungültigen IP-Adresse zugeordnet sind.

Die pfSense-Firewall muss DNS-Anfragen abfangen, um fehlerhafte Domains herausfiltern zu können, und verwendet einen lokalen DNS-Resolver namens UnBound. Das bedeutet, dass Clients auf der LAN-Schnittstelle die pfSense-Firewall als DNS-Resolver verwenden müssen.

Wenn der Client eine Domäne anfordert, die sich in den Sperrlisten von pfBlockerNG befindet, gibt pfBlockerNG eine falsche IP-Adresse für die Domäne zurück. Beginnen wir mit dem Prozess!

pfBlockerNG-Konfiguration für pfSense

Der erste Schritt besteht darin, den Unbound-DNS-Resolver auf der pfSense-Firewall zu aktivieren. Klicken Sie dazu auf das Dropdown-Menü "Dienste" und wählen Sie dann "DNS-Resolver".

Wenn die Seite neu geladen wird, können die allgemeinen Einstellungen des DNS-Resolvers konfiguriert werden. Diese erste Option, die konfiguriert werden muss, ist das Kontrollkästchen für "DNS Resolver aktivieren".

Die nächsten Einstellungen bestehen darin, den DNS-Überwachungsport (normalerweise Port 53) festzulegen, die Netzwerkschnittstellen festzulegen, an denen der DNS-Resolver lauschen soll (in dieser Konfiguration sollte es der LAN-Port und Localhost sein), und dann den Ausgangsport festzulegen (sollte in dieser Konfiguration WAN sein).

Sobald die Auswahl getroffen wurde, klicken Sie unten auf der Seite auf "Speichern" und dann auf die Schaltfläche "Änderungen übernehmen", die oben auf der Seite angezeigt wird.

Der nächste Schritt ist der erste Schritt bei der Konfiguration von pfBlockerNG speziell. Navigieren Sie zur pfBlockerNG-Konfigurationsseite unter dem Menü "Firewall" und klicken Sie dann auf "pfBlockerNG".

Sobald pfBlockerNG geladen ist, klicken Sie zuerst auf die Registerkarte "DNSBL", um mit der Einrichtung der DNS-Listen zu beginnen, bevor Sie pfBlockerNG aktivieren.

Wenn die 'DNSBL'-Seite geladen wird, gibt es eine neue Reihe von Menüs unter den pfBlockerNG-Menüs (unten grün hervorgehoben). Der erste Punkt, der behoben werden muss, ist das Kontrollkästchen "DNSBL aktivieren" (unten grün hervorgehoben).

Für dieses Kontrollkästchen muss der UnBound-DNS-Resolver für das pfSense-Feld verwendet werden, um DNS-Anforderungen von LAN-Clients zu überprüfen. Keine Sorge, UnBound wurde früher konfiguriert, aber dieses Kontrollkästchen muss aktiviert werden! Das andere Element, das auf diesem Bildschirm ausgefüllt werden muss, ist die "DNSBL Virtual IP".

Diese IP-Adresse muss sich im privaten Netzwerkbereich befinden und darf keine gültige IP-Adresse in dem Netzwerk sein, in dem pfSense verwendet wird. Ein LAN-Netzwerk auf 192.168.0.0/24 könnte z. B. die IP-Adresse 10.0.0.1 verwenden, da es sich um eine private IP-Adresse handelt, die nicht Teil des LAN-Netzwerks ist.

Diese IP wird verwendet, um Statistiken zu sammeln und Domains zu überwachen, die von pfBlockerNG abgelehnt werden.

Wenn man auf der Seite nach unten scrollt, gibt es noch ein paar weitere erwähnenswerte Einstellungen. Das erste ist das 'DNSBL Listening Interface'. Für dieses Setup und die meisten Setups sollte diese Einstellung auf 'LAN' gesetzt werden.

Die andere Einstellung ist "List Action" unter "DNSBL IP Firewall Settings". Diese Einstellung legt fest, was passieren soll, wenn ein DNSBL-Feed IP-Adressen bereitstellt.

Die pfBlockerNG-Regeln können so eingerichtet werden, dass sie eine beliebige Anzahl von Aktionen ausführen, aber höchstwahrscheinlich ist "Beide verweigern" die gewünschte Option. Dadurch werden eingehende und ausgehende Verbindungen zur IP/Domäne im DNSBL-Feed verhindert.

Sobald die Elemente ausgewählt wurden, scrollen Sie zum Ende der Seite und klicken Sie auf die Schaltfläche "Speichern". Sobald die Seite neu geladen wird, ist es an der Zeit, die DNS-Sperrlisten zu konfigurieren, die verwendet werden sollen.

pfBlockerNG bietet dem Administrator zwei Optionen, die je nach Vorliebe des Administrators unabhängig voneinander oder zusammen konfiguriert werden können. Die beiden Optionen sind manuelle Feeds von anderen Webseiten oder EasyLists.

Um mehr über die verschiedenen EasyLists zu erfahren, besuchen Sie bitte die Homepage des Projekts: https://easylist.to/

Konfigurieren von pfBlockerNG EasyList

Lassen Sie uns zuerst die EasyLists besprechen und konfigurieren. Die meisten Heimanwender werden diese Listen sowohl als ausreichend als auch als am wenigsten administrativ belastend empfinden.

Die beiden in pfBlockerNG verfügbaren EasyLists sind 'EasyList w/o Element Hiding' und 'EasyPrivacy'. Um eine dieser Listen zu verwenden, klicken Sie zunächst auf die "DNSBL EasyList" oben auf der Seite.

Sobald die Seite neu geladen wird, wird der EasyList-Konfigurationsbereich verfügbar gemacht. Die folgenden Einstellungen müssen konfiguriert werden:

  • DNS-Gruppenname – Auswahl des Benutzers, aber keine Sonderzeichen
  • Beschreibung – Wahl des Benutzers, Sonderzeichen erlaubt
  • EasyList Feeds State – Gibt an, ob die konfigurierte Liste verwendet wird
  • EasyList Feed – Welche Liste soll verwendet werden (EasyList oder EasyPrivacy), beide können hinzugefügt werden
  • Kopfzeile/Beschriftung – Benutzerauswahl, aber keine Sonderzeichen

Im nächsten Abschnitt wird bestimmt, welche Teile der Listen blockiert werden. Auch hier handelt es sich um Benutzereinstellungen, und bei Bedarf können mehrere ausgewählt werden. Die wichtigen Einstellungen in den 'DNSBL – EasyList Settings' sind wie folgt:

  • Kategorien – Benutzereinstellungen und mehrere können ausgewählt werden
  • Listenaktion – Muss auf "Ungebunden" gesetzt werden, um DNS-Anfragen zu überprüfen
  • Aktualisierungshäufigkeit – Wie oft pfSense die Liste der fehlerhaften Websites aktualisiert

Wenn die EasyList-Einstellungen nach den Wünschen des Benutzers konfiguriert sind, scrollen Sie zum Ende der Seite und klicken Sie auf die Schaltfläche "Speichern". Sobald die Seite neu geladen ist, scrollen Sie zum Anfang der Seite und klicken Sie auf die Registerkarte "Aktualisieren".

Sobald Sie sich auf der Registerkarte "Aktualisieren" befinden, aktivieren Sie das Optionsfeld für "Neu laden" und aktivieren Sie dann das Optionsfeld für "Alle". Dies wird durch eine Reihe von Web-Downloads ausgeführt, um die Sperrlisten zu erhalten, die zuvor auf der EasyList-Konfigurationsseite ausgewählt wurden.

Dies muss manuell erfolgen, da sonst die Listen erst nach dem geplanten Cron-Task heruntergeladen werden. Jedes Mal, wenn Änderungen vorgenommen werden (Listen, die hinzugefügt oder entfernt werden), stellen Sie sicher, dass Sie diesen Schritt ausführen.

Beobachten Sie das Protokollfenster unten auf Fehler. Wenn alles nach Plan gelaufen ist, sollten Client-Rechner auf der LAN-Seite der Firewall in der Lage sein, die pfSense-Firewall nach bekannten bösartigen Websites abzufragen und im Gegenzug ungültige IP-Adressen zu erhalten. Auch hier müssen die Client-Rechner so eingestellt werden, dass sie die pfsense-Box als DNS-Resolver verwenden!

Beachten Sie, dass die URL in der obigen nslookup die falsche IP-Adresse zurückgibt, die zuvor in den pfBlockerNG-Konfigurationen konfiguriert wurde. Das ist das gewünschte Ergebnis. Dies würde dazu führen, dass jede Anfrage an die URL "100pour.com" an die falsche IP-Adresse 10.0.0.1 weitergeleitet wird.

Konfigurieren von DNSBL-Feeds für pfSense

Im Gegensatz zu den AdBlock EasyLists gibt es innerhalb von pfBlockerNG auch die Möglichkeit, andere DNS Black Lists zu verwenden. Es gibt Hunderte von Listen, die verwendet werden, um Malware-Befehle und -Kontrolle, Spyware, Adware, Tor-Knoten und alle möglichen anderen nützlichen Listen zu verfolgen.

Diese Listen können oft in pfBlockerNG gezogen und auch als weitere DNS Black Lists verwendet werden. Es gibt eine ganze Reihe von Ressourcen, die nützliche Listen bereitstellen:

  • https://forum.pfsense.org/index.php?topic=114499.0
  • https://forum.pfsense.org/index.php?topic=102470.0
  • https://forum.pfsense.org/index.php?topic=86212.0

Die obigen Links bieten Threads im pfSense-Forum, in denen Mitglieder eine große Sammlung der von ihnen verwendeten Listen gepostet haben. Zu den Lieblingslisten des Autors gehören die folgenden:

  • http://adaway.org/hosts.txt
  • http://www.malwaredomainlist.com/hostslist/hosts.txt
  • http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext
  • https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
  • https://gist.githubusercontent.com/BBcan177/4a8bf37c131be4803cb2/raw

Auch hier gibt es tonnenweise andere Listen und der Autor ermutigt Einzelpersonen dringend, nach mehr/anderen Listen zu suchen. Fahren wir jedoch mit den Konfigurationsaufgaben fort.

Der erste Schritt besteht darin, über 'Firewall' -> 'pfBlockerNG' -> 'DSNBL' erneut in das Konfigurationsmenü von pfBlockerNG zu gehen.

Sobald Sie wieder auf der DNSBL-Konfigurationsseite sind, klicken Sie auf den Text "DNSBL-Feeds" und klicken Sie dann auf die Schaltfläche "Hinzufügen", sobald die Seite aktualisiert wird.

Die Schaltfläche "Hinzufügen" ermöglicht es dem Administrator, der pfBlockerNG-Software weitere Listen mit fehlerhaften IP-Adressen oder DNS-Namen hinzuzufügen (die beiden Elemente, die bereits in der Liste enthalten sind, stammen von dem Autor aus dem Test). Der Hinzufügen-Button bringt den Administrator auf eine Seite, auf der DNSBL-Listen zur Firewall hinzugefügt werden können.

Die wichtigsten Einstellungen in dieser Ausgabe sind die folgenden:

  • DNS-Gruppenname – Benutzer ausgewählt
  • Beschreibung – Nützlich, um Gruppen zu organisieren
  • DNSBL-Einstellungen – Dies sind die eigentlichen Listen
    • Zustand – Ob diese Quelle verwendet wird oder nicht und wie sie gewonnen wird
    • Quelle – Der Link/die Quelle der DNS-Blacklist
    • Kopfzeile/Beschriftung – Auswahl des Benutzers; keine Sonderzeichen
  • Listenaktion – Auf Ungebunden festlegen
  • Aktualisierungshäufigkeit – Wie oft die Liste aktualisiert werden soll

Sobald Sie diese Einstellungen vorgenommen haben, klicken Sie unten auf der Seite auf die Schaltfläche Speichern. Wie bei allen Änderungen an pfBlockerNG werden die Änderungen mit dem nächsten geplanten Cron-Intervall wirksam, oder der Administrator kann manuell ein erneutes Laden erzwingen, indem er zur Registerkarte "Aktualisieren" navigiert, auf das Optionsfeld "Neu laden" und dann auf das Optionsfeld "Alle" klickt. Sobald diese ausgewählt sind, klicken Sie auf die Schaltfläche "Ausführen".

Beobachten Sie das Protokollfenster unten auf Fehler. Wenn alles nach Plan gelaufen ist, testen Sie, ob die Listen funktionieren, indem Sie einfach versuchen, einen nslookup von einem Client auf der LAN-Seite zu einer der Domänen durchzuführen, die in einer der Textdateien aufgeführt sind, die in der DNSBL-Konfiguration verwendet werden.

Wie in der obigen Ausgabe zu sehen ist, gibt das pfSense-Gerät die virtuelle IP-Adresse zurück, die in pfBlockerNG als ungültige IP für die Blacklist-Domänen konfiguriert wurde.

An diesem Punkt kann der Administrator mit der Optimierung der Listen fortfahren, indem er weitere Listen hinzufügt oder benutzerdefinierte Domänen-/IP-Listen erstellt. pfBlockerNG wird diese eingeschränkten Domains weiterhin an eine gefälschte IP-Adresse umleiten.

Vielen Dank, dass Sie diesen Artikel über pfBlockerNG gelesen haben. Bitte zeigen Sie Ihre Wertschätzung oder Unterstützung für die pfSense-Software sowie pfBlockerNG, indem Sie auf jede erdenkliche Weise zur Weiterentwicklung dieser beiden wunderbaren Produkte beitragen. Bitte kommentieren Sie wie immer unten mit Vorschlägen oder Fragen!

Verwandte Artikel: