Werbeblocker mit Raspberry PI
Wenn wir als Anwender Werbeblocker einsetzen, dann ist das kein böswilliger Angriff auf Unternehmen, sondern Selbstverteidigung. Wer im Internet unterwegs ist, wird mit unerwünschter Werbung überzogen, wird verfolgt und getrackt. Der Einfallsreichtum der Werbeindustrie kennt kaum Grenzen. Warum sollten wir Anwender da nicht ebenfalls ein wenig mit unseren geistigen Muskeln spielen und zeigen, was wir drauf haben?
Am PC kann man im Browser s.g. Adblocker (ad ist die Abkürzung für Advertisement – Werbung) einsetzen. Was im Adblocker ankommt, ist auf dem PC und hat seinen Weg durchs Internet genommen. Das sind Spuren, die ein spezialisiertes Unternehmen bereits gewinnbringend einsetzen kann.
Mit unserem kleinen Projekt „PI Werbeblocker“ bauen wir uns eine erste Schutzmauer gegen Werbung und Spionage in unser heimisches Netzwerk. Einen Schutzwall, der fragwürdige Inhalte bereits blockt, bevor sie im Internet abgerufen werden. Der Anbieter wird also gar nicht erst kontaktiert und erhält keinerlei Informationen über uns. Weniger Datenverkehr, weniger Preisgabe von Informationen über uns.
Ein weiterer Vorteil der vorgestellten Lösung ist, dass nicht nur der PC mit weniger Werbung belastet wird, auch mobile Geräte wie Smartphone und Tablet profitieren davon, so man sie in das heimische Netzwerk eingebunden hat. Gerade auf mobilen Geräten ist es ansonsten nicht einfach, Werbung zu blockieren.
Was benötigt man für den PI Werbeblocker?
Zunächst einmal etwas Zeit. Klappt alles auf Anhieb, sollte man nach etwa 2 Stunden einen wirksamen Werbeblocker ins eigene Netzwerk integriert haben.
Falls Probleme auftreten oder man nicht sofort weiß, welche Einstellungen man wie und wo im eigenen Router vornehmen muss, sind Google und etwas Geduld gefragt.
Hardware für den PI Werbeblocker
Als Grundlage für das Projekt verwenden wir den günstigen Einplatinencomputer (SBC single board computer) Raspberry PI Modell 3.
Am günstigsten gelingt der Einstieg mit einem Starterset . Das Starterset enthält neben dem Raspberry PI 3 b eine 16 GB SD Karte, ein Netzteil und ein Gehäuse.
Wer sich den PI zulegt und etwas Zeit und Freude an IT- oder Elektronik-Projekten mitbringt, der kann zahlreiche Ideen umsetzen. Das Buch Raspberry 3 – Das umfassende Handbuch ist quasi das Standardwerk, mit dem man sich den PI erarbeiten und viele Anregungen holen kann.
Wenn der eigene Rechner keinen Slot für Speicherkarten besitzt, muss ein SD Kartenleser USB-Stick her. Damit werden wir später das Betriebssystem für den PI auf die SD Karte schreiben.
Ein Netzwerkkabel, mit dem wir den PI an den Router anschließen können.
Software für den PI Werbeblocker
Für die Umsetzung des Projektes „PI Werbeblocker„, kommt ein Windows Rechner (Windows 7 und 10) zum Einsatz. Sicher kann man die Vorgehensweise unter Windows als Ausgangspunkt nehmen, um das Projekt zum Beispiel auch unter Mac OS umzusetzen.
Raspbian Stretch Lite
Im ersten Schritt laden wir uns das Betriebssystem (Raspbian Stretch Lite) für unseren Raspberry PI unter https://www.raspberrypi.org/downloads/raspbian/
und entpacken die Datei aus dem ZIP-Archiv in ein Verzeichnis. Die Datei sollte die Dateiendung IMG haben.
Win32Diskimager
Um das Betriebssystem für den PI auf die SD Speicherkarte zu bekommen, müssen wir uns ein Softwaretool namens Win32Diskimager besorgen.
Das Programm muss installiert werden. Sofern an den Voreinstellungen nichts geändert wurde, ist das Programm Win32DiskImager.exe nach der Installation im Verzeichnis C:\Program Files (x86)\ImageWriter zu finden.
WinSCP
WinSCP (Windows Secure Copy) ist ein freies Programm, mit dem man eine Remote Verbindung zu anderen Rechnern aufbauen kann. Genau das also, was wir brauchen, um von unserem Windows Rechner auf den PI zuzugreifen. Im Prinzip brauchen wir für unser PI Werbeblocker-Projekt nur das enthaltene Programm Putty, die Funktionen von WinSCP helfen jedoch gerade dann, wenn Probleme auftreten und man bequem auf Dateien zugreifen möchte. Bei anderen Projekten ist WinSCP nahezu unverzichtbar.
Wer sich die Sache einfach machen möchte und ArchiCrypt Ultimate RAM-Disk auf seinem Rechner hat, kann dort einfach im AppCenter nach WinSCP suchen und die RAM-Disk starten. WinSCP wird geladen und gestartet.
Schritt für Schritt zum PI Werbeblocker
Überspielen des Betriebssystems auf den Raspberry
Stecken Sie die SD Speicherkarte in den Kartenleseslot des Rechners. Falls Sie keinen integrierten Leser am Rechner haben, verwenden Sie den SD Kartenleser USB-Stick . Die Speicherkarte sollte erkannt werden und im System unter einem Laufwerksbuchstaben im Windows Explorer angezeigt werden.
In unserem Beispiel wurde die SD Karte als Laufwerk M im System angemeldet.
Bitte seien Sie bei den nächsten Schritten sehr sorgfältig. Wer hier unachtsam ist und den falschen Laufwerksbuchstaben wählt, kann sich Daten und eventuell seinen Windows Rechner unbrauchbar machen.
Stellen Sie fest, unter welchem Laufwerksbuchstaben die SD Karte am Rechner angemeldet ist.
Das funktioniert sehr gut über die Größe der SD Karte. Sofern Sie das vorgeschlagene Starterset erworben haben, hat die SD Karte eine Kapazität von 16 GB. Wenn Sie unsicher sind, ziehen Sie die SD Karte ab, starten den Windows Explorer, stecken die SD Karte wieder ein und prüfen, welchen Buchstaben das System der SD Karte zugeteilt hat.
Jetzt starten wir das Programm Win32DiskImager.exe aus dem Verzeichnis C:\Program Files (x86)\ImageWriter
Wählen Sie das zuvor entpackte Image (im Bild 2017-11-29-raspbian-stretch-lite.img) aus und selektieren Sie den Laufwerksbuchstaben, unter dem die SD Karte im System angesprochen wird (im Bild M). Schließen Sie bitte alle eventuell geöffneten Windows Explorer Fenster!
Klicken Sie dann auf „Schreiben“ um das Image auf die SD Karte zu überspielen.
Aktivieren von Secure Shell (SSH)
Um später von unserem Windows Rechner Kommandos an den Raspberry übermitteln zu können, müssen wir auf dem Raspberry einen s.g. SSH Server installieren bzw. aktivieren. Dazu wird die SD Karte auf die wir gerade das Betriebssystem überspielt haben, im PC belassen und der Windows Explorer wird geöffnet.
Wir legen eine Datei mit Namen ssh direkt im Hauptverzeichnis der SD-Karte an. Dazu kann man im Windows Explorer unter dem Menüpunkt Datei – Neu – Text Dokument eine neue leere Textdatei erstellen und den Namen ssh vergeben. Achten Sie darauf, dass die Datei nicht versehentlich die Dateiendung txt bekommt. Lassen Sie die Dateiendungen bekannter Dateitypen anzeigen und entfernen Sie für diese Datei die Dateiendung.
Start des Raspberry
Wir entnehmen die SD Speicherkarte aus dem PC und stecken Sie in den noch nicht angeschlossenen Raspberry PI. Schließen Sie den Raspberry PI jetzt mit dem Netzwerkkabel an einen freien Slot des Routers (nicht PC!) an.
Stecken Sie das Netzteil des Raspberry zunächst am PI an und dann an der Steckdose. Unser PI startet jetzt, die grüne LED an der Front sollte blinken und nach Abschluss des Bootvorganges aus sein.
IP Adresse des Raspberry ermitteln
Jetzt wird es vermutlich etwas knifflig. Sie wissen sicher, dass Rechner und Geräte im Netzwerk über s.g. IP-Adressen angesprochen werden. Eine IP-Adresse ist eine eindeutige Kennung innerhalb eines Netzwerkes, um gezielt ein Gerät adressieren zu können. Um also mit unserem PI in Verbindung treten zu können, müssen wir dessen IP Adresse ermitteln.
Windows bietet hier leider keine besonders wirkungsvollen Hilfsmittel an, direkten Zugriff via Bildschirm und Tastatur haben wir auf unseren PI ebenfalls nicht. Hier hilft uns das Administrationspanel des Routers weiter. Hier müssen Sie sicher das Handbuch Ihres Routers zurate ziehen.
Im Allgemeinen kann man sich über einen WEB-Browser mit dem Router verbinden. Im Router selbst sollte sich dann eine Auflistung aller verbundenen Geräte finden. In der nachfolgenden Grafik ist unser Raspberry mit dem Namen raspberry in der Liste mit der IP Adresse 192.168.1.27 zu finden. Falls kein Name angegeben ist und viele Geräte im Netzwerk sind, entfernen Sie am PI das Netzwerkkabel, erneuern die Ansicht im Browser (F5), schließen das Netzwerkkabel wieder an und erneuern die Ansicht im Browser. Das neu hinzugekommene Gerät ist unser PI.
Diese IP Adresse ist wichtig. Sie wird benötigt, damit wir uns mit dem PI vom PC aus verbinden können.
Raspberry PI eine statische IP Adresse zuweisen
Um die Werbeblocker-Funktion ausführen zu können, muss Raspberry eine s.g. statische IP Adresse zugewiesen bekommen. Im Normalfall ist es so, dass alle Geräte dynamisch vom Router eine IP Adresse erhalten. Diese IP Adresse ändert sich von Fall zu Fall. Das dazu eingesetzte Protokoll nennt sich DHCP ( Dynamic Host Configuration Protocol). Der Router übernimmt die Rolle eines DHCP Servers, der den Clients eine IP Adresse zuweist.
An dieser Stelle müssen Sie wahrscheinlich erneut einen tiefen Blick in das Handbuch Ihres Routers werfen und nach einer Möglichkeit suchen, einem Gerät dauerhaft die selbe IP Adresse zuordnen zu können. Sie müssen den Router dazu veranlassen, dem Raspberry immer die gleiche IP Adresse zuzuweisen. Wenn Sie eine solche Einstellung am Router vorgenommen haben, starten Sie bitte den Raspberry neu
sudo reboot
bzw.
sudo shutdown -P now
(im zweiten Fall Netzkabel – nicht Netzwerkkabel – trennen und wieder verbinden) und prüfen Sie im Adminpanel des Routers, ob die Vergabe korrekt erfolgt. Nach jedem Booten sollte der PI die gleiche IP Adresse besitzen!
Verbindung mit WinSCP – Putty herstellen
Jetzt, da wir die IP Adresse unseres PI kennen, können wir uns von unserem Windows PC aus mit dem Raspberry PI verbinden. Wir starten WinSCP und füllen die Eingabemaske wie folgt aus:
Geben Sie als User name pi und als Password raspberry ein. Im Umgang mit dem PI spielt Groß- Kleinschreibung eine Rolle!
Geben Sie alle Kommandos, Namen und Passwörter unter Berücksichtigung der Groß-/Kleinschreibung ein.
Klicken Sie jetzt auf Login und bestätigen Sie eine evtl. Warnung mit Ja (YES).
Gelingt das Login nicht, gibt es drei Stellen, die man nochmals genau unter die Lupe nehmen sollte.
- Haben Sie die IP Adresse korrekt aus der Liste des Routers entnommen und eingegeben.
- Haben Sie bei der Einrichtung des PI daran gedacht, im Rootverzeichnis die Datei ssh (Kleinschreibung; keine Dateiendung!) anzulegen?
- Ist sichergestellt, dass keine Firewall WinSCP blockiert?
Ist hier alles korrekt, hilft leider nur Google weiter. Geben Sie die entsprechende Fehlermeldung zusammen mit dem Begriff Rasberry PI ein.
War das Login erfolgreich, dann sollten Sie in etwa das folgende Bild sehen.
Rechts sollte der Inhalt des Verzeichnisses /home/pi zu sehen sein, links ein Verzeichnis auf Ihrem Rechner.
Jetzt führen wir die eigentliche Verbindung über SSH durch. Dazu klicken wir auf die mit einem roten Pfeil markierte Schaltfläche „Open Session in Putty„. Mit dem Tastaturkürzel Strg + P gelingt dies ebenfalls.
Anm.: Mittels SSH können wir auf dem Raspberry so arbeiten, als hätten wir direkt am PI eine Tastatur und einen Monitor angeschlossen. Wir machen also einen Remote Zugriff.
Passwort für SSH Zugriff ändern
Ein Kommandofenster wird geöffnet, in dem wir uns als Nutzer pi anmelden. Geben Sie auch hier das Passwort raspberry ein!
Eine goldene Regel lautet, dass man kein Gerät in sein Netzwerk hängen soll, auf das mit einem voreingestellten Passwort zugegriffen werden kann. Der Raspberry kommt mit deaktiviertem SSH. Daher mussten wir ihm über die Datei ssh im Root-Verzeichnis explizit mitteilen, dass wir wünschen, dass der SSH Server gestartet wird. Erst dadurch wird SSH verfügbar. Damit wir überhaupt via SSH auf den PI zugreifen können, wird für den Zugang ein Nutzer und ein Passwort vorgegeben. Diese Zugangsdaten sind auf jedem neu eingerichteten Raspberry mit SSH Server identisch und damit eine enorme Sicherheitslücke, so man die Zugangsdaten nicht ändert.
Wir ändern jetzt das Passwort für den Anwender pi.
Dazu das folgende Kommando eingeben:
passwd
Zwei mal das neue Passwort eingeben und jeweils mit Eingabe bestätigen. Notieren Sie sich das Passwort!
Neuste Updates auf dem PI einspielen
Jetzt spielen wir die neusten Updates in das System ein. Keine Angst vor den oft kryptisch anmutenden Befehlen. Mit der Zeit lernt man die Befehle kennen und verliert die Hemmungen. Wer zum ersten Mal einen Windows PC startet, steht auch vor einem Berg an neuen Eindrücken! Das oben angeführte Raspberry 3 Handbuch liefert natürlich eine Übersicht wichtiger Kommandos mit Erklärungen.
sudo apt-get update
sudo apt-get upgrade
Kern des Werbeblockers installieren
Der Kern der Werbeblocker-Funktion bildet PI-Hole. Ein Programmpaket welches einen lokalen DNS Server und einen „Mini-Web-Server“ mitbringt. Weiter unten wird erklärt, wie unser PI Werbeblocker prinzipiell funktioniert. Hier kümmern wir uns zunächst um die Installation und die Einrichtung!
Im Kommandofenster veranlassen wir den Download und die Installation des PI-Hole Paketes.
curl -sSL https://install.pi-hole.net | bash
Das Paket wird geladen und die Installationsroutine wird gestartet.
Schließen Sie den PI via Netzwerkkabel am Router an, die Anbindung via WLAN ist fehleranfälliger!
Bei Upstream DNS Provider sollten Sie auf Custom gehen und die nicht protokollierenden DNS Server des Chaos Computer Clubs und von Digitalcourage eintragen.
85.214.20.141, 213.73.91.35
Selektieren Sie im nächsten Schritt IPv4 und IPv6 sofern nicht ausgewählt.
Wenn Sie dem Raspberry wie oben beschrieben eine feste IP Adresse (statische IP Adresse) zugewiesen haben, sollten Sie die IP Adresse bei Calculating network interface sehen. Als Gateway sollte die IP Adresse des Routers aufgeführt sein.
In den nächsten Schritten sollten Sie das WEB-Interface (Do you wish to install the web admin interface?) und die Aufzeichnung von Anfragen aktivieren (Do you want to log queries?).
In einer Zusammenfassung werden die wichtigsten Informationen angezeigt. Dabei wird auch das Passwort angezeigt, mit dem Sie sich aus dem Browser heraus auf dem PI einloggen können.
Allerdings werden wir jetzt über unsere SSH Verbindung das Passwort für den Zugriff via Browser ändern. Geben Sie im Putty Fenster den Befehl ein
pihole -a -p
und legen Sie das neue Passwort durch zweimalige Eingabe fest.
Notieren Sie sich das Passwort!
Eine Übersicht über weitere Pihole Befehle kann man sich mit dem Befehl
pihole -h
anzeigen lassen.
Zugriff auf den PI Werbeblocker mittels Browser
Wir wissen die IP Adresse unseres PI und können mit dieser jetzt auf unseren PI Werbeblocker zugreifen.
Wenn sie den PI Werbeblocker über den WEB Browser erreichen, dann ist es fast geschafft. Wahrscheinlich wird noch kein oder sehr wenig Traffic angezeigt. Wenn mit einem Rechner oder einem mobilen Gerät gesurft wird, dann wird noch keine Werbung blockiert.
Jetzt kommt der letzte und mitunter heikelste Schritt.
Wir melden unseren PI Werbeblocker im Netzwerk als DNS Server an.
Rufen Sie das Adminpanel Ihres Routers über den Browser auf und suchen Sie nach dem Punkt DNS Server (Domain Name Service). Tragen Sie als DNS Server die IP Adresse des PI Werbeblockers ein und übernehmen Sie die Einstellungsänderungen. Der Router wird vermutlich neu gestartet.
Warten Sie den Abschluss des Neustarts ab und rufen Sie den Werbeblocker über den Browser auf. Beispiel: http://192.168.0.10/admin (Ersetzen Sie 192.168.0.10 durch die dem PI zugewiesene statische IP Adresse.)
Jetzt sollten Sie beim Surfen bemerken, dass die Zähler auf der Pi-hole Admin-Seite ansteigen.
Durch den Besuch auf den folgenden Seiten können Sie auch von Tablets und Smartphones aus testen, ob der Werbeblocker prinzipiell funktioniert.
https://blockads.fivefilters.org/
https://thepcspy.com/blockadblock/
Auch das Admin-Panel von Pihole können Sie von Ihrem Smartphone (aus dem heimischen Netzwerk heraus) aufrufen, indem Sie die statische IP Adresse des PIs als Adresse im Browser verwenden (Beispiel: http://192.168.0.10/admin).
Durch den Einsatz von unseres PI Werbeblockers laufen bereits unzählige Anfragen und Protokollierungsmaßnahmen von WEB Seiten ins Leere. Sie können sich über das WEB Interface von Pihole mit Ihrem Pihole Passwort einloggen und Zugriff auf Statistiken erhalten.
Probleme mit dem PI Werbeblocker
Lassen Sie den PI Werbeblocker einmal eine gewisse Zeit laufen und beobachten Sie das Verhalten von WEB Seiten, Anwendungen und Apps. Falls Seiten oder Apps nicht mehr funktionieren. dann rufen Sie das Pihole Adminpanel im Browser auf. Loggen Sie sich mit dem Pihole Passwort ein und rufen Sie im Menü einmal den Punkt Tools auf.
Dort können Sie sich in Echtzeit anzeigen lassen, was geschieht, wenn Sie eine bestimmte WEB Seite besuchen oder eine App starten. Sorgen Sie dafür, dass während dieser Zeit möglichst kein anderer Client im Netzwerk angemeldet ist und Anfragen senden kann. Tragen Sie dann Anfragen aus dem Protokoll, die unmittelbar vor dem Auftauchen der Probleme gemacht wurden, in die Whitelist ein.
Der Umstand, dass auch nach der Aktivierung des PI Werbeblockers Werbung angezeigt wird, ist nicht weiter verwunderlich. Die Werbung und Spurenverfolgung wird erheblich reduziert, kann aber niemals zu 100 Prozent funktionieren. Würde man sämtliche Anfragen an bekannte Adressen blocken, wäre das Internet nicht mehr verwendbar. Streamingdienste wie Netflix, Amazon und Co. würden den Dienst versagen, viele WEB-Seiten würden nicht mehr funktionieren, Apps unvermittelt abstürzen.
Daher ist es auch durchaus angebracht, den PI Werbeblocker mit einem in den Browser integrierten Werbeblocker als zweiten Schutzwall einzusetzen. Alles, was durch unsere erste Schutzwand geht, kann durch andere Erkennungsmechanismen im Browser selbst noch unschädlich gemacht werden.
Wie arbeitet jetzt unser PI Werbeblocker?
Wir haben uns bereits mit den Begriffen IP-Adresse und DNS kurz beschäftigt. Um auf unseren PI Werbeblocker aus dem Browser heraus zugreifen zu können, muss in das Adressfeld des Browsers die statische IP Adresse des PI eingeben.
Für den eigene PI kann und sollte man sich die IP Adresse merken! Man stelle sich aber einmal vor, wie unsagbar schwer man sich in einem Internet bewegen würde, wenn alle Inhalte über nichtssagende Ziffernfolgen (IP Adressen) aufgerufen würden? Man würde nicht googeln, sondern 74.125.29.94 ’n (74.125.29.94 ist eine IP Adresse von Google).
Wir geben sprechende Namen wie www.electastic.com in die Adressleiste unseres Browsers ein und können uns diese Namen durchaus auch merken.
Die im Browser eingegebenen Namen sind jedoch für Rechner und Geräte in einem Netzwerk ungeeignet. Namen müssen in die zugehörigen IP Adressen übersetzt werden, damit die Daten im Internet den richtigen Weg finden.
Die Umwandlung der Namen in IP Adressen wird durch die DNS Server im Internet übernommen. Sie geben einen Namen in den Browser ein, der zum Router gelangt. Der Router fragt kontaktiert den dort eingetragenen DNS Server und erfragt, welche IP Adresse sich hinter dem Namen verbirgt. Der DNS Server schlägt den Namen in seiner Tabelle nach und meldet die dazugehörige IP Adresse an den Router zurück. Dieser senden dann die Abfrage an diese IP Adresse.
Ein DNS Server ist also eine Art gigantisches Nachschlagewerk für IP Adressen.
Wir haben unseren PI Werbeblocker im Router als DNS Server eingetragen. Der Router leitet die Anfragen für die Namensauflösung jetzt nicht mehr ins Internet, sondern an unseren PI Werbeblocker.
Unser Werbeblocker hat eine gepflegte Liste mit Namen, die für die Auslieferung von Werbung und das Sammeln von Informationen bekannt sind. Wird eine Anfrage an einen solchen Anbieter erkannt, liefert der PI Werbeblocker leeren Inhalt aus, nimmt also gar keine Namensauflösung vor, bautkeine Verbindung zu einem DNS Server oder dem Anbieter der Werbung auf.
Anfragen, die nicht blockiert werden, werden an die im Rahmen der Einrichtung festgelegten DNS Server geleitet und dort aufgelöst. Wir haben uns zudem zwei Server ausgesucht (DNS Server des Chaos Computer Clubs und von Digitalcourage), die diese DNS-Anfragen nicht protokollieren.
Fazit
Mit ein wenig Zeit schafft man sich mit einem Mini-PC eine sehr effiziente und wirkungsvolle erste Schutzwand gegen unerwünschte Werbung und Spionage!
Werbung wird nicht nur, wie bei Browser-basierten Adblockern, blockiert, sondern Anbieter von Werbung und Datensammler erhalten erst gar keine Anfragen. Keine Anfragen bedeuten keine Spuren.
Ein Großteil an Werbung fällt weg, sogar bei sonst schwer zu schützenden Geräten wie Tablets, Smartphones etc.
Ach ja, wer den PI Werbeblocker nicht mehr braucht, der kann seinen PI natürlich für viele weitere geniale Projekte einsetzen.
Bildnachweis:
Stockfoto-ID: 188361865
Copyright: ValeryBrozhinsky
Letzte Aktualisierung am 14.01.2023 / Affiliate Links / Bilder von der Amazon Product Advertising API