IPsec in Arbeitsgruppen einrichten

    IPsec in ArbeitsgruppenIn einer Domäne ist IPSec – dank der zentralen Verwaltung und Anwendung der dazu gehörenden Richtlinien per Gruppenrichtlinien – schnell und vergleichsweise unkompliziert implementiert. Anders ist es, wenn man das sichere Protokoll zwischen Arbeitsgruppen-PCs verwenden will: Die entsprechenden Firewall-Richtlinien müssen bei jeder Maschine einzeln konfiguriert werden. Eine weitere zu meisternde Schwierigkeit ist die gegenseitige Authentifizierung der beteiligten Hosts. Diese erfolgt auf Computer-Ebene, bevor irgendwelche Benutzer-Logon-Daten ausgetauscht werden. In einer Domäne sorgt das Active Directory dafür, ohne dieses muss man selbst Hand anlegen.

    Konfigurieren der Firewall-Richtlinien

    Die Windows-Firewall muss auf jedem beteiligten Rechner einzeln konfiguriert werdenDie Firewall konfiguriert analog zu der im Beispiel für die Konfiguration innerhalb einer Domäne dargestellten Vorgehensweise, nur nicht in den Gruppenrichtlinien, sondern in der Konsole Windows-Firewall mit erweiterter Sicherheit. Diese ruft man, per Start → Ausführen oder aus einer Eingabeaufforderung mit Administratorrechten heraus, per wf.msc auf. Der Rest läuft genauso wie in den Gruppenrichtlinien: Man erstellt eine Verbindungssicherheitsregel sowie aus- und eingehende Regeln für das gewünschte Protokoll oder Programm.

    Eines kann man im Gegensatz zur Konfiguration in der Domäne nicht machen – bei der Definition der Verbindungssicherheitsregel die Methode für die Authentifizierung auf Standard stehenlassen, weil es ohne Domäne keinen solchen gibt. Während der Einrichtungs- und Testphase kann man sich mit der Methode Vorinstallierter Schlüssel behelfen, einer etwas holprigen Übersetzung für PSK. Sie ist jedoch nicht sicher genug, da der verwendete PSK als Klartext in der Registry abgelegt wird. Spätestens wenn die IPsec-Verbindung ernsthaft zur Datenübertragung genutzt werden soll, muss man deshalb auf etwas anderes zurückgreifen. Hier bieten sich Computer-Zertifikate an, die man für alle beteiligten PCs erstellen und auf diese verteilen muss.

    Computer-Zertifikate erstellen und verteilen

    Das Zertifikat für den Client-PC bravo wird erstelltAußerhalb einer Domäne kann man sehr wahrscheinlich auch nicht auf eine PKI zurückgreifen. Dann empfiehlt sich der Einsatz von makecert.exe, um selbstsignierte Zertifikate zu verwenden, die man auf die beteiligten Computer verteilt. Dies geschieht in zwei Stufen: Zuerst erzeugt man ein Root-Zertifikat, dem alle beteiligten PCs vertrauen müssen. Dazu installiert man es in den Speicher für vertrauenswürdige Stammstellenzertifikate jedes beteiligten PCs, jedoch – wichtig! – außer auf der „Administrator“-Maschine ohne den privaten Schlüssel. Die Zertifikatsdatei ohne privaten Schlüssel zu erhalten, legt man beim Exportieren aus der Zertifikate-Konsole heraus fest. Man erkennt den Unterschied am vorhandenen beziehungsweise fehlenden goldenen Schlüssel im Symbol des Zertifikats.

    Auf dem PC mit dem Schlüssel für das Root-Zertifikat erstellt man nun jeweils die Zertifikatdateien für die einzelnen Arbeitsstationen. Wichtige Details dabei sind:

    • Der Name für den Parameter -n ist jeweils der Hostname des PCs an den der Schlüssel gegeben werden soll.
    • Der erweiterte Zertifikatszweck hinter dem Parameter -eku ist 1.3.6.1.5.5.7.3.2 für die Client-, 1.3.6.1.5.5.7.3.1 für die Server-Authentifizierung. Will man in der Arbeitsgruppe universell verwendbare Zertifikate haben, bei denen je nach Anwendung die PCs sowohl als client als auch als Server für IPsec-Versindungen fungieren können, wählt man am besten -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2.
    • Mittels der Parameter -ss My und -sr LocalMachine kopiert man das Zertifikat zunächst in den Zertifikats­speicher des „Administrator“-PCs. Von dort exportiert man ihn wieder per Zertifikate-Konsole inklusive seines privaten Schlüssels in eine PFX-Datei, die man dann auf der Client-Maschine installiert. Die von makecert.exe erzeugte CER-Datei kann man löschen, ebenso nach dessen Export das Client-Zertifikat im Zertifikats­speicher des Ersteller-PCs.
    • Beim Import in den Clients muss man darauf achten, die Zertifikatsspeicher jeweils manuell zu wählen: Lokaler Computer → Vertrauenswürdige Stammzertifizierungsstellen für das Root-Zertifikat und Lokaler Computer → Eigene Zertifikate für das Computer Zertifikat. Dazu klickt man am besten mit der rechten Maustaste auf den entsprechenden Knoten und wählt Importieren. Die automatische Erkennung des richtigen Zertifikatspeichers funktioniert nicht.
    • Hat man vorher testweise PSK als Authentifizierungsmethode verwendet, darf man nicht vergessen, dies nun auf Zertifikate umzustellen.

    Tip: Per certutil.exe, am besten mit makecert.exe in einer Batch-Datei kombiniert, spart man sich das wiederholte Klicken zum Exportieren und Löschen bei Punkt 3 und kommt schneller zum Ziel, wenn man mehrere PCs mit Zertifikaten zu versorgen hat.

    Keine Kommentare