Brav gemacht
Smart-TVs mit Netzwerkmethoden absichern und einhegen
Smart-TVs sind beliebt – nicht nur bei den rechtmäßigen Eignern, sondern auch bei Hackern und Sendeanstalten: Die einen wollen die Geräte als Zombies für Internet-Attacken missbrauchen, die anderen haben es auf die Nutzungsprofile der Zuschauer abgesehen. Gegenwehr ist glücklicherweise einfach.
Die Beziehungen zu smarten Glotzen könnten besser sein. Ähnlich wie Router sitzen sie an einer bedeutsamen Stelle im Heimnetz, nämlich genau vor den Zuschauern. Deren Sehverhalten erfassen sie teils minutiös – entweder im Auftrag des Herstellers oder von Sendeanstalten und Streaming-Diensten. Manche Datengeier lassen sich sogar jeden einzelnen Tipp auf der Fernbedienung melden (siehe S. 74). So viel Neugierde klingt taktlos, zumal noch kein Smart-TV-Hersteller den Käufern eine Protokollfunktion gönnt, die aufführt, wem das vernetzte Gerät was steckt.
Das macht Smart-TVs zu Blackboxen und als solche sind sie attraktiv für Hacker; wo kein Monitoring, da auch keine Schädlingsbekämpfung. Haben Hacker das Smart-TV einmal infiziert, wollen sie die Brut von dort aus auf möglichst viele Geräte im Heimnetz verteilen, um damit letztlich DDoS-Attacken zu reiten. Einzelheiten dazu finden Sie ab Seite 74. Und wenn ein Smart-TV Kamera und Mikrofon mitbringt, ist es auch für Geheimdienste attraktiv – so hat die CIA Samsung-Glotzen zum Spion gemacht (ct.de/-3646436).
Deshalb möchte man Smart-TVs generell einhegen, sei es, um sie vor Infektion zu schützen, oder um Datenabfluss zwecks Tracking zu unterbinden. Für beides genügt die kleine Netzwerk-Trickkiste. Je nach Sicherheitsbedürfnis und Know-how gibt es unterschiedliche Stufen des Einhegens. Wir haben sie grob nach dem Schwierigkeitsgrad sortiert, zunächst die einfachen.
Die radikale Methode: Man lässt das Smart-TV gar nicht erst ans Netz, nutzt also weder Ethernet- noch WLAN-Anschluss. Dann braucht man eigentlich kein Smart-TV. Manche Nutzer kaufen sich solche Geräte dennoch, weil Fernseher ohne Internet-Zugang inzwischen selten sind und schlechtere Bildqualität liefern, sodass für sie auch ein unvernetztes Smart-TV okay ist. Was das bringt, ist klar: ohne Vernetzung kein unkontrollierter Datenabfluss. Das bedeutet aber auch: kein Datenzufluss, also keine automatischen Firmware-Updates, kein Netflix, kein Amazon, keine NAS- und DLNA-Zugriffe und somit auch keine Video-Streams vom eigenen NAS.
Es gibt aber einen simplen Trick, um lokale Zugriffe zuzulassen und nur den Fernverkehr zu unterbinden:
Kindersicherung: Dafür braucht man einen Router mit Kindersicherungsfilter. Nicht nur die verbreiteten Fritzboxen bringen einen mit. Damit das Smart-TV Freigaben von PC und NAS öffnen kann, stellt man dessen Netzwerkkonfiguration wie im heimischen PC ein, aktiviert also die DHCP-Konfiguration, damit sich das TV-Gerät die Gateway- und DNS-Adressen automatisch vom Router holt. Um die Kindersicherung zu nutzen, öffnen Sie das Webinterface der Fritzbox und navigieren zum Menü Internet/Filter/Kindersicherung. Schalten Sie dort für das Smart-TV das Zugangsprofil „Gesperrt“ ein und speichern Sie die Änderungen.
Was das bringt: Die Kommunikation innerhalb des LANs klappt reibungslos, aber das Smart-TV kann nichts nach draußen petzen. Nachteile: Das Streaming von Netflix, Amazon & Co. ist blockiert, Firmware-Updates und HbbTVs kommen nicht rein.
Über die Methoden „Gastnetz“ und „Routerkaskade“ lässt man Internet-Verkehr zu, verhindert aber, dass eingedrungene Schadsoftware vom Smart-TV auf Geräte im Heimnetz überspringt. Im Prinzip sind das vereinfachte Methoden, um ein Netzwerk in Zonen mit unterschiedlichen Sicherheitsanforderungen aufzuteilen. Sie werden sonst eher in Firmen umgesetzt [1].
Gastnetz: Dabei ordnet man ein Smart-TV einem separaten Subnetz zu, dem Gastnetz. Das empfiehlt sich nur, wenn das Smart-TV nicht auf Ressourcen im Heimnetz zugreifen soll. Gastnetze kann man auf vielen Routern leicht aktivieren. Auf den verbreiteten Fritzboxen schaltet man es im Menü Heimnetz/Netzwerk/Netzwerkeinstellungen über den Punkt „Gastzugang für LAN 4 aktiv“ ein und koppelt dann das Smart-TV via Netzwerkkabel mit der LAN-4-Buchse der Fritzbox. Zusätzlich kann man ein WLAN-Gastnetz aktivieren (Menü WLAN/Gastzugang).
Was das bringt: So trennt man das Smart-TV von allen übrigen Netzwerkgeräten, insbesondere von solchen mit vertraulichen Daten. Sollte das Smart-TV infiziert werden, kann sich Ungeziefer nicht ohne Weiteres verbreiten. Internet-Verkehr funktioniert uneingeschränkt, inklusive Firmware-Update und Streaming. Nachteil: Zugriffe auf Daten im Heimnetz funktionieren nicht, Daten können ungehindert ins Internet abfließen.
Normalerweise spannt jeder Router maximal ein Gastnetz auf. Wenn man dort auch andere Geräte hineinlässt, können sie sich gegenseitig attackieren. Deshalb sollte man sicherstellen, dass im Gastnetz die Client-Isolation eingeschaltet ist. Dann können Geräte zwar ins Internet, aber im Gastnetz nicht untereinander kommunizieren. Für das WLAN-Gastnetz schaltet man diese Option auf Fritzboxen im Menü WLAN/Gastnetz/Weitere Einstellungen ein; AVM nennt die Option „WLAN-Geräte dürfen kommunizieren“. Dennoch können Teilnehmer des WLAN-Gastnetzes die Geräte im LAN-gebundenen Gastnetz erreichen; eine vollständige Client-Isolation für LAN und WLAN bietet die Fritzbox nicht an.
Umgekehrt sollte die Client-Isolation ausgeschaltet bleiben, wenn man dem Smart-TV ein NAS mit Video-Inhalten im Gastnetz zur Seite stellt. Wenn das NAS zwei Netzwerk-Ports hat, kann man den zweiten für das Heimnetz nutzen. Etwaige Ports sollten nicht im Bridge-Modus arbeiten, damit Schadsoftware nicht aufs Heimnetz überspringen kann.
Routerkaskade: Hierbei koppelt man zwei NAT-Router miteinander und bildet so zwei getrennte Subnetze. Das Smart-TV stellt man hinter dem ersten NAT-Router auf (erstes Subnetz), alle übrigen Geräte (PC, NAS, Drucker, Tablet, Smartphone, etc.) koppelt man am zweiten NAT-Router an (zweites Subnetz).
Was das bringt: Das Smart-TV kann nicht auf Geräte aus dem zweiten Subnetz zugreifen, Geräte mit schützenswerten Daten sind dort unter sich. Umgekehrt können Geräte aus dem zweiten Subnetz durchaus auf das Smart-TV zugreifen; die NAT ist nur in dieser Richtung durchlässig.
Nachteile: Per DLNA oder Bonjour annoncierte Freigaben sind jenseits von Subnetzgrenzen nicht sichtbar, das Smart-TV findet sie nicht. Auf Geräten im zweiten Subnetz scheitern automatische Port-Weiterleitungen (UPnP). Das kann manche Spiele behindern, aber auch den Remote-Control-Dienst von Apple (Back2MyMac). Zugriffe von Geräten aus dem zweiten Subnetz auf das Smart-TV funktionieren nur anhand dessen IP-Adresse.
Treffer, versenkt
Eine effiziente Methode, um Zugriffe ins Internet zu kontrollieren, besteht darin, DNS-Anfragen für unerwünschte Domains zu filtern – solche Domains trägt man in eine schwarze Liste ein (Blacklist). So kann man bei Smart-TVs zum Beispiel den Datenabfluss über den HbbTV-Dienst eindämmen. Manche Nutzer setzen die Technik auch ein, um Zugriffe auf aufdringliche Werbenetzwerke zu unterbinden, zum Beispiel auf addkeeper.com.
Blacklist: Manche Heim-Router können DNS-Anfragen filtern und so verhindern, dass bestimmte Domains im Internet angesteuert werden. Der Blacklist-Filter von Fritzboxen fasst maximal 500 Einträge. Das genügt für das Notwendigste. Es gibt auch fertige Blacklisten zum Herunterladen (siehe ct.de/yvda). Das sind Textdateien, für deren Bearbeitung ein einfacher Editor genügt. Als Blockade für die Vielzahl an Werbeservern sind 500 Einträge aber mager, zumal solche Netzwerke ihre Domainnamen immer wieder ändern.
Was das bringt: Ungehinderte Kommunikation für das Smart-TV im LAN, einfache Kontrolle über die Kommunikation nach draußen. Man kann den Filter auch nutzen, um die Surfziele im Kinderzimmer zu kontrollieren. Nachteil: Die Pflege solcher Blacklisten ist umständlich, der Filterumfang klein und sie schützen die am Router betriebenen Geräte nicht voreinander.
Pi-hole: Das ist ein umfangreicher DNS-Filter, der auf einem Raspberry Pi läuft und aktuell angesteuerte Ziele auf einer grafischen Bedienoberfläche einblendet; man kann sie per Browser von jedem PC aus im LAN öffnen. Der Vorrat an Pi-hole-Blacklisten ist groß und wird von einer Community gepflegt. Sie lassen sich kombinieren und per Mausklick an eigene Bedürfnisse anpassen.
Pi-hole kann man mit der Gastnetz-Sperre oder der Router-Kaskade kombinieren. Blacklist-Sammlungen für den Pi-hole-Dienst gibt es viele. Der User Akamaru hat sie nach Kategorien aufgeteilt. Manche eignen sich auch, um HbbTV-Petzen das Handwerk zu legen (siehe ct.de/yvda).
Pi-hole im LAN nutzen
Damit der Filter greift, muss jedes Gerät im LAN den DNS-Resolver von Pi-hole verwenden. Das klappt mit wenig Aufwand, wenn man einen Router hat, dem man in den DHCP-Einstellungen die Adresse eines lokalen DNS-Servers mitgeben kann. Wer sich um die Verfügbarkeit des DNS-Dienstes sorgt, stellt einen zweiten Pi-hole dazu.
Auf Fritzboxen findet man diese Funktion im Menü Heimnetz/Netzwerk/Netzwerkeinstellungen/IPv4-Adressen unter dem Punkt „Lokaler DNS-Server“. Dort steht normalerweise die Adresse der Fritzbox. Um dort den Pi-hole einzutragen, öffnen Sie die Heimnetz-Übersicht und entnehmen Sie dort die IP-Adresse des Raspi. Stellen Sie zusätzlich die Fritzbox so ein, dass sie dem Raspi immer dieselbe IP-Adresse zuteilt. Öffnen Sie dazu das Menü Heimnetz/Netzwerk und klicken Sie auf das Bleistift-Symbol, um die Fritzbox-Einstellungen für den Raspi zu editieren. Haken Sie die Option „Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen“ an und speichern Sie die Änderungen.
Was das bringt: Detaillierte Kontrolle über Ziele, die das Smart-TV im Internet ansteuert, uneingeschränkter Verkehr im LAN. Nachteile: Die Einrichtung braucht etwas Zeit und Netzwerk-Know-how. Filterergänzungen muss man vorsichtig setzen, um keine benötigten Dienste zu blockieren. Man sollte also nicht aufs Geratewohl kryptische Domains sperren, denn längst nicht jede führt zu einem bösen Server.
Um auf der sicheren Seite zu sein, empfiehlt sich zumindest für den Anfang ein Protokoll – notieren Sie darin, welche Domain Sie wann gesperrt haben. Das erleichtert die Fehlersuche, falls mal ein Internet-Dienst streikt. Unterm Strich liefert der Pi-hole gemessen am Aufwand den größten Gegenwert und dürfte für die meisten Nutzer das Mittel der Wahl sein.
Raspi als Firewall
Zu beachten ist aber, dass manche Smart-TVs den Google-DNS befragen, selbst wenn man in den Netzwerkeinstellungen einen lokalen DNS einträgt. Dann ist Pi-hole wirkungslos. In diesem Fall erfordert Gegenwehr einiges an Netzwerk-Know-how, denn um unerwünschte DNS-Anfragen zu verhindern, muss man eine Firewall einrichten, die DNS-Anfragen aktiv auf den internen DNS-Server umleitet. Solche Funktionen bringt kaum ein Heimrouter mit. Mit dem Raspi bietet sich aber ein simpler Ausweg: Man rüstet ihn einfach zum Router für das Smart-TV auf und verwendet seine Firewall (iptables). Zur Einrichtung kann man weitgehend eine Anleitung aus c’t 10/2016 verwenden [2]. Sie ist online unter ct.de/yvda verfügbar.
Wir haben Smart-TVs der Einfachheit halber per WLAN an einen derart vorbereiteten Raspi 3B+ angekoppelt und die in [2] beschriebene Einrichtung eines zweiten Ethernet-Ports weggelassen. Die übrigen Unterschiede beschreiben die folgenden Absätze.
Anders als in [2] beschrieben, hieß der integrierte Ethernet-Port auf unserem Test-Raspi eth0. Die Datei /etc/interfaces sollten Sie dann wie folgt einrichten:
/etc/interfaces
source-directory :
./etc/network/interfaces.d
auto br0
iface br0 inet static
bridge_ports wlan0
address 192.168.222.1
netmask 255.255.255.0
iface wlan0 inet manual
auto eth0
iface eth0 inet dhcp
Befolgen Sie die übrigen Schritte, lassen Sie aber die Dnsmasq-Einrichtung weg. Die holen Sie später bequem mit Pi-hole nach. Fahren Sie ab der Paketweiterleitung für IPv4 und der NAT-Konfiguration fort. Die IPv6-Weiterleitung kann man sich, was Smart-TVs angeht, schenken. Den Geräten ist das Protokoll egal. Wenn Sie am Abschnitt „Abgehört“ angekommen sind, ist die Router-Funktion fertig. Installieren Sie dann Pi-hole (siehe ct.de/yvda), indem Sie alle Vorschläge des Installers befolgen.
Öffnen Sie auf einem Browser das Admin-Webinterface von Pi-hole (z. B. 192.168.222.1/admin). Melden Sie sich als Administrator an und schalten Sie im Admin-Menü den DHCP-Service ein.
Clients, die Sie nun per WLAN am Raspi anmelden, erhalten ihre Netzwerk-Einstellungen per DHCP vom Dnsmasq in Pi-hole. Deshalb stellen sie auch DNS-Anfragen an Dnsmasq und diese führt Pi-hole in seinem grafischen Interface auf. Auch ist zu sehen, ob Pi-hole diese durchlässt oder blockiert.
Ist Letzteres der Fall, liefert Pi-hole nicht die tatsächliche IP-Adresse der angefragten Domain, sondern nur die nicht routbare Adresse 0.0.0.0, sodass zum Beispiel ein Smart-TV den Server eines Werbenetzwerks nicht aufrufen kann (z. B. app-measurement.com). Man kann auch DNS-Auflösungen für beliebige Domains per Mausklick zulassen oder verbieten. Das ist das, was man als Eigner und Admin eines Heimnetzes möchte.
Um nun Anfragen an andere DNS-Server zu unterbinden, kann man alle Pakete, die den Zielport 53 zum Ziel haben, auf den Raspi umbiegen und so von dessen Dnsmasq beantworten lassen:
sudo iptables -t nat -A PREROUTING :
.-i br0 -p udp --dport 53 -j DNAT :
.--to 192.168.222.1
sudo iptables -t nat -A PREROUTING :
.-i br0 -p tcp --dport 53 -j DNAT :
.--to 192.168.222.1
sudo dpkg-reconfigure iptables-persistent
Testen Sie nun, ob DNS-Anfragen zum Google-DNS durchkommen. Koppeln Sie zunächst ein Laptop per WLAN an den Raspi. Entnehmen Sie Pi-hole eine blockierte Domain, etwa „app-measurement.com“ und schicken Sie dafür eine DNS-Anfrage mit dem Befehl dig an Googles DNS-Server (dig ist Teil der Bind-Tools, siehe ct.de/yvda):
dig @8.8.8.8 app-measurement.com
Der Befehl bezieht sich auf DNS-Verkehr via UDP und sollte in der Answer-Section die Adresse 0.0.0.0 liefern, wenn die Firewall-Regel greift. Am Ende der Ausgabe sollte die IP-Adresse des antwortenden DNS-Servers stehen. Das sollte nicht 8.8.8.8 sein, sondern 192.168.222.1. Ersatzweise können Clients DNS-Anfragen auch per TCP senden. Ob auch diese blockiert werden, prüft man, indem man dem obigen Befehl +tcp anhängt.
Falls Sie iptables-Regeln löschen wollen, lassen Sie sich zunächst alle Regeln unter Angabe der Zeilennummer anzeigen:
iptables -t nat -L --line-numbers
So löschen Sie die Regel in Zeile 1:
iptables -t nat -D PREROUTING 1
Was das bringt: Vollständige Kontrolle über DNS-Anfragen, detaillierte Kontrolle von DNS-basiertem IP-Verkehr. Nachteile: Der Raspi spannt ein eigenes WLAN für das Smart-TV auf. Um Störungen des regulären WLANs zu vermeiden, sollte man dem Router die Wahl seines WLAN-Kanals überlassen. Raspi und Smart-TV bilden ein internes Subnetz. Das Smart-TV kann auf NAS-Geräte und sonstige Freigaben vor dem Raspi anhand von IP-Adressen zugreifen. DLNA- und Bonjour-Freigaben jenseits des eigenen Subnetzes sieht es aber nicht. Prinzipiell kann es andere Geräte im Heimnetz attackieren.
Um das zu verhindern, klemmt man den Raspi mitsamt Smart-TV am einfachsten ans Gastnetz. Alternativ verbietet man dem Smart-TV mit der Raspi-Firewall Zugriffe auf schützenswerte Geräte im Heimnetz. Das geht am einfachsten, wenn diese einen eigenen IP-Adressblock verwenden, zum Beispiel 192.168.178.150 bis 192.168.178.199:
sudo iptables -A INPUT -m iprange :
.--src-range 192.168.178.150-192.168:
..178.199 -j DROP
sudo dpkg-reconfigure iptables-:
.persistent
Geräte, auf die das Smart-TV zugreifen darf (z. B. das NAS), sollten dann Adressen außerhalb dieses Blocks verwenden (z. B. 192.168.178.149). (dz@ct.de)
Blacklisten, DNS-Tools:ct.de/yvda