Upload
votu
View
225
Download
2
Embed Size (px)
Citation preview
Windows Server 2008 R2 und Windows 7 Stand-Alone Arbeitsplatz per VPN mit L2TP/IPSec und Zertifikaten
verbinden.
Inhalt Voraussetzungen in diesem Beispiel ............................................................................................................................... 1
Sicherstellen dass der Domänenbenutzer sich per VPN verbinden darf ........................................................................ 2
Zertifizierungsstelle (Certificate Authority) installieren .................................................................................................. 2
RRAS Server installieren und einrichten ......................................................................................................................... 6
Erster Test am Arbeitsplatz ............................................................................................................................................. 8
Geeignete Zertifikatvorlage erstellen ........................................................................................................................... 11
Zertifikat für den Server erstellen ................................................................................................................................. 13
Zertifikat für den Arbeitsplatz erstellen ........................................................................................................................ 18
Zertifikat der Zertifizierungsstelle (CA-Zertifikat) exportieren und auf dem Arbeitsplatz bekanntmachen ................ 23
Zweiter Test ................................................................................................................................................................... 27
Firewall: ..................................................................................................................................................................... 27
Windows Registry:..................................................................................................................................................... 28
Zertifikate oder DNS: ................................................................................................................................................. 28
Hier noch weitergehende Links die mir geholfen haben: ......................................................................................... 28
Voraussetzungen in diesem Beispiel Server als Domänencontroller; mein Server heisst server, meine Domäne heisst test.local
DNS eingerichtet + DHCP eingerichtet
Feste IP Adresse. Bei mir 192.168.102.198
Arbeitsplatz ist kein Domänenmitglied. Mein Arbeitsplatz heisst arbeitsplatz
Es gibt einen Domänenbenutzer mit Passwort.
Sicherstellen dass der Domänenbenutzer sich per VPN verbinden darf
Das geht natürlich schöner über NPS-Netzwerkrichtlinien aber diesen Extra Aufwand spar ich mir hier.
Zertifizierungsstelle (Certificate Authority) installieren
Wichtig ist hier den Namen des Servers zu verwenden wie er auch im Serverzertifikat steht. (Falls bisher noch
keines existiert, siehe weiter unten.) Also bei einem echten Szenario wohl den extern auflösbaren FQDN.
Sollte soweit funktionieren, zumindest per PPTP.
Ich nenn die Kopie anschliessend um in „Server IPSec“.
Beim Versuch eine Verbindung herzustellen kommt das:
Fehler 766: Es konnte kein Zertifikat gefunden werden.
Zertifikat für den Server erstellen Die Einstellungen zur Zertifikatsanforderung als Datei speichern. Bei mir heisst sie server.request.inf und liegt auf
dem Desktop:
[Version]
Signature= "$Windows NT$"
[NewRequest]
RequestType = PKCS10
ProviderName = "Microsoft Software Key Storage Provider"
Subject = "CN=server.test.local"
FriendlyName = "remote.mydomain.de"
KeyLength = 4096
MachineKeySet = TRUE
KeySpec = 2
KeyUsage = 0xa0
[EnhancedKeyUsageExtension]
OID = 1.3.6.1.5.5.8.2.2 ;IP Security IKE Intermediate
OID = 1.3.6.1.5.5.7.3.1 ;Server Authentication
OID = 1.3.6.1.5.5.7.3.2 ;Client Authentication
[RequestAttributes]
CertificateTemplate = TestIPSec(Offlineanforderung)
SAN="dns=remote.mydomain.de&dns=server.test.local"
CertificateTemplate entspricht dabei dem Vorlagennamen der weiter oben erstellen Zertifikatvorlage!
Subject ist der Name des Servers wie er in der VPN Verbindung angegeben wird. In Echt also der im Internet
auflösbare FQDN des Servers.
FriendlyName hier schreib ich normalerweise den internen Servernamen rein.
Bei SAN trag ich trag ich den internen und externen Namen des Servers ein.
Eine Eingabeaufforderung starten
certreq –new
und dann die zuvor erstellte request.inf öffnen.
Das Ergebnis abspeichern, ich nenn es server.request.req
Die Datei server.request.req auswählen und das Ergebnis abspeichern. Ich nenn die Datei server.cer
Eine leere Managementkonsole (mmc.exe) starten:
Zertifikat für den Arbeitsplatz erstellen Die Einstellungen zur Zertifikatsanforderung als Datei speichern. Bei mir heisst sie request.inf und liegt auf dem
Desktop:
[Version]
Signature= "$Windows NT$"
[NewRequest]
RequestType = PKCS10
ProviderName = "Microsoft Software Key Storage Provider"
Subject = "CN=arbeitsplatz"
FriendlyName = "Non-domain computer"
KeyLength = 4096
MachineKeySet = TRUE
KeySpec = 2
KeyUsage = 0xa0
[EnhancedKeyUsageExtension]
OID = 1.3.6.1.5.5.8.2.2 ;IP Security IKE Intermediate
OID = 1.3.6.1.5.5.7.3.2 ;Client Authentication
[RequestAttributes]
CertificateTemplate = TestIPSec(Offlineanforderung)
SAN="dns=arbeitsplatz&dns=arbeitsplatz.test.local"
CertificateTemplate entspricht dabei dem Vorlagennamen der weiter oben erstellen Zertifikatvorlage!
Subject ist der Name des Arbeitsplatz PCs ohne Workgroup oder Domäne.
FriendlyName wird später als Name des Zertifikats angezeigt.
Bei SAN trag ich einmal den Arbeitsplatznamen ein und einmal den Arbeitsplatz wie er heissen würde wenn er in
der Domäne ist.
Eine Eingabeaufforderung als Administrator starten
certreq –new
und dann die zuvor erstellte request.inf öffnen.
OK. Der Arbeitsplatz kennt die Vorlage nicht, nur der Server.
Das Ergebnis abspeichern, ich nenn es request.req
Diese Datei auf den Server kopieren.
Die Datei request.req auswählen und das Ergebnis abspeichern. Ich nenn die Datei arbeitsplatz.cer
Das Zertifikat zurück auf den Arbeitsplatz kopieren.
Eine leere Managementkonsole (mmc.exe) starten:
Noch kann das Zertifikat nicht komplett verifiziert werden.
Zertifikat der Zertifizierungsstelle (CA-Zertifikat) exportieren und auf dem
Arbeitsplatz bekanntmachen
Da hier vermutlich bereits mehrere zur Auswahl stehen, es geht um das bei dem „Ausgestellt für“ der Name der
Zertifizierungsstelle ist. Bei mir test-SERVER-CA („Allgemeiner Name dieser Zertifizierungsstelle“ beim Erstellen der
Zertifizierungsstelle)
Ich speichere es als test-SERVER-CA.cer
Dieses Zertifikat jetzt ebenfalls auf den Arbeitsplatz bringen und dort für den Computer und den/die Benutzer
importieren:
Computer:
Das CA-Zertifikat in den Zertifikatspeicher: Vertrauenswürdige Stammzertifizierungsstellen importieren.
User:
Das CA-Zertifikat wieder in den Zertifikatspeicher: Vertrauenswürdige Stammzertifizierungsstellen importieren.
Die Zertifizierungsstelle der Domäne wird jetzt vom Stand-Alone Computer und vom aktuell angemeldeten User als
vertrauenswürdig eingestuft. Der User-Importschritt muss ggf. für jeden Benutzer des Arbeitsplatzes durchgeführt
werden der das VPN verwenden soll.
Das weiter oben erstellte Zertifikat für den Arbeitsplatz wird jetzt auch komplett akzeptiert.
Zweiter Test
Jetzt sollte es auch per L2TP/IPSec funktionieren!
Wenn nicht fallen mir die folgenden Problemestellen ein
Firewall:
es müssen die Ports 1701 UDP, 4500 UDP (für NAT-Traversal) und 500 UDP (IKE) offen sein.
Ich verwende einen Lancom Router und mir reichen diese Ports.
Ich hab noch was von IP Protokoll 50 (Encapsulating Security Protocol , ESP) und 51 (Authentication Header, AH)
gelesen.
Ebenso von Port 88 TCP+UDP (für Kerberos)
Windows Registry:
Es muss am Server und/oder Client der folgende Registry Eintrag gesetzt werden damit NAT-T funktioniert:
vpn.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\PolicyAgent]
"AssumeUDPEncapsulationContextOnSendRule"=dword:00000002
Siehe auch http://support.microsoft.com/kb/926179/de
Achtung, Neustart erforderlich!
Zertifikate oder DNS:
Wenn es das nicht war, dann liegt‘s mit Sicherheit daran dass entweder die DNS Auflösung nicht stimmt oder dass
die Zertifikate nicht die richtigen Namen angeben.
Hier noch weitergehende Links die mir geholfen haben:
http://ariessysadmin.blogspot.de/2012/05/create-l2tpipsec-certificate-for-tmg.html
http://support.microsoft.com/kb/555281/en-us
http://openbook.galileocomputing.de/windows_server_2008/windows_server_2008_kap_14_004.htm
http://www.serverhowto.de/Einrichten-einer-L2TP-IPSec-Verbindung-mit-Zertifikaten.49.0.html