Werbefreies Netzwerk mit PiHole
PiHole Einsatz im eigenen Netzwerk
PiHole ist freie Open-Source-Software und wird von einer großen Community laufend weiterentwickelt. So geht das PiHole Mitte Januar 2020 schon mit der fünften Version in die offene Betaphase.
Mit dem PiHole kann man nicht nur netzwerkweit störende Werbung und Tracker blockieren, sondern auch Bandbreite einsparen. Darüber hinaus lässt sich mit den richtigen Blocklisten der Zugriff auf schädliche Domains verhindern und auswertbare Telemetrie weitestgehend unterbinden. Für eine Installation ist – abhängig von der eigenen Bandbreite – höchstens eine Stunde einzuplanen.
Voraussetzungen
Dieses Tutorial geht von einem bereits installiertem Linux-OS sowie LAN- und SSH-Zugriff aus. In Folge wird Raspbian Lite auf einem Raspberry Pi 3B als Beispiel herangeführt. Das PiHole kann auf jeder Hardware installiert werden, sofern ≈ 52 MB Festplattenspeicher und 512 MB Arbeitsspeicher zur Verfügung stehen.
Konfiguration des Betriebssystems
Das PiHole kann prinzipiell installiert werden, ohne dass das System weiter konfiguriert werden muss. Die Funktionalität wäre gegeben, jedoch würde es nicht lange dauern, bis das System von Angreifern übernommen und missbraucht werden könnte. Deshalb wird das System vor der Installation des PiHole „gehärtet“. Der folgende Ablauf ist eine einfache und praxisnahe Lösung:
1. Updates einspielen
sudo apt update && sudo apt -y upgrade
Sofern ein neuer Kernel installiert wurde, sollte das System neu gestartet werden
sudo reboot
2. Nutzer erstellen und zur Gruppe sudo hinzufügen
sudo adduser mobilistics && sudo adduser mobilistics sudo
Anschließend ist es erforderlich, sich mit dem neu erstellten Nutzer anzumelden.
3. Standardnutzer entfernen
sudo deluser -remove-home pi
4. Passwort für sudo erzwingen
sudo nano /etc/sudoers.d/010_pi-nopasswd
Folgender Eintrag ist zu ändern:
vorher | pi ALL=(ALL) NOPASSWD: ALL |
nachher | mobilistics ALL=(ALL) PASSWD: ALL |
5. Ungenutzte Pakete entfernen
sudo apt remove wireless-tools wireless-regdb bluez-firmware firmware-atheros firmware- misc-nonfree \
firmware-brcm80211 firmware-libertas && sudo apt -y autoremove
6. fail2ban installieren
sudo apt install fail2ban
SSH
Darüber hinaus wäre nun ratsam, den SSH-Zugang mit einem SSH-Schlüsselpaar abzusichern. Ein ausführliches Tutorial dazu haben wir bereits auf unserem Blog bereitgestellt.
Des weiteren wäre es ratsam, den SSH-Port zu ändern, und zwar wie folgt:
sudo nano /etc/ssh/sshd_config
Folgender Eintrag ist zu ändern
vorher | #Port 22 |
nachher | Port 44139 |
Schließlich wird der SSH-Service neugestartet, um die Änderungen zu übernehmen
sudo systemctl restart ssh
Installation
Da das System nun hinreichend sicher vorkonfiguriert ist, kann die Installation des PiHole beginnen.
curl -sSL https://install.pi-hole.net | bash
Für den Zugriff auf das Webinterface wird ein Passwort vom PiHole generiert und angezeigt.
DNS Eintrag im Router
Damit das PiHole auch im Netzwerk Anwendung findet, muss lediglich noch die IP des RaspberryPi als bevorzugter DNS im Router festgelegt werden.
Blocklisten
Das Blocklist-Projekt bietet kostenfreie Blocklisten an, welche kontinuierlich von der Community gepflegt werden. Wenn Facebook nicht genutzt wird, kann ohne Bedenken jede Liste ausgewählt werden. Weitere Listen finden sich hier. Die Blocklisten lassen sich dank eines Webinterfaces ohne größere Mühen einbinden und werden sogar standardmäßig einmal die Woche vom PiHole automatisch eingelesen. Das Webinterface lässt sich im Browser über "IP"/admin/index.php aufrufen. Ist der Login geglückt, muss über Settings -> Blocklists navigiert werden.
Wie in der Grafik dargestellt, sind dort die Blocklisten einzutragen. Mit der Betätigung von "Save and Update" lädt sich das PiHole entsprechende Blocklisten und wendet diese unmittelbar an.
Schlusswort
Das Netzwerk ist nun wesentlich sicherer und deutlich weniger ausgelastet als zuvor. Ob im privaten Gebrauch, in Bildungseinrichtungen oder im Unternehmen; vom PiHole kann jeder profitieren! Da die übertragene Datenmenge sinkt, verringert sich auch der Stromverbrauch und trägt somit zur Zeit- und Ressourcenschonung bei.
Zum Abschluss noch die wichtigsten PiHole-Befehle:
pihole -up | PiHole sucht nach Updates und installiert diese ggf. |
pihole -g | PiHole liest die Blocklisten neu ein |
pihole -r | PiHole wird neu konfiguriert |
pihole -v | PiHole Version wird angezeigt |
pihole checkout dev | PiHole wechselt Entwicklungszweig (in diesem Fall dev) |
Viel Spaß beim ausprobieren.
Euer Justin.
Wenn ihr Fragen habt, meldet euch: info@mobilistics.de