Site-to-Site VPN sicher einrichten UniFi IP SEC

Don-DCH

Captain
Registriert
Aug. 2009
Beiträge
3.241
Guten Mittag zusammen,

gerne würde ich zwischen einer Ubiquiti Dream Machine und Ubiquiti Dream Machine Pro ein IP-SEC Site to Site VPN einrichten. Prinzipiell geht das normalerweise recht einfach. Das Problem ist, dass ich an einer Adresse keine statische IP-Adresse habe und daher einen DYNDNS Namen eintragen muss.
Das bringt das Problem mit sich, dass ich unter Advanced Configuration gleich alles auf manuell stellen muss, obwohl ich nur unter
Remote Authentication ID meine DYNDNS Adresse eintragen muss.

Ich möchte, das möglichst alles sicher eingestellt ist, daher wollte ich euch um Rat fragen.
Anbei ein Screenshot zur Übersicht, ich beschreibe dann noch was man in den Dropdown Feldern auswählen kann und würde mich über eure Erfahrungswerte und Best Practice Empfehlungen freuen :)


1703678155121.png


Bei der Key Exchange Version kann ich
IKEv1 und IKEv2 auswählen. Soweit ich das gelesen habe ist V2 neuerer und viel sicherer.

Unter IKE Encryption habe ich AES128, AES192 und AES256, hier würde ich es auf 256 belassen da dies ja die stärkste Verschlüsselung ist, wenn ich das richtig sehe?
Beim Hash habe ich die Auswahl zwischen SHA1, SHA256,SHA384,SHA512 und MD5 hier hätte ich nach meiner Recherche 512 ausgewählt, wäre das am sichersten und besten?

Bei der DH Group habe ich gelesen sind höhere Werte empfohlen, sofern mann eine starke AES Verschlüssung auswählt, ich würde da jetzt 30 nehmen, passt das? Bei der Liftime habe ich garkeine Ahnung sind damit die Pakete gemeint und ist der Wert in Millisekunden oder was sollte man da am besten einstellen?

Dann ist die Frage was ESP ist, nehme ich da die identischen einstellungen oder sollte das nicht gleich sein?
Perfect Forward Secrecy würde ich anlassen weil wenn ich es richtig verstehe dazu dient den Key autoamtisch zu ändern, hört sich für mcih recht sicher an.

Local Authentication ID würde ich eifnach so bealssen und bei Remote muss ich ja meine DYNDNS Adresse eintragen.
Maximum Transmission Unit Würde ich auch auf Auto belassen und Route Distance weiß ich nicht genau 30 waren hier voreingetsellt ob das passt soweit?

Ich würde mich sehr freuen, falls jemand mir hier weiterhelfen kann das ganze möglichst sicher einzurichten.
Leider muss ich hier Manuell nehmen und es ist nciht möglich nur die Remote Authentication ID zu vergeben.

Ich möchte von Magic VPN via Wireguard weg, da ich eigentlich die Konsolen nicht über die Cloud managen möchte. Gerade nach dem letzten Vorfall gibt mir das ncohmal ein ungutes Gefühl. Jetzt geht ja endlich auch eine dyndns Adresse anzugeben bei IP Sec das ging bisher nicht, da musste ich auf magic Site to Site VPN ausweichen.
 
IKE ist das Protokoll, das genutzt wird, um den Tunnel aufzubauen.

ESP signiert einzelne Pakete die durch den Tunnel gesendet werden.

PFS sorgt im Verbindungsaufbau dafür, dass ein beide Seiten einen, nennen wir es "Sitzungsschlüssel" austauschen, mit dem die restliche Verschlüsselung umgesetzt wird. Das Gegenteil wäre ein pre-shared key, der statisch ist.

AES256 & SHA256+ ist vernünftig, ausser MD5 ist bei den Optionen kein "Unsinn" dabei. Wichtig ist, dass du beide Endpunkte mit den selben Algorithmen konfigurierst, andernfalls wird kein Aufbau des Tunnels möglich sein. Du wirst also den kleinsten gemeinsamen Nenner an Einstellungen wählen müssen.
 
Vielen herzlichen Dank dir für deine Antwort!

Hmm einen PSK definiert man weiter oben, wo ich auch die Netze und Endpiunkte angebe. Vielleicht ist das aber auch nur der initiale PSK.

Hmm, den einen Endpunkt habe ich auf automatisch, ist die Frage ob ich das so belasse oder statisch auch alles so abändere wie bei dem, wo ich es eh machen muss, schadet ja nicht :)
Passen die Default Werte bei Liftime auch so?
Heißt es, dass der Tunnel alle 8 Stunden getrennt wird? (28800 Sekunden) oder was bedeuten die beiden Werte?

Sehr schade und bedauerlich, dass UniFi da selbst so wenig bis garnichts erklärt dazu.
Wäre SHA512 sicherer oder wäre das zu übertrieben?
Hast du eine Empfehlung für DH Group? Stimmt was was ich gelesen habe und sollte dort den Wert 30 einstellen?
Die Route Distance kann ich ja schlecht rausfinden oder, da das ganze ja dynamisch ist und über das Internet geht oder verstehe ich das falsch?

Viele Grüße
 
Don-DCH schrieb:
Kann man auch eine Münze werfen. Sicher ist etwas, wenn man Brute-Force machen muss und das länger dauert als die Lebensspanne der Information, siehe Wikipedia … Bei einigen Anwendungen ist das ein Problem, weil man raten muss, welche Techniken in naher Zukunft erfunden werden.
Don-DCH schrieb:
Solche Frage sind wirklich toll für Security/StackExchange, siehe …
Don-DCH schrieb:
Remote Authentication ID meine DYNDNS Adresse
Aber mich wundert, dass das nicht schöner geht. Auf die Schnelle habe ich nichts gefunden, dass Du die DynDNS-Adresse auf dem Server nicht irgendwie hinterlegen kannst. Hast Du in dem Punkt bereits die UniFi-Community befragt, also ob das nicht schöner, also mittels „Auto“ geht?
 
Danke dir für die schnelle und ausführliche Antwort!
Ja es ist wirklich bedauerlich das UniFI da nichts erklärt.

Früher ging Site to Site IP SEC nur mit öffentlichen statischen IPV4 auf beiden seiten. Dann kam WireGuard über Cloud Zugriff.

Und jetzt kam, ist noch nicht allzulange her ein Update, dass IP-Sec auch DYNDNS Adressen unterstützt.
Ich habe es mit Auto versucht, das klappte leider nicht. Groß was dazu habe ich nichts gefunden. UniFi gibt aber, dass man bei DYNDNS das manuell setzen muss
https://help.ui.com/hc/en-us/articles/360002426234

Zitat:
We recommend to use IPsec Site-to-Site VPNs on a UniFi Gateway that has access to a public IP address. Any performance or port forwarding issues on the upstream router can cause the VPN to disconnect.
If this is not an option, then configure the authentication IDs. For example, an IPsec Site-to-Site VPN is set up between the below UniFi Gateways:
  • UniFi Gateway Site A - WAN IP 192.168.5.1 (behind NAT)
  • ISP modem/router Site A - WAN IP 203.0.113.1 (public IP)
  • UniFi Gateway Site B - WAN IP IP 198.51.100.1 (public IP)
The VPN is set up between the public IP addresses 203.0.113.1 > 198.51.100.1.
When Site B receives the IPsec VPN peer request from Site A, it will contain both the 192.168.5.1 and 203.0.113.1 IP addresses. However, Site B is only configured to peer with 203.0.113.1 causing a mismatch. To resolve this, configure 203.0.113.1 as the Local Authentication ID on Site A.
The reverse is also possible. The 192.168.5.1 IP address can be configured as the Remote Authentication ID on site B.
Besides IP addresses, authentication IDs also support hostnames, email addresses and distinguished names.



Das finde ich sehr schade, da eigentlich die EInrichtung sehr einfach ist, abe rmit DYNDNS funktioniert es einfach nicht, er lässt mich mit der Auto Config das ganze einfach nicht abspeichern :(
 
Jene Webseite hatte ich gefunden und als nutzlos eingestuft. Daher mein Vorschlag die UniFi eigene Community, also andere Nutzer zu fragen, entweder die Englische, Reddit, oder eine der vielen Deutschen.
 
Ja das geht mir ähnlich, ziemlich nichtssagend. Gute Idee, habe mich gerade mal angemeldet und nachgefragt :)
 
Don-DCH schrieb:
Hmm einen PSK definiert man weiter oben, wo ich auch die Netze und Endpiunkte angebe. Vielleicht ist das aber auch nur der initiale PSK.
Das stimmt, da habe ich Dinge durcheinander gebracht. Einen PSK wirst du immer haben, verstehe es als Pre-Authentifikation.
PFS sorgt dann eben dafür, dass die Endpunkte die Sitzungsschlüssel untereinander gemäss des Algorithmus aushandeln.
Bei Erreichen der IKE Lifetime wird die Verbindung geschlossen und erneut aufgebaut, dabei werden auch neue Schlüssel generiert. Je höhet die DH Group, desto länger dauert das Aushandeln. Wir reden aber über Zeiten im Millisekunden Bereich, wenn die Verbindung selbst nicht sehr hohe Latenzen aufweist. Alles ab DH Group 14 sollte auf absehbare Zeit ausreichend sicher sein.

Der beschriebene "missmatch" beschreibt schlussendlich die left und right Parameter von IPSec:

left|right End Parameters​


Connection descriptions are defined in terms of a left endpoint and a right endpoint. For example, the
two parameters leftid and rightid specify the identity of the left and the right endpoint. For every
connection description an attempt is made to figure out whether the local endpoint should act as the left or
the right endpoint. This is done by matching the IP addresses defined for both endpoints with the
IP addresses assigned to local network interfaces. If a match is found then the role (left or right) that
matches is going to be considered "local". If no match is found during startup, "left" is considered "local".
Ich sehe, weshalb das alles über ein GUI, NAT und DynDNS ein noch grösserer pita ist, als wenn du es per Strongswan unter Linux aufbaust und die Details kennst. Gutes Gelingen in jedem Fall :)
 
Zurück
Oben