Benutzer-Werkzeuge

Webseiten-Werkzeuge


de.bkp:intern:dokumentationen:pfsense-webfilter

Webfilter auf pfSense einrichten

Version Status Datum Author URL
0.1 Erster Entwurf 27.04.2023 M.I.
0.2 Ergänzungen 04.05.2023 S.E.
1.0 Review und Freigabe TT.MM.JJJJ Vorname Nachname

1. Kurzfassung

Hier wird beschrieben, wie wir einen Webfilter mit pfBlockerNG erstellt haben, um gewisse Webseiten zu blockieren. Gearbeitet wurde sowohl mit fertigen Blocklisten als auch mit einzelnen Domains, IP-Adressen und Vlan-übergreifenden Einstellungen.

2. webfilter mit pfblockerng erstellen

Schritt 1 Installation

Pfsense normal installieren und einrichten.

pkg update nicht vergessen!

Danach WAN und LAN konfigurieren und alles anschliessen.

Sobald die pfSense Firewall betriebsbereit ist, kann mit der Installation von pfblocker angefangen werden dazu gehen sie unter System package Manager und dann unter availebale packages.

Dann suchen sie nach pfblocker und laden sich die -dev Version runter das ist ganz wichtig

Wenn sie dies haben, Könen sie zu schritt zwei weiter

Schritt 2 einrichten

achtung, es hat einen Wizard

Um das Programm pfblocker einzurichten, gehen Sie auf den Tab Firewall und dann auf pfblockerng. Dort in dem General Tab müssen Sie pfblockerng enable drücken das ist ein Kästchen welches danach blau mit einem weissen haken erscheinen sollte.

Danach gehen Sie auf update setzen die Force Option auf update und klicken auf run

Dies dauert eine Weile hängt aber von Ihrem System ab mit welcher Geschwindigkeit es lädt.

Haben Sie das update abgeschlossen gehen Sie auf ip hier richten Sie unter Place holder ip eine ip ein an die alle Anfragen, die geblockt werden sollen, gesendet werden

Und dann richten Sie noch die interface Rules ein, welche Sie von diesem Bild übernehmen können

Danach machen Sie nochmals ein Update und die Speicherung nicht vergessen.

Schritt 3 blockieren der Webseiten

In diesem schritt blockieren wir die Webseiten sowohl mit einer Liste als auch einzeln.

Als erstes gehen sie unter ip auf ipv4

Hier legen Sie eine neue Tabelle an, welche Sie benennen können wie Sie wollen aber am besten ist ein Name welcher einfach und schnell darauf hinweist was geblockt wird von dieser Tabelle, ich habe zum Testen hier den Namen Test gegeben.

Sind Sie jetzt auf dieser Tabelle, dann Könen sie unter ipsource Definition einen Link zu einer txt Datei einfügen, am besten eignet sich dazu eine raw txt Datei von GitHub, aber es gehen auch selfhosted Dateien. In dieser txt wird dann definiert was alles geblockt wird, das sieht dann etwa so aus:

Diese Liste blockt porno Seiten aber die listen Können jede ip Adresse oder Domäne beinhalten, die es gibt und die werden dann auch blockiert.

Um einzelne Webseiten zu blockieren, müssen Sie einfach nur unter ipv4 custom_list die Domäne oder die ip Adresse eingeben, wenn Sie die Domäne eingeben wollen müssen Sie vorher das Kästchen enable Domain/as bestätigen.

Jetzt müssen Sie nur noch auf save drücken und dann unter update reload auswählen und all darunter.

Dann müssen Sie das nur noch durch Laufen lassen, dann sind Sie fertig können das jetzt Ausprobieren, indem Sie eine http: Adresse aus der Liste nehmen und diese aufrufen, das sieht dann so aus: Bei https: Adressen kommt diese Seite nicht, dafür die Browser Warnung für unsichere Webseiten, dort können sie auf Erweitert und dort sind dann keine Optionen, um weiter auf diese Seite zu kommen.

Wichtig ist, dass dies nur mit ipv4 Adressen funktioniert, für ipv6 müssen Sie das ganze aber gleich einrichten, nur unter dem Tab ipv6 und dies funktioniert auch nur wenn die Firewall als ihr dns/Gateway konfiguriert ist.

Schritt 4 überprüfen des DNS

Damit das Ganze jetzt auch auf einer Firewall welche mehrere vlans oder andere Arten wie vpn hat funktioniert, muss der interne DNS Server auch im DHCP eingetragen werden, Damit dies automatisch funktioniert. Ansonsten müsste jeder User seinen DNS selber eintragen, wenn er nicht im lan netz drin ist.

Die DHCP-Einstellungen für jedes vlan müssten so aus sehen

Einmal unsere Firewall als DNS 1 und dann ein externer Google Server als DNS 2 um unbekannte Seiten aufzurufen

Wichtig ist noch, dass auch wirklich alle vlans diesen Blocker bekommen eine any Rule hnzuzufügen, bei der das vlan auf die externe Placeholder ip zugreifen kann, ich habe dafür eine any to any Rule gemacht, aber es würde auch eine normale a to b Rule reichen, wenn man das noch weiter eingrenzen möchte.

Die in dem Bild gezeigte Rule kommt automatisch, kann aber je nach Bedürfnissen angepasst werden.

Und der dritte Schritt um diesen Blocker auf allen vlans zu aktivieren, ist es eine Floating Rule einzufügen, dies kann manuell oder automatisch gemacht werden.

Automatisch geht es über den Tab pfblockerng/ip, dann muss nur ein Häkchen gesetzt werden. Manuell können wir auch diese Floating Rule selber einfügen.

Nachdem alles wie beschrieben eingerichtet ist, wird es auch für alle vlans eingerichtet.

Netzplan der Testumgebung

intern:dokumentationen:pfsense-webfilter.png

3. Quellenverzeichnis

Screenshots aufgenommen von Max Ivens

Wissensbeschaffung durch Ausprobieren und folgendes Video: https://www.youtube.com/watch?v=7_yI1FEw_j0&ab_channel=OpenSchoolSolutions

Gezeigtes txt File: https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn-social/hosts

de.bkp/intern/dokumentationen/pfsense-webfilter.txt · Zuletzt geändert: 2023/05/04 11:55 von 127.0.0.1