Erfahrungen mit pfblockerng dev

the other

Well-known member
Moinsen,
Ich wollte hier kurz meine Erfahrungen mit dem IP und DNS Blocker zum besten geben. Das Programm läuft als zusätzliches Paket auf einer pfsense, diese auf einem APU 2 mit 4 GB RAM.
Das Paket filtert anhand von blocklists auf DNS Anfragen und IP Adressen den Netzverkehr. Dadurch kann zb Werbeinhalt oder bestimmte Seiten als ganzes gesperrt werden.Wer das pihole Projekt kennt, weiß ungefähr was gemeint ist. Der Internetverkehr wird etwas sicherer und Werbung verschwindet.
Nach langen und zufriedenen Jahren mit pihole habe ich nun gewechselt. Während pihole nur DNS Anfragen blockiert, kann pfblockerng auch IP Adressen sperren. Hierzu sind Listen verfügbar (zb die top 20 Spammer nach Kontinenten sortiert usw).
Da meine pfsense hinter einer fritzbox einige ports ins Netz erreichbar macht und der ipv6 Verkehr direkt auf die pfsense zeigt, will ich den Zugriff inbound nur aus einigen, wenigen Ländern ermöglichen. Auch will ich, dass der Zugang zu definierten Seiten bzw Adressen abgelehnt wird.

Kurz...das Paket tut was es soll. Und das auf elegante Weise. Die Installation ist schnell gemacht. Ein Assistent hilft bei den ersten Schritten. Das Einfügen und Aktualisieren von Blocklisten ist einfacher als bei pihole und kann automatisch erfolgen. Für die IP Sperrung werden aliase angelegt, welche dann entweder als floating rules oder per interface als Regel formuliert werden können. Die dann folgende individuelle Konfiguration ist einfach gemacht Dank logisch aufgebauten Menueführungen, nachvollziehbar dank der im Netz mit vielen guten Seiten dokumentierenden community.

Die reporting Funktion ist nicht ganz so übersichtlich gestaltet, dafür aber IMHO wesentlich differenzierter als bei pihole.
Die zusätzliche Speicher- und CPU-Belastung überschaubar (wenn man nicht blind alle Listen einbindet, versteht sich).

Insgesamt eine klare Empfehlung meinerseits. Ich habe mein pihole auf dem raspi geliebt, aber die doch deutlich bequemere Integration in die pfsense und Erweiterung um IP blocking sind fast unschlagbare Argumente für den verdienten Ruhestand des pihole.:eek:(y):ninja:
 

Tommes

Active member
Hi!

Schön, das du pfBlocker mittlerweile auch für dich entdeckt hast. Und trotz das ich selbst sehr angetan von pfBlocker bin, nutze ich das Tool momentan nicht, da es gefühlt mein System (APU2 Board) ein wenig ausbremst. Wie gesagt… ist nur so ein Gefühl und kann auch sein, das ich mir das nur einbilde, aber subjektiv ist der Seitenaufbau dadurch doch langsamer geworden.

Um jedoch nicht komplett mit runtergelassenen Hosen da zu stehen, habe ich mir die Spamhaus Drop Listen als Regeln in meiner pfSense eingerichtet. Ist zwar eher rudimentär und deckt auch nur eine Hand voll IPv4 und IPv6 Adressen ab, aber das ist immer noch besser als nichts. In der Dokumentation zu OPNsense steht sogar beschrieben, wie man das einzurichten hat. Der Artikel ist hierbei auch gut auf die pfSense anwendbar. Hier mal der Link: https://docs.opnsense.org/manual/how-tos/edrop.html

Tommes
 

tiermutter

Well-known member
Kaum zu glauben, dass es Docs bei OPNsense gibt, die besser sind als bei pfsense :) Normalerweise ist das andersrum...

Kann man pfblockerng und die spamhaus Listen überhaupt vergleichen? pfblockerng arbeitet doch im wesentlichen DNS basierend, wenn man die GeoIP außen vor lässt und filtert damit hauptsächlich Werbung. Spamhaus ist ja IP basierend und filtert bösartige Server, sodass ein Client diese auch bei direkter Ansprache der IP nicht erreichen kann, wo ein DNS Blocker nichts ausrichten / schützen würde.
Blocklisten wie spamhaus oder firehol sehe ich da deutlich im Vorteil gegenüber DNSBL, wobei ich Letzteres eher als rudimentär ansehen würde; für das Blocken von Ads und Tracking iO, aber die bösen Dinge will ich dann schon IP basiert blocken.
 

Tommes

Active member
Kaum zu glauben, dass es Docs bei OPNsense gibt, die besser sind als bei pfsense
Bei OPNsense ist halt nicht alles schlecht ;)😂

Kann man pfblockerng und die spamhaus Listen überhaupt vergleichen?
Zumindest hinkt der Vergleich ein wenig, wenngleich man mit pfBlocker auch IP-Listen abdecken kann. Nichts desto trotz sehe ich es genauso wie du. Mir geht es bei Spamhaus eher um die bösen Dinge und das reicht mir für den Moment eigentlich. Firehol hatte ich dabei noch nicht implementiert, was ich aber gleich mal nachholen werde. Kennst du noch weitere empfehlenswerte Drop-Listen, die man auf jeden Fall haben sollte?

Tommes
 

tiermutter

Well-known member
wenngleich man mit pfBlocker auch IP-Listen abdecken kann.
Oh ok, das wusste ich nicht, dachte nur DNSBL und GeoIP.
Kennst du noch weitere empfehlenswerte Drop-Listen, die man auf jeden Fall haben sollte?
Ich verwende nur Spamhaus und Firehol, die Firehol Listen decken schon einiges ab, habe bislang keine weiteren (kostenlosen) Listen gefunden die nicht bereits zum Großteil dadurch abgedeckt sind... Ich glaube Spamhaus DROP nutze ich auch nicht mehr, da die durch Firehol Level 2 abgedeckt ist, von Spamhaus verwende ich nur noch eDROP und DROP6.
Bei Firehol musst Du bei manchen Listen aber aufpassen, Level 1 kann nicht immer (CGNAT) inbound verwendet werden und Level 3 blockt gerne mal Github oder andere Dinge die nicht geblockt werden sollen.
Hier haben wir sogar schon einen Thread dazu:https://forum.heimnetz.de/threads/ip-blocklists-und-dns-blocklists.28/
 

Tommes

Active member
Ah, vielen Dank für den Link. Du hast das hier ja sehr gut beschrieben. Vielen Dank dafür. Werde mich gleich mal dran geben....
 

tiermutter

Well-known member
Hier mal ein Screenshot meiner Regeln, dazu entsprechend auch gleich eine Korrektur:
1640161650563.png
Firehol Level 1 kann outbound (nicht inbound) nicht immer verwendet werden, da es mit Full Bogons auch 0.0.0.0/8 enthält, der Grund war hier also nicht CGNAT (Edit: boah oder war es das doch? Weiß ich gar nicht mehr :D).
DROP verwende ich nur inbound nicht mehr, da durch Level 1 (nicht Level 2) abgedeckt.
 

Tommes

Active member
Wow. Nochmals vielen Dank dafür. Vielleicht blöde Frage: Der Screenshot zeigt hier wohl ausschließlich auf das WAN-Interface, richtig? Hast du für die LAN Segmente auch entsprechende Regeln erstellt, so wie in der von mir o.a. verlinkten Anleitung beschrieben?
 

tiermutter

Well-known member
Sorry, könnt ihr pfsense Burschen glaube ich nicht kennen:
Das sind alles Floating Rules, die auf mehrere Interfaces angewendet werden.
Die Regeln mit dem Alias / der Liste bei Source werden auf allen WAN Interfaces (Glasfaser und LTE) angewendet, die Regeln mit dem Alias / der Liste bei Destination werden auf allen internen Interfaces (LAN, VLAN, VPN) angewendet.
 

tiermutter

Well-known member
Alternativ hätte ich die Regeln also für jedes Interface separat erstellen können, also statt insgesamt 14 Regeln, hätte ich dann 44 Regeln erstellen müssen.
Dank OPNsense brauche ich das aber nicht und kann neue Interfaces einfach in der Regel mit auswählen und fertig ist ;) 😝
 

Tommes

Active member
Aber natürlich gibt es auch Floating Rules auf der pfSense. Nur nutzen einige Burschen wie ich diese Art des Rule-Setting nicht. Bei max. 7 Subnetzen (VLANs) gehe ich lieber direkt in das jeweilige Interface als das über die Floating Rules zu steuern. Jeder Jeck ist anders.

Kurz nachgedacht... das mit den Floating Rules ist vielleicht doch garnicht mal so blöd. Ich geh grad mal bauen...
 
Zuletzt bearbeitet:

tiermutter

Well-known member
Ah, schon wieder was gelernt, dachte sowas gab es da nicht :D
Bei solchen Regeln die sowieso auf alles wirken sollen finde ich das übersichtlicher und einfacher, aber ja, jeder ist halt auf andere Weise speziell, deswegen zocke ich ja auch mit invertierter Maus :cool:
 

the other

Well-known member
Moinsen,
ich nutze bei pfblockerNG_dev sowohl GeoIP (alles auf INBOUND geblockt bis auf einige wenige europäische Länder) normal IP-Blocklisten als auch DNS Blocklisten. Damit decke ich denke ich schon mal einige Fallen ab. Die Auslastung von CPU und RAM hält sich in Grenzen (bei 4 GB RAM gerade mal ca. 27 % Auslastung), da ich hier das Python Script nutze und nicht das unbound Teil. Ersteres geht mit der Hardware etwas schonender um.

Die IP Regeln sind allesamt als reine Floating Rules (natürlich gibbet es das auch bei der pfsense, tststs :p)angelegt.

:cool:
 

tiermutter

Well-known member
Die Auslastung von CPU und RAM hält sich in Grenzen (bei 4 GB RAM gerade mal ca. 27 % Auslastung)
Was für eine CPU ist das denn, bzw. was macht pfblockerng so dolles mit der CPU? Eigentlich sollten doch nur einige Einträge in den pftables sein, die natürlich verarbeitet werden müssen, aber damit ist meine E3845 bei 702510 Einträgen relativ gelangeweilt, zumindest wenn kein großér Traffic ist:
1640168155712.png
Achja und RAM bei 15% von 4GB
 

the other

Well-known member
Moinsen,
ist ein APU Board mit
1,0 GHz AMD Embedded G-Series GX-412TC CPU

Die Prozentangaben bezog sich aufs RAM only. Die CPU schnarcht hier auch weg. Und ich habe da ja noch einige andere Dinge laufen...also nicht nur den pfblocker...
 

tiermutter

Well-known member
Alles klar.
Wie stelle ich mir die Anwendung von pfblocker denn eigentlich vor?
Wird das alles darin verwaltet und darüber entsprechende Einträge in sen tables erstellt, oder ist das eine Art Assistent, der entsprechend FW Regeln anlegt?
 

the other

Well-known member
Moinsen,
es handelt sich um ein zusätzliches Paket. Installiert fasst es das Blocken von IPs und DNS Abfragen zusammen. DU kannst auch GeoIP damit machen (kostenlose Registrierung allerdings nötig).

Du kannst aus vorgefertigten Listen (IP wie auch DNS) auswählen, bei kleiner Hardware (hier!) eher nicht gleich ALLES einbinden versteht sich...
Die Listen werden durch das Programm automatisch zu vorgegebenen Zeiten ( in vorgegebenen Zeitabständen) aktualisiert.
Die DNS Blockierung erfolgt im Programm. Die IP Blocklisten fügst du in die Firewall ein (kann automatisiert werden oder eben manuell via Anlegen von Aliasen).

Hier noch dies:

Und das:

:)
 

Tommes

Active member
Nun denn.

Streng nach dem Motto - Was interessiert mich mein Geschwätz von gestern - , habe ich mich grade nochmal intensiv mit pfBlockerNG auseinandergesetzt. Dabei habe ich mich speziell auf das In- und Outbound Blocking von IPv4 sowie IPv6 sowie GeoIP konzentriert, wobei ich zugeben muss, das ich das mit dem In- und Outbound Blocking überhaupt nicht auf dem Sender hatte. Erst als @tiermutter ein Screenshot seiner Floating Rules hier gepostet hatte, wurde ich darauf aufmerksam.

Lange Rede, kurzer Sinn. Ich denke, das ich und pfBlockerNG wohl doch noch Freunde werden, wenngleich ich das DNSBL Blocking erstmal deaktiviert lasse. Ich hoffe, das ich das soweit alles richtig eingestellt habe, ansonsten wäre ich um Hilfestellung und Erklärungen dankbar. Sicherlich sieht man in dem Screenshot nicht, welche Drop-Listen und GeoIPs ich eingerichtet habe, aber das ist ja auch Wurst. Es geht ja ums Prinzip. Hier also mal ein Screenshot meiner pfSense Floating Rules.

1640187257028.png

Tommes
 

the other

Well-known member
Moinsen,
sieht doch auf den ersten Blick gut aus.
Falls Problem > hier gerne melden :)
Eigentlich kannst du ja mit den IP Blocklisten bzgl GeoIP nicht sooo viel falsch machen. Einfach alle nur INbound, dann hören auch diverse Anklopfversuche auf.
Die sonst den Feeds zu entnehmenden IP Blocklisten habe ich idR immer OUT und INbound gesetzt (weil ich ja weder von denen noch zu denen was will).

Und mit den DNS Blocklisten hab ich bisher keinen Stress gehabt. Irgendwann meckerte die pfsense mal, dass zu viele Einträge vorhanden seien und die Tables erweitert werden müssten. Das war dann der Anlass, das Regelwerk mal zu entschlacken, einige Aliase zu entfernen und dann war gut.

Im Vergleich zum früher laaaange eingesetzten, stets geliebten und mittlerweile eingemotteten Pihole bin ich absolut zufrieden (sagte ich das ganz am Anfang schon :p ?) und würde auch nicht zurück gehen wollen.
Wichtig eben: die Empfehlung geht hin zu pfblockerNG DEV (!). Und dann eben auch mit dem Python Module in unbound und eben auch im DNSBL (ebenfalls Python statt unbound anwählen!).

;)
 

tiermutter

Well-known member
Hat denn eigentlich noch jemand schicke v6 IP Blocklisten? DROP6 ist leider die einzige (kostenlose) Liste die ich für v6 kenne.
 

Zurzeit aktive Besucher

Neueste Beiträge

Letzte Anleitungen

Statistik des Forums

Themen
956
Beiträge
13.925
Mitglieder
487
Neuestes Mitglied
hendrik2022
Oben