Die technischen Einzelheiten
Interessieren Sie sich für die Protokolle, Primitive und andere Einzelheiten, auf denen Mullvad VPN aufgebaut ist? Hier, bitteschön!
VPN-Protokolle in der App
Wir unterstützen zwei Protokolle für die VPN-Tunnel – OpenVPN und WireGuard:
- Wir begrenzen OpenVPN auf TLS 1.3 (für den Kontrollkanal) und AES-256-GCM (für den Datenkanal). Dies ist in OpenSSL implementiert.
- Für Wireguard benutzen wir die Standard Linux-Kernel-Implementierung, sofern verfügbar. Andernfalls verwenden wir Wireguard-Go.
App API-Verbindung
Die App verwendet TLS 1.2 oder 1.3, implementiert in Rustls*, um die Kommunikation mit der API zu verschlüsseln. Dies hat zwei Funktionen:
- Die Verbindung verwendet Certificate Pinning um MitM-Angriffe zu verhindern.
- Zur Vermeidung von DNS-Spoofing verwendet die App kein DNS, um die IP für die API zu erhalten.
*Unter iOS wird das von URLSession unterstützte Standard-TLS verwendet App-Firewall und Sicherheit
Die App verhindert Leaks und ermöglicht die Killswitch-Funktion, indem sie sich in die Firewall des Systems integriert (WFP in Windows, nftables in Linux und PF in macOS). Erfahren Sie auf unserer GitHub Seite mehr
App-Architektur
Um die Menge an Code zu begrenzen, der als privilegierter Nutzer läuft, ist die App in zwei Teile geteilt:
- unprivilegierte Front-Ends (inklusive CLI))
- ein privilegierter Systemdienst, welcher im Hintergrund läuft und die Tunnel und Gerätesicherheit überwacht.
Erfahren Sie auf unserer GitHub Seite mehr Server
Wir haben in allen unseren Servern eine Standardkonfiguration und Prioritätsreihenfolge zur Verschlüsselung definiert, um die stärkstmögliche verfügbare Verschlüsselung für jedes Tunnelprotokoll zu bieten.
OpenVPN-Server
Unsere OpenVPN-Server haben die folgenden Eigenschaften:
WireGuard-Server
WireGuard ist dogmatisch und bietet nur einen Satz kryptografischer Primitiven. Besuchen Sie die WireGuard Website für weitere Informationen.
Brückenserver
Unsere Brücken vereinfachen die Verbindung mit unserer Website, API, OpenVPN und WireGuard-Servern an Orten, wo der Zugriff auf diese blockiert ist. Unsere Konfiguration macht es schwer bis unmöglich, darüber auf etwas Unverschlüsseltes zuzugreifen. Deshalb ist die Art der Verschlüsselung nicht sonderlich wichtig.
Serverblockierung
Um uns, unsere Kunden und die Qualität unseres Dienstes zu beschützen, behalten wir uns das Recht vor, jegliche IP-Adressen oder Ports zu blockieren. Wir blocken zu jeder Zeit ausgehenden Verkehr auf den folgenden Ports:
- Port 25 – zum Verhindern von Spam
- Ports 137, 138, 139, 445 – um Kunden vor einer Microsoft SMB/CIFS Sicherheitslücke zu beschützen
- Ports 1900 und 2869 – um Kunden vor schädlichen UPnP Konfigurationen zu schützen.