IPv6 - brauchbares Firewall-Setup

Started by hauetaler, December 01, 2020, 09:35:59 AM

Previous topic - Next topic
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
Internet: Willy.tel Down: 1Gbit/s, UP: 250Mbit/s Glasfaser  |
Router/Firewall: pfSense+ 23.09  |
Hardware: Netgate 6100

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.
kind regards
chemlud
____
"The price of reliability is the pursuit of the utmost simplicity."
C.A.R. Hoare

felix eichhorns premium katzenfutter mit der extraportion energie

A router is not a switch - A router is not a switch - A router is not a switch - A rou....

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.

December 04, 2020, 05:32:13 AM #4 Last Edit: December 04, 2020, 06:33:33 AM by robgnu
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.
,,The S in IoT stands for Security!" :)

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  ;)
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

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 :).
,,The S in IoT stands for Security!" :)

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.
kind regards
chemlud
____
"The price of reliability is the pursuit of the utmost simplicity."
C.A.R. Hoare

felix eichhorns premium katzenfutter mit der extraportion energie

A router is not a switch - A router is not a switch - A router is not a switch - A rou....

Jedes Interface hat natürlich ein eigenes /64. Zwischen den Interfaces muss geroutet werden.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

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....):-)



kind regards
chemlud
____
"The price of reliability is the pursuit of the utmost simplicity."
C.A.R. Hoare

felix eichhorns premium katzenfutter mit der extraportion energie

A router is not a switch - A router is not a switch - A router is not a switch - A rou....

December 04, 2020, 10:47:31 PM #12 Last Edit: December 04, 2020, 10:51:12 PM by pmhausen
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.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

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.