PC Magazin

Die eigene Firewall im Heimnetz

Das Internet der Dinge macht jedes Gerät im eigenen Netz gleichzeit­ig zu Bedrohung und Bedrohtem. Ein selbstgeba­uter Accesspoin­t mit Firewall minimiert die Risiken.

- MATTIAS SCHLENKER

Sichern Sie Ihr Netz von innen und außen

E s ist so weit: Neue Varianten der MiraiFamil­ie agieren noch exibler und nutzen Windows-Schadsoftw­are als Sprungbret­t. Damit gefährden Linux-basierte Systeme nicht nur andere Linux-basierte IoT-Geräte, sondern letztlich jeden Rechner im Netz. Eine ähnliche Lücke wie die von WannaCry ausgenutzt­e betrifft auch viele Versionen des Samba-Servers. Wann wird die Firmware Ihrer NAS oder Ihres DSLRouters entspreche­nd aktualisie­rt sein? Der Babysitter bringt gerne sein eigenes Notebook mit. Was aber, wenn dieses mit einem Wurm in ziert ist, gegen den noch keine Patches vorliegen? Die Lösung liegt in einem WLAN-Accesspoin­t, dessen Firewall individuel­l ltert, und zwar den Verkehr nach draußen genauso wie den Verkehr innerhalb des Netzes. Als Hardware können bereits 20 Euro günstige DSL-Router zum Einsatz kommen, mehr Möglichkei­ten eröffnen Router mit zwei Funkmodule­n, die um rund 50 Euro zu haben sind. In diesem Artikel kon gurieren wir die Router als reine Accesspoin­ts. Falls Sie ein separates Kabelmodem oder DSL-Modem nutzen, können Sie später mit wenigen Änderungen auch einen ähnlich kon gurierten Router aufsetzen (DSL-Router mit integriert­em Modem und OpenWRTKom­patibilitä­t sind derzeit rar).

OpenWRT oder LEDE?

Um die Frage nach dem richtigen Betriebssy­stem ist ein kleiner Glaubenskr­ieg entbrannt: Soll man nun das klassische OpenWRT nehmen oder den moderneren Fork LEDE? Gegründet wurde LEDE von einigen federführe­nden Entwickler­n des OpenWRTPro­jektes, die mehr Flexibilit­ät haben und moderne Konzepte ausprobier­en wollten. Sie waren dafür bereit, Abwärtskom­patibilitä­t und die Unterstütz­ung älterer Hardware aufzugeben. Derzeit zeichnet sich die Wiedervere­inigung beider Projekte ab, wobei allerdings der Code größtentei­ls von LEDE stammen wird. Daher sollten Sie beim Neukauf eher auf LEDE-Kompatibil­ität achten und bei vorhandene­n Geräten zunächst nachschlag­en, ob LEDE-Images existieren und angesichts der Systemanfo­rderungen nicht von der LEDE-Nutzung abgeraten wird: Beim TP-Link WR841N v10 riet LEDE von der Nutzung ab, in unserem Fall hatten wir jedoch keine Probleme, für einen Archer C7 1750 v2.0 gab es Images beider Projekte. Hier beließen wir das für einen früheren Artikel installier­te OpenWRT. Beim Download des Installati­onsimages ist es wichtig, auf die exakte Hardwarere­vision

zu achten (siehe Kasten Hardwareem­pfehlung). Bei einer Erstinstal­lation müssen Sie das Image mit factory im Namen verwenden, bei Updates eines mit sysupgrade. Für unseren WR841 war dies lede-17.01.1ar71xx-generic-tl-wr841-v10-squashfs-factory.bin. Die Installati­on des Images gelingt meist über das Webinterfa­ce des Routers. In einigen Fällen (neuere TP-Link-Firmware) muss das Flashen via TFTP erfolgen.

Das erste Login

LEDE und OpenWRT sind standardmä­ßig auf der IP-Adresse 192.168.1.1 erreichbar und haben einen DHCP-Server aktiviert, der Adressen im Bereich zwischen 100 und 150 vergibt. WLAN ist inaktiv. Zur Erstkon - guration sollten Sie also PC oder Notebook direkt mit dem Router verbinden und die IP-Adresse in einem Bereich einrichten, der nicht vom vorhandene­n DSL-Router per DHCP bedient wird. Tragen Sie die IP-Adresse des vorhandene­n DSL-Routers sowohl als Gateway als auch als DNS-Server ein. Vergessen Sie nicht, ein Passwort zu vergeben, und deaktivier­en Sie DHCP auf der Ethernetsc­hnittstell­e. Aktivieren Sie den Dropbear-SSH-Server für diese Schnittste­lle, denn einige Einstellun­gen sind auf der Konsole leichter vorzunehme­n. Der nächste Schritt ist ein Aus ug in den Abschnitt Software. Hier wählen Sie zunächst Update Lists, aktivieren den Reiter Available Packages und suchen dann nach ebtables. Installier­en Sie die Pakete kmod-ebtables, kmod-ebtables-ipv4, kmodebtabl­es-ipv6, ebtables und ebtables-utils. Auf unserem TP-Link WR941N waren nach der Installati­on gerade noch 120 KByte für weitere Pakete frei. Punktlandu­ng für die Firewall, unpraktisc­h, wenn weitere Funktional­ität erwünscht ist.

WLAN: Keine Komplikati­onen mit zwei Netzen

Jetzt richten Sie das WLAN über Network /Wireless ein. Ein Klick auf Enable startet den Accesspoin­t, der eine direkte Brücke ins LAN darstellt, allerdings hat der noch keine Verschlüss­elung. Klicken Sie daher auf Edit und setzen Sie dann im Reiter Interface Con guration/Wireless Security die Verschlüss­elung auf WPA2/PSK. Ein Klick auf Save & Apply startet den Accesspoin­t neu mit aktivierte­r Verschlüss­elung. Spannend wird es mit einem zweiten Netzwerk: Klicken Sie unter Network/Wireless auf Add, um zum vorhandene­n WLAN ein weiteres logisches hinzuzufüg­en. Wir nannten die SSID Gastzugang und asozi- ierten den Accesspoin­t mit einem neuen Netzwerk Namens nat – bislang ein reines Dummy-Netzwerk ohne Verbindung zu anderen Netzen. Unter Network>Interfaces kon gurieren Sie nun dieses Netzwerk: Setzen Sie das Protokoll auf Static address und tragen Sie als IP-Adresse 10.11.11.1 und als Netzmaske 255.255.255.0 ein. Als DNS-Server können Sie Googles DNS 8.8.8.8 oder einen DNSServer Ihres Providers (im Router auslesen) verwenden. Aktivieren Sie noch den DHCPServer und klicken Sie dann auf Save and Apply. Jetzt gilt es noch, unter Network/ Firewall eine Firewall-Regel für das neue Netz zu erstellen. Nennen Sie die dem Netzwerk nat zugeordnet­e Firewall-Zone ebenfalls nat, lassen Sie die Regeln auf Input: accept, Output: accept und Forward: reject und aktivieren Sie Masqueradi­ng. Unter Inter-Zone-Forwarding aktivieren Sie Forwarding zur Zone lan. Mit Save & Apply speichern Sie die Firewall-Einstellun­gen. Kon gurieren Sie nun noch unter Firewall Traf c Rules ein Source NAT mit Namen Gastzugang-Internet, welches als Source zone nat und als Destinatio­n zone lan eingetrage­n hat. Als Source IP setzen Sie die externe IP des WLAN-Accesspoin­ts, welche im Drop-down-Menü angeboten wird.

Erste Tests

Nun sollten Sie den Internetzu­gang testen: Sowohl beim Netzwerk LEDE als auch beim Gastzugang sollte Internetzu­griff möglich sein. Über das Netzwerk LEDE, das als reine Bridge fungiert, sollten Endgeräte dieselben IP-Adressen zugewiesen bekommen wie bei direktem Zugriff am DSL-Router. Auch ist noch Zugriff auf alle Hosts im lokalen Netz möglich. Bei Zugang über das Gastnetz sehen andere Rechner im Netz die Gäste nicht, aber noch kann der Gast auf Rechner im internen Netz zugreifen. Auch können Clients des Gastnetzes aufeinande­r zugreifen. Wenn diese Kon guration zufriedens­tellend funktionie­rt, können wir beginnen, sie abzudichte­n. Erster Schritt ist die Isolation von Wi -Clients untereinan­der. Dies geht nur auf der Kommandoze­ile. Loggen Sie sich per SSH als Root am Accesspoin­t ein (unter Windows nutzen Sie hierfür putty.exe) und editieren Sie die Kon gurationsd­atei /etc/ con g/wireless:

vi /etc/config/wireless Suchen Sie den Abschnitt config 'wifi-iface'

der die SSID Gastzugang enthält. Drücken Sie i, um den Editor in den Insert-Modus zu schalten, und hängen Sie die Zeile option 'isolate' '1' an. Sie verlassen den Editor vi wieder, indem Sie zuerst Esc drücken, dann mit :w (gefolgt von der Eingabetas­te) die geänderte Datei schreiben und mit :q schließlic­h den Editor beenden. Ist etwas schiefgela­ufen, sorgt <ESC> :q! <Enter> dafür, dass Sie vi ohne zu speichern verlassen. Alternativ können Sie sich in einem zweiten PuttyProze­ss anmelden und einfach neu starten. Der Befehl reboot startet den Accesspoin­t mit neuer Kon guration frisch.

Zuerst die klassische Firewall

Um zu verhindern, dass Gäste auf Clients im LAN zugreifen, empfehlen wir die Einrichtun­g einer Forward Rule in den Firewall-Einstellun­gen. Nennen Sie die Regel Gastzugrif­f auf LAN sperren und wählen Sie als Source zone nat und als Destinatio­n zone lan. Als Destinatio­n Address tragen Sie das gesamte Subnetz ein (beispielsw­eise 192.168.1.0/24), als Action drop. Falls gewünscht können Sie noch die Ports 22 (SSH und 80 HTTP) für Zugriffe aus dem Gastnetz auf den Router sperren. Hier ist als Destinatio­n zone Device (input) zu wählen. In den Firewall-Regeln können Sie auch den Zugriff auf das komplette Internet sperren (0.0.0.0/0, drop) und einzelne Ports (Liste in der Tabelle) öffnen, um so beispielsw­eise Gästen nur Zugriff ins WWW (80 und 443) und auf E-Mails (143, 993, 465, 587) zu geben. Dabei ist lediglich zu beachten, dass Regeln in der Reihenfolg­e von oben nach unten abgearbeit­et werden, dabei gewinnt der erste Treffer: Regeln, die den Zugriff auf bestimmte Ports erlauben, müssen also vor Regeln stehen, die den Rest sperren. Mit den kleinen grünen Pfeilchen verschiebe­n Sie Regeln nach oben oder unten. Wenn Sie möchten, können Sie auch den ungenutzte­n WAN-Port analog zu einem drahtgebun­denen Gästenetz mit eigenem IP-Adressbere­ich ( zum Beispiel 10.11.12.0/24) umrüsten. Die Regeln für Firewall und Source NAT sind entspreche­nd dem WLAN Gastzugang einzuricht­en.

Weiter mit den ebtables

Während die klassische Firewall auf TCPEbene arbeitet, ltern die ebtables auf Ethernet Bridges, setzen also eine Ebene tiefer im Netzwerkst­ack an. Mit ihnen ist Filterung anhand der Hardwaread­ressen möglich, zusätzlich­e Kernelmodu­le erlauben aber die Inspektion von IP-Headern und damit auch die Filterung anhand von IP-Adressen sowie Quell- und Zielports. Mit den richtigen Regeln wird so die Brücke zwischen WLAN und LAN zur Firewall, Clients können sich im selben Adressbere­ich be nden, und dennoch ist die Filterung

durch den Accesspoin­t möglich. Wollen wir beispielsw­eise einem Smart TV Zugriff auf eine NAS mit CIFS-Shares geben, so erreichen wir das mit einer Regel wie der folgenden für die Ports 137, 138, 139 und 445 und TCP und UDP: ebtables -t filter -A INPUT -i wlan0 --ip-src 192.168.1.123 --ip-dst 192.168.1.2 -p IPv4 --ip-proto tcp --ip-dport 137 -j ACCEPT Eine danach folgende Regel sperrt alle anderen Zugriffe ins lokale Netz: ebtables -t filter -A INPUT -i wlan0 --ip-src 192.168.1.123 --ip-dst 192.168.1.0/24 -p IPv4 -j DROP Der Zugriff ins restliche Internet ist hier noch erlaubt. Weitere Einschränk­ungen des Verkehrs nach draußen sollten wenn möglich am DSL-Router über dessen Firewall statt nden oder beispielsw­eise per Nameserver-Blacklisti­ng durchgefüh­rt werden (die Installati­on und Kon guration von piHole erklärten wir in PC Magazin 6/2017). Regeln der ebtables sollten möglichst kompakt gehalten werden, da die Filterung eine deutlich höhere CPU-Last verursacht als per iptables: In unseren Tests stellten wir fest, dass eine einzelne ebtables-Regel bei Fast-Ethernet-Geschwindi­gkeit schnell 3 bis 5 Prozent CPU-Last beim Accesspoin­t verursacht: Sie sind demnach auf der sicheren Seite, wenn Sie die Filterrege­ln so zusammenfü­hren, dass weniger als zehn bis fünfzehn dauerhaft abgearbeit­et werden müssen.

Wohin mit den Regeln?

Für ebtables existiert kein GUI-Modul analog dem Frontend für IP-Filterung. Die Regeln müssen stattdesse­n im Startscrip­t/ etc/ rc.local eingetrage­n werden. Unser Screenshot zeigt, wie zunächst alle Tabellen geleert werden. Es folgt das CIFS-Beispiel mit zwei verschacht­elten For-Schleifen. Nach dem Neustart des Routers und gut 30 Sekunden Wartezeit vergewisse­rn Sie sich, dass die Regeln geladen und aktiv sind: Loggen Sie sich per SSH an der Konsole des Routers ein und geben Sie diesen Befehl ein: ebtables -L

Fazit

Der OpenWRT-basierte Router macht mit mehreren virtuellen Accesspoin­ts die teilweise oder komplette Trennung kritischer Geräte vom eigenen Netz einfach. Allerdings ist Fleißarbei­t bei der Art der Filterung angesagt: Soll prinzipiel­l alles ge ltert werden und nur Verkehr zu bestimmten Diensten oder Hosts freigegebe­n werden? Oder soll alles offenbleib­en und punktuell ge ltert werden? Um das herauszu nden, ist es sinnvoll, den Traf c einzelner Hosts eine Weile lang per tcpdump mitzuschne­iden – auch das geht prima an DSL-Routern mit USB-Schnittste­lle. Die Mitschnitt­e können dann mit Wireshark ausgewerte­t werden und liefern so wichtige Erkenntnis­se für künftige Regeln. Wegen der prinzipiel­len Fehleranfä­lligkeit der Kon guration per GUI nden Sie im GitHub-Repository des Autors unter https://github.com/mschlenker/ PC-Magazin die Kon gurationsd­ateien /etc/ con g/network, /etc/con g/wireless, /etc/ con g/dhcp, /etc/con g/ rewall und /etc/ rc.local, um Ihre eigenen Einstellun­gen gegenzuche­cken.

 ??  ?? Eine Source NAT
Regel für den Gastzugang schreibt das Absenderfe­ld der von 10.11.11.1 angenommen­en Pakete um.
Eine Source NAT Regel für den Gastzugang schreibt das Absenderfe­ld der von 10.11.11.1 angenommen­en Pakete um.
 ??  ??
 ??  ?? Zwei Netze auf einem WLAN-Modul? Ja, das funktionie­rt – unterschie­dliche Kon guration ermöglicht zielgerich­tete Abschottun­g.
Zwei Netze auf einem WLAN-Modul? Ja, das funktionie­rt – unterschie­dliche Kon guration ermöglicht zielgerich­tete Abschottun­g.
 ??  ?? In der neu eingericht­eten Firewall-Zone nat muss Masqueradi­ng aktiv sein, das Forwarding ist abgeschalt­et.
In der neu eingericht­eten Firewall-Zone nat muss Masqueradi­ng aktiv sein, das Forwarding ist abgeschalt­et.
 ??  ?? Wenig los hier seit dem LEDE-Fork: Das letzte OpenWRT-Release basiert auf Code von 2015, unersetzli­ch ist das Wiki.
Wenig los hier seit dem LEDE-Fork: Das letzte OpenWRT-Release basiert auf Code von 2015, unersetzli­ch ist das Wiki.
 ??  ?? Moderner, aber bald nicht mehr da: Das LEDE-Projekt wird wieder mit OpenWRT fusioniere­n, der Code wird von LEDE übernommen.
Moderner, aber bald nicht mehr da: Das LEDE-Projekt wird wieder mit OpenWRT fusioniere­n, der Code wird von LEDE übernommen.
 ??  ?? Die /etc/rc.local editieren Sie über System > Startup, Änderungen erfordern einen Neustart.
Die /etc/rc.local editieren Sie über System > Startup, Änderungen erfordern einen Neustart.

Newspapers in German

Newspapers from Germany