Hallo zusammen!
Ich versuche gerade, ein IPv6-Firewall-Setup auf die Beine zu stellen, welches nur Verbindungen von bestimmten Geräten ins Internet zulässt und stolpere dabei immer wieder über Eigenheiten von IPv6. Folgende Dinge sollten gegeben sein:
- alle ausgehenden Verbindungen (außer natürlich ICMPv6) sollen geblockt werden (erstmal kein Problem)
- nur für bestimmte Geräte soll der Internet-Zugang freigegeben werden (scheinbar schwierig)
Hintergrund ist, dass ich einige Nachbarn per WLAN mit Internet versorge. Die Geräte dieser Nachbarn sollen natürlich Internet-Zugang haben. Allerdings möchte ich vermeiden, dass Fremdgeräte (Freunde von Freunden) Internet-Zugang bekommen. Dafür gibt es Freifunk.
Was mit IPv4 einfach ist, scheint mit IPv6 problematischer zu sein. Die Firewall für einzelne IP's freizuschalten funktioniert nicht so ohne weiteres. Da spielen die Privacy Extensions nicht mit. Außerdem wird's schwierig bei Geräten, die sich ihre Adresse per SLAAC generieren (z.B. Android).
Vielleicht hat jemand ein ähnliches Setup und kann mir den passenden Denkanstoss geben...
hauetaler
1. warum gibst du nicht deinen "kunden" einen ipv4 bereich mit dem du die firewall regeln einfacher bauen kannst
In IPv4 würdest du NAT machen und auf Basis der MAC eine Adresse reservieren, damit kannst zu FW-Regeln erstellen.
Viel Spaß bei dem Versuch, das in IPv6 nachzubauen.
Schalt den Mist ab und mach IPv4. Das andere ist ein privacy and security nightmare.
Die Erfahrung musste ich auch machen... Ärgerlich nur, dass ich mir die Arbeit gemacht habe, von IPfire auf OPNsense umzustellen. Also bleibt erstmal alles bei IPv4.
Hi,
IPv6 funktioniert anders als IPv4, daher sollte man nicht mit IPv4-Methoden versuchen IPv6 zu nutzen.
Du bekommst dort ja nicht nur eine Adresse sondern meist gleich 256 Subnetze, diese kann man ganz hervorragend nutzen um sich Zonen (VLANs) zu bauen. Z.B. Privates Netz, Gästenetz, Nachbarn usw.
Über die Firewall kannst du dann bequem die Zugriffe zwischen den Zonen (VLANs) regeln ohne jede einzelne Adresse zu kennen.
Ich empfehle auch i.d.R. DHCPv6 nicht zu verwenden und die Router Advertisements auf unmanaged zu belassen/einzustellen. Sicher gibt es Gründe für DHCPv6, jedoch in den meisten Setups ist es nicht erforderlich.
Wenn du dich etwas damit beschäftigst, dann wirst du auch sehen, das IPv6 sehr cool ist und auch privacy- und security-technisch völlig unproblematisch ist. Es ist halt etwas anders.
Für den Einstieg in IPv6 empfehle ich euch folgende Podcast-Folge: https://requestforcomments.de/archives/412
Gruß
Robert
Ich bin bis heute auch noch nicht so richtig warm geworden mit IPv6.
Quote from: robgnu on December 04, 2020, 05:32:13 AM
Über die Firewall kannst du dann bequem die Zugriffe zwischen den Zonen (VLANs) regeln ohne jede einzelne Adresse zu kennen.
Aber wie regele ich dann, dass einzelne Hosts einer Zone evtl mehr dürfen können sollen? Bei IPv4 kenne ich die IP bis ins letzte Bit. Bei IPv6 mit Privacy Extensions etc kann ich einzelne Hosts zumindest über die IP nicht mehr erkennen. Und alle spezial Clients auf Privacy Extensions verzichten zu lassen ist ja nun auch keine Lösung. Man müsste diese also wieder in ein eigenes Subnetz packen.
Aktuell sehe ich keinen Vorteil IPv6 zu aktivieren.
Löse Dich von der Vorstellung, Dinge per IP-Adresse regeln zu wollen. Denke in Interfaces und Zonen und isoliere Hostgruppen entsprechend. Ausnahme: eingehende Server-Dienste. Die haben natürlich auch in der IPv6-Welt eine einzelne statische Adresse.
Absender-IP-Adressen sind fälschbar und auch in v4 eigentlich kein Sicherheitsmerkmal. Sidewinder-Anwender haben das Zonen-Konzept schon seit Jahren ;)
Quote from: pmhausen on December 04, 2020, 10:32:50 AM
Löse Dich von der Vorstellung, Dinge per IP-Adresse regeln zu wollen. Denke in Interfaces und Zonen und isoliere Hostgruppen entsprechend.
Ich weiß nicht, ob ich schon bereit bin loszulassen :).
Quote from: pmhausen on December 04, 2020, 10:32:50 AM
Löse Dich von der Vorstellung, Dinge per IP-Adresse regeln zu wollen. Denke in Interfaces und Zonen und isoliere Hostgruppen entsprechend. Ausnahme: eingehende Server-Dienste. Die haben natürlich auch in der IPv6-Welt eine einzelne statische Adresse.
Absender-IP-Adressen sind fälschbar und auch in v4 eigentlich kein Sicherheitsmerkmal. Sidewinder-Anwender haben das Zonen-Konzept schon seit Jahren ;)
Klingt spannend, wie sieht das praktisch aus? Wie kontrolliert man, welche Interfaces welche IPs habe (dürfen)? So wie ich es verstehe, haben Interfaces auch schon mal mehrere ipv6 Adressen. Wie und wo wird das alles kontrolliert? Von den privacy extensions würde ich auch gerne mehr wissen... :-)
Ich will aber nicht alle meine dummen Switches durch VLAN-fähige ersetzen.
Jedes Interface hat natürlich ein eigenes /64. Zwischen den Interfaces muss geroutet werden.
Ein westentlicher Aspekt von IPv6 ist auch, dass man nicht bis ins kleinste Detail alles kontrollieren muss. z.B. ist die Adressvergabe durch den Client (SLAAC) viel effektiver.
Durch die Privacy Extensions bekommt man nach einem gewissen Zeitintervall automatisch eine neue (zusätzliche) IP Adresse. Diese wird jedoch nur für ausgehende Verbindungen genutzt. Für noch offene Verbindungen bleiben die vorherigen Adressen so lange aktiv, bis alle Verbindungen geschlossen wurden. So wird das Tracking beim surfen sehr effektiv verhindert. (Tracking anhand der IP Adresse ist in Zeiten von Cookies, Browser Fingerprinting usw. aber nur ein kleiner Aspekt!)
Die per SLAAC vergebene Adresse bleibt statisch an das Subnetz gebunden. D.h. man kann für eingehende Verbindungen (Serverdienste) immer die gleiche Adresse verwenden. Selbst bei Servern muss man oft gar nicht auf "Feste IP" umstellen. Wir machen das bei unseren Kundenservern zumindest nicht.
Wenn ich z.B. einen Kundenserver in der Firma vorbereite, dann speichere ich mir die IPv6 Adresse ab. Beim Kunden vor Ort tausche ich einfach den Netz-Teil der Adresse (die erste Hälfte der Adresse) gegen das Netz des Kunden aus und kann mich sofort per SSH einloggen. Ohne IP Adressen umzukonfigurieren. Total easy.
Zum Thema Sicherheit:
Ich würde, wie es oben schon erwähnt wird, verfahren: Einfach mehrere Zonen konfigurieren, zwischen denen geroutet wird. So kann man sich ein sehr sauberes Netz aufbauen und die Firewall-Regeln beim Routing nach Bedarf konfigurieren.
Gruß
Robert
Ja, aber in meinen bestehenden Installationen erlaube ich ganz spezifisch einzelnen Clients Dinge, die andere nicht dürfen (fixe IP, individuelle FW-Regeln). Ich kann ja nicht für immer ein paar Clients ein Interface an der Sense haben.
Wirklich, ich würde das gerne besser verstehen, aber mit "ein Interface für jede Kleingruppe" kann ich kein fein-getuntes Netz aufbauen. Und mit mehreren, wechselnden IPs für einen Client: Das klingt nicht "übersichtlich" (um es vorsichtig zu sagen).
Kann es nochmal jemand mehr im Detail darstellen, wie man so ein ipv6 Netz plant und umsetzt (DHCPv6 etc....):-)
Genau wie Du geschrieben hast: mit Gruppen für jede Menge an Clients, die eine spezielle eigene Policy brauchen. Das sollten doch nicht mehr als eine Handvoll werden ...
Was genau musst Du denn für jeden Client einzeln regeln?
Und die Adressen mit den Privacy Extensions sind nicht unübersichtlich, sie sind irrelevant. Alles, was am gleichen Interface/VLAN hängt, bekommt die gleiche Policy. Gäste? Extra Interface. IoT? Extra Interface ...
Meine Regeln sind schon für v4 immer so gewesen: von Interface nach Interface Policy. Macht die Sidewinder per Default, nennt sich Zones. Gepaart mit einem guten Anti-Spoofing natürlich.
Ich kann einem Client in meinem Büro gar keine feste Adresse geben. Der Entwickler hängt mit seinem Mac am Arbeitsplatz am Ethernet seiner Docking-Station, im Pairing-Raum am Thunderbolt-Ethernet des Apple-Displays, das da noch steht, und im Besprechungsraum im WLAN ...
Und wahrscheinlich hat er noch mindestens zwei Situationen und damit MAC-Adressen mehr als mir jetzt einfallen.
Zonen haben auch den Vorteil, das "besonders Schlaue" sich nicht einfach manuell eine andere IP Adresse geben und auf einmal alles dürfen.
Im privaten Umfeld können das ja nicht mehr als 2-3 Zonen sein. Mit diesem Zonen konfiguriert sich IPv4 und IPv6 fast gleich und mit der Sense kann man die meisten Regeln als "IPv4/IPv6" in einem Rutsch konfigurieren.
Robert
Interessanter Ansatz, aber leider in meinem Fall so nicht machbar. Dein Vorschlag setzt, so wie ich das sehe, an den entsprechenden Stellen auch VLAN-fähige Switche voraus. Die sind aber nur bei mir vorhanden. Alternative wäre evtl., soweit möglich die Software auf einigen Routern durch OpenWRT zu ersetzen. Letztendlich wird mir der Aufwand dafür dann allerdings zu hoch, nur um IPv6 nutzen zu können. Das einfachste wäre, die anschlossenen Nachbarn würden die WLAN-Kennwörter nicht rausrücken und die Leute einfach im Freifunk belassen. Also werde ich wohl vorerst IPv4-only bleiben, denn das ist bei meinem Setup ne einfache Lösung.
Quote from: hauetaler on December 05, 2020, 08:12:19 AM
Interessanter Ansatz, aber leider in meinem Fall so nicht machbar. Dein Vorschlag setzt, so wie ich das sehe, an den entsprechenden Stellen auch VLAN-fähige Switche voraus. Die sind aber nur bei mir vorhanden. Alternative wäre evtl., soweit möglich die Software auf einigen Routern durch OpenWRT zu ersetzen. Letztendlich wird mir der Aufwand dafür dann allerdings zu hoch, nur um IPv6 nutzen zu können. Das einfachste wäre, die anschlossenen Nachbarn würden die WLAN-Kennwörter nicht rausrücken und die Leute einfach im Freifunk belassen. Also werde ich wohl vorerst IPv4-only bleiben, denn das ist bei meinem Setup ne einfache Lösung.
Verstehe ich dich richtig, dein Switch hat ein bisschen was in der Birne, und da hängen in einem separaten VLAN deine Nachbarn dran. Diese haben APs und eigenes WLAN, und zusätzlich Freifunk. Du willst, dass die Nachbarn gerne über deine Sense rausgehen können, alle anderen (Gäste der Nachbarn etc.) sollen aber bitte Freifunk nutzen?
Du könntest ja einfach die MAC Adressen der Nachbarn auf deinem Switch whitelisten und den Rest blockieren. Damit erübrigt sich dann auch die Filterung nach einzelnen IP Adressen in IPv4, welche total einfach zu umgehen ist, wie hier ja bereits erörtert wurde.
Dann wäre auch IPv6 kein Problem :-)
@hauetaler also verstehe ich das richtig:
- du willst für deine nachbarn als WISP fungieren?
wie machst du das mit der störhaftung?
ich persönlich würde einfach deine nachbarn ALLE über das Freifunk sürfen lassen wenn sie sich kein internet leisten können.
Quote from: marcquark on December 06, 2020, 11:20:16 AM
Du könntest ja einfach die MAC Adressen der Nachbarn auf deinem Switch whitelisten und den Rest blockieren. Damit erübrigt sich dann auch die Filterung nach einzelnen IP Adressen in IPv4, welche total einfach zu umgehen ist, wie hier ja bereits erörtert wurde.
Dann wäre auch IPv6 kein Problem :-)
Ähhh, also MAC-spoofing gibt es ja nun auch schon ein paar Tage, wo soll da der Vorteil sein?
Also für die Störerhaftung würde ich einfach bei einem VPN Anbieter einen Account holen und diesen ganzen Traffic der "Externen" darüber abwickeln. Die Bandbreite dürfte dabei ohnehin geringer sein als das, was Dein WAN Anschluss zu leisten imstande ist.
Quote from: chemlud on December 06, 2020, 12:32:11 PM
Quote from: marcquark on December 06, 2020, 11:20:16 AM
Du könntest ja einfach die MAC Adressen der Nachbarn auf deinem Switch whitelisten und den Rest blockieren. Damit erübrigt sich dann auch die Filterung nach einzelnen IP Adressen in IPv4, welche total einfach zu umgehen ist, wie hier ja bereits erörtert wurde.
Dann wäre auch IPv6 kein Problem :-)
Ähhh, also MAC-spoofing gibt es ja nun auch schon ein paar Tage, wo soll da der Vorteil sein?
Kein Nachteil ggü. dem Ansatz, es an den IP Adressen festzumachen. Nur dass man halt das Ziel "nur die Nachbarn niemand sonst" damit halbwegs umgesetzt bekommt. Wer schlau genug ist, die MAC Adresse zu spoofen, der würde auch seine IPv4 Adresse spoofen.
Vorteil: Funktioniert auch für IPv6 weil unabhängig von IP Adressen. Sicherheitslevel ist im Wesentlichen gleich: Reicht aus, um unerwünschten Usern eine Gewisse Hürde in den Weg zu legen, aber ist keine wirkliche "Sicherheit".