Aktualisierungen gibt es im Changelog, als RSS-Feed
oder im [matrix] Raum #prhdb-changes:nitro.chat

Privacy-Handbuch

Windows 10 enthält eine vollständige Implementierung von IPsec. Man kann sich einen IPsec Client in Einstellungen für "Netzwerk und Internet" zusammenklicken. Vollständigen Zugriff auf alle Parameter hat man nur mit der Powershell. Eine Übersicht über alle VPN Client Cmdlets der Powershell findet man in der Dokumentation von Microsoft.
  1. Eine IPsec VPN-Verbindung wird mit folgendem Cmdlet erstellt: PS C:\> Add-VPNConnection -AllUserConnection -Name "meinVPN" -ServerAddress 1.2.3.4 -TunnelType "Ikev2" -AuthenticationMthod "EAP" -RememberCredential
    • Es wird eine IPsec VPN Verbindung erstellt, die alle Anwender nutzen können.
    • Der Name kann frei gewählt werden. Er dient nur der Anzeige und wird in den folgenden Kommandos verwendet, im die VPN-Verbindung auszuwählen.
    • Der VPN-Server hat die IP-Adresse 1.2.3.4. Man kann auch einen DNS Namen angeben. Die DNS Namen der VPN Server findet man auf der Webseite des VPN-Providers.
    • Die Authentifizierung gegenüber dem Server erfolgt mit Username/Passwort (EAP).
    • Die Login Credentials werden beim erfolgreichen Login gespeichert. Wenn man die Login Credentials nicht speichern möchte, kann man den letzten Parameter weglassen.
  2. Die Parameter der Verschlüsselung kann man mit folgendem Cmdlet in der Powershell anpassen, um sichere Ciphersuiten gemäß NSA Suite-B-128 zu verwenden: PS C:\> Set-VpnConnectionIPsecConfiguration -ConnectionName "meinVPN"
    -CipherTransformConstants GCMAES128 -EncryptionMethod AES128
    -PfsGroup ECP256 -DHGroup ECP256 -IntegrityCheckMethod SHA256
    -AuthenticationTransformConstants SHA256128
  3. Standardmäßig vertraut Windows 10 allen Certification Authorities (CAs) im Store, um die Identität des VPN-Servers zu bestätigen. Das vereinfacht Man-in-the-Middle Angriffe mit gefälschten Zertifikaten. Um Man-in-the-Middle Angriffe auf die VPN-Verbindung zu erschweren, kann man das Root-Zertifikat festlegen und damit definieren, welche CA das Zertifikat des Server signiert haben muss ("CA Pinning").

    Wenn das X509-Zertifikat des VPN-Servers beispielsweise von der CA Swisscom signiert wurde, könnte man mit folgendem Powershell Script die CA für diese VPN Verbindung festschreiben (nur ein Beispiel):

    $ca = Get-ChildItem Cert:\LocalMachine\Root | ? Subject -EQ 'CN=Swisscom Root CA 2'

    Set-VpnConnection -ConnectionName "meinVPN" -MachineCertificateIssuerFilter $ca
    Der erste Befehl filtert das gewünschte CA Root Zertifikat der CA aus der Liste der vertrauens­würdigen CAs. Der zweite Befehl legt fest, dass dieses CA Root Zertifikat die Identität des VPN-Servers bestätigen muss.
  4. Man kann festlegen, dass bestimmte Anwendungen nur via VPN genutzt werden dürfen. Es wird automatisch das VPN gestartet, wenn eine der definierten Anwendungen gestartet wird. Man definiert die VPN-only Anwendungen mit folgendem Cmdlet: PS C:\> Add-VpnConnectionTriggerApplication -ConnectionName "meinVPN"
    -ApplicationID <Path> | <Package Family Name>
    Legacy Anwendungen werde dabei über den Path der EXE-Datei spezifiziert, moderne Anwendungen werden über den Package Family Name referenziert.
Lizenz: Public Domain