Fortigate mit Pi-Hole Listen

Auslöser

Genervt von den vielen Werbeanzeigen, vor allem auf dem Mobiltelefon, habe ich mich an Pi-Hole erinnert. Die Lösung hat immer gut funktioniert und hat sogar in mobilen Anwendungen – aka Apps – die Werbung effizient herausgefiltert und unterdrückt. Damit habe ich mir einerseits erspart auf den mobilen Endgeräten extra Software zu installieren und andererseits eigene Listen zu pflegen. Ja, Pi-Hole funktioniert mit Listen. Diese Listen werden moderiert, also ständig angepasst. Auf Github gibt es etliche Listen. Auch Reddit ist ein guter Anlaufpunkt für eine Suche. Die Listen können Domänen Namen, oder IP Adresse beinhalten.

Pi-Hole kann eigentlich wesentlich mehr, aber mir geht es vor allem um die Listen von Servern, die Werbung ausliefern. Die Funktionalität von Ausnahmen, Filtern von Ausdrücken, aktualisieren usw. von Listen bietet meine Firewall – FortiGate – auch. Die Alternative Pi-Hole als weiteren DNS in meinem Netz zu installieren habe ich verworfen. Für mich sprechen einigen Gründe dagegen, wie die Update Thematik. Noch ein System, dass zusätzlich verwaltet werden muss. Ganz zu schweigen die Integration in mein Multi-Domänen und stark segmentiertes Netzwerk. (Anm.: Das fällt aber eher unter Security by Obscurity …. )

Siehe da, es gibt die Möglichkeit ab FortiOS 6.2 , einer Fortigate-Firewall externe Blocklisten hinzuzufügen. Also frisch ans Werk und gleich ausprobieren.

Anleitung

Checkliste

  • Externe Filterlisten hinzufügen
  • Einrichten DNS-Filter auf der Fortigate
  • Fortigate als DNS für Netzwerksegment zuweisen und aktivieren

Klingt nicht nur einfach, sondern ist es auch. Besonders schnell geht es auf der Konsole, vielleicht gleich auch als Skript …

Schritt 1 – hinzufügen der Listen:

Verbindung via SSH Sitzung aufbauen und dann auf der Konsole folgende Befehle absetzen.

config system external-resource
  edit "Disconnect-Ad-Filter"
    set type domain
    set category 192
    set resource "https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt"
    set refresh-rate 60
  next
  edit "AdGuard"
    set type domain
    set category 193
    set resource "https://v.firebog.net/hosts/AdguardDNS.txt"
    set refresh-rate 60
  next
  . (Hier können folgen dann alle weiteren Listen)
  . (Das hier ist nur ein Platzhalter)
  .
end

Danach übergibt man die Konfiguration an den DNS Server der Fortigate und beendet die Sitzung.

config system dns-server
end

Schritt 2 – DNS Filter aktivieren und Filter anpassen

Als nächstes fügen wir einen DNS-Filter hinzu. Das geht über die grafische Oberfläche, aber auch über die Konsole. Die Einstellungen finden sich unter „Security Profiles/ DNS Filter“. Hier ist ein Profildokument mit dem Namen „default“ bereits vorhanden. Das öffnet du und aktivierst den FortiGuard Category Based Filter. Somit siehst du die vorhandenen Listen und die damit verbundenen Möglichkeiten. „Allow“, „Monitor“, „Redirect to Block Portal“ – zumindest die Option „Monitor“ gibt Sinn, sonst steht gar nichts in dem Protokoll.

In der Liste, die nach Kategorien eingeteilt ist, findet sich jetzt am Ende eine Kategorie „Remote Categories“. Öffne, erweitere, diese Kategorie und da sind nun alle hinzugefügten Listen. Hier kannst du mal im ersten Schritt alle Einträge markiere und auf „Redirect to Block Portal“ setzen.

Es gibt noch weitere Kategorien, wie IP Sperrlisten. Du kannst gerne nachlesen in der Online Dokumentation, oder vielleicht auch danach suchen.

Schritt 3 – einrichten des DNS Servers

Die Einrichtung eines DNS-Servers auf einer FortiGate ist am einfachsten per CLI (wie die meisten Dinge). Dazu musst du den Namen des Netzwerk(Segments) wissen und wie dein DNS Profil heisst.

edit "Produktion"
  set mode forward-only
  set dnsfilter-profile "default"
end

Das war es dann schon fast. Fast, weil der Client erst die Änderung bezüglich DNS Filter nur dann mitbekommt, wenn er die Änderungen mitgeteilt bekommt. Das geschieht dann, wenn er eine dynamische Adresse über den DHCP Dienst zugewiesen bekommt, automatisch. Also kontrolliere in deiner Netzwerkeinstellung, dass der DHCP als Option auch die Fortigate in diesem Netzwerksegment als DNS übergibt. Das war es dann aber wirklich schon. Nach einem Neustart des Client sollte dieser nur mehr gefilterte Seite ausgeliefert bekommen. YouTube-Ads werden wahrscheinlich leider noch immer durchrutschen…. Aber dazu empfehle ich einfach selber eine Recherche anzustellen.

Anmerkung: Eine Liste ist beschränkt auf eine Größe von maximal 10 MB. Das sind im Regelfall 131.072 Einträge.

Share on:

1 Gedanke zu „Fortigate mit Pi-Hole Listen“

Schreibe einen Kommentar