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:

PiHole-Logo

    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
 

After-Install


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.
 

Router


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.
 

Blocklist


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)

 

Justin - Trainer und Webentwickler



 

Viel Spaß beim ausprobieren.
Euer Justin. 

 

Wenn ihr Fragen habt, meldet euch: info@mobilistics.de

Im Blog oder auf unserer Homepage könnt ihr gerne schauen, was wir sonst noch so machen.