Wenn sich die Server, welche die Sperrlistenverteilpunkte bereitstellen, beispielsweise in einer Demilitarisierten Zone (DMZ) befinden, oder aus anderen Gründen kein Datentransfer via Server Message Block (SMB) möglich ist, können die Sperrlisten mittels SSH Secure Copy (SCP) auf die Verteilpunkte übertragen werden. Seit Windows Server 2019 gibt es die OpenSSH Server und Client-Pakete. Nachfolgend wird die Einrichtung mit Authentifizierung über öffentliche Schlüssel (Public Key Authentication) anstelle von Passwörtern exemplarisch beschrieben
Kennen Sie TameMyCerts? TameMyCerts ist ein Add-On für die Microsoft Zertifizierungsstelle (Active Directory Certificate Services). Es erweitert die Funktion der Zertifizierungsstelle und ermöglicht die Anwendung von Regelwerken, um die sichere Automatisierung von Zertifikat-Ausstellungen zu realisieren. TameMyCerts ist einzigartig im Microsoft-Ökosystem, hat sich bereits in unzähligen Unternehmen auf der ganzen Welt bewährt und steht unter einer freien Lizenz. Es kann über GitHub heruntergeladen und kostenlos verwendet werden. Professionelle Wartung wird ebenfalls angeboten.
Optional: Installationsmedien beschaffen
Wenn die Systeme, auf denen der SSH Server bzw. SSH-Client installiert werden soll, mit dem Internet kommunizieren können (was natürlich nicht empfohlen wird), kann direkt mit dem nächsten Schritt fortgefahren werden.
Wenn sie jedoch keinen Zugang zum Internet haben, werden die Featured On Demand ISO-Dateien für Windows 10 und für Windows Server 2019 benötigt.
Der Inhalt der Features On Demand ISO-Datei für Windows Server 2019 wird komplett in einen lokalen Ordner kopiert (z.B: C:\LabFiles\Install\OpenSSH).
Von der Features on Demand ISO-Datei werden die folgenden beiden Dateien in den zuvor angelegten Ordner kopiert:
- OpenSSH-Client-Package~31bf3856ad364e35~amd64~~.cab
- OpenSSH-Server-Package~31bf3856ad364e35~amd64~~.cab
Vorbereiten des Client
Auf dem System, welches den Kopierprozess auslösen soll, wird der SSH-Client mit folgendem PowerShell-Befehl installiert, sofern das System mit dem Internet kommunizieren kann.
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Kann es nicht mit dem Internet kommunizieren, wird das -Source Argument mit dem Pfad zu den Installationsdateien angegeben.
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 -source C:\LabFiles\Install\OpenSSH
Die SSH-Identitäten werden von dem Dienst ssh-agent verwaltet, welcher zum automatischen Start konfiguriert und gestartet werden muss.
Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent
Anschließend kann ein SSH-Schlüsselpaar unter der Identität desjenigen Benutzerkontos erfolgen, welches den Kopierprozess ausführen soll. Hierzu wird folgender Befehl ausgeführt:
ssh-keygen
Für automatische Tasks bietet es sich an, diesen mit der Identität des Computerkontos (NT-AUTORITÄT\SYSTEM) auszuführen, da dieser über alle benötigten Rechte verfügt und automatisch sein Kennwort ändert. Somit ist weder ein lokales, noch ein Domänenkonto erforderlich und es entfällt die Notwendigkeit, das Kennwort regelmäßig manuell ändern zu müssen.
Auch dies ist möglich, wenn man den ssh-keygen Befehl unter dieser Identität ausführt. Dies kann zum Beispiel mit psexec erfolgen.
psexec -s -i cmd.exe
Das SSH-Schlüsselpaar wird in einem Unterordner .ssh innerhalb des Benutzerprofils gespeichert.
Für das SYSTEM Konto ist dies C:\Windows\System32\config\systemprofile\.ssh.
- Die Datei id_rsa beinhaltet den privaten Schlüssel, dieser darf nicht herausgegeben werden.
- Die Datei id_rsa.pub beinhaltet den öffentlichen Schlüssel, welcher auf den Zielsystemen hinterlegt wird.
Vorbereiten des Servers
Auf dem System, auf welches die Dateien kopiert werden sollen, wird der SSH-Server mit folgendem PowerShell-Befehl installiert, sofern das System mit dem Internet kommunizieren kann.
Add-WindowsCapability -online -name OpenSSH.Server~~~~0.0.1.0
Kann es nicht mit dem Internet kommunizieren, wird das -Source Argument mit dem Pfad zu den Installationsdateien angegeben.
Add-WindowsCapability -online -name OpenSSH.Server~~~~0.0.1.0 -source C:\LabFiles\INSTALL\OpenSSH
Die Dienste sshd und ssh-agent müssen zum automatischen Start konfiguriert und gestartet werden.
Set-Service sshd -StartupType Automatic
Start-Service sshd
Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent
Optional: Windows-Firewall konfigurieren
Mit der Installation des OpenSSH-Servers wird automatisch eine eingehende Firewallregel für SSH erzeugt. Dies kann ohne weiteres wie sie ist belassen werden.
Optional kann man die Quell-IP-Adressen, welche mit dem System über SSH kommunizieren dürfen, einschränken.
Benutzer für Kopieraufgabe anlegen
Auf dem Zielsystem sollte ein unprivilegierter Benutzer angelegt werden, unter dessen Identität die Sperrlisten kopiert werden
Achtung: Der Benutzer darf nicht Mitglied der Gruppe Administratoren sein, da dann eine andere Prozedur für die Hinterlegung der öffentlichen Schlüssel erforderlich ist.
Es ist ratsam, ein sehr starkes Kennwort für dieses Benutzerkonto zu wählen.
Der Benutzer muss sich einmalig am System anmelden, damit ein Benutzerprofil erzeugt wird.
SSH-Identität hinterlegen
Im Benutzerprofil des Kopierkontos muss ein Unterordner .ssh angelegt werden. Der Windows-Explorer wird dies verweigern, per Kommandozeile ist es jedoch problemlos möglich.
mkdir .ssh
In diesen Ordner wird nun die Datei id_rsa.pub Kopiert und in authorized_keys umbenannt.
Wenn mehrere Keys hinterlegt werden sollen, können diese in die Datei authorized_keys mit einem Texteditor eingetragen werden.
Schreibrechte vergeben
Da der Benutzer unprivilegiert ist, benötigt er noch Schreibrechte auf den Zielordner.
Verbindung aufbauen
Nun kann vom sendenden System aus eine SSH-Verbindung zum Zielsystem aufgebaut werden.
Zunächst sollte eine Shell-Verbindung aufgebaut werden, um den Serverschlüssel des Zielsystems bekannt zu machen. Die Syntax lautet:
ssh {Benutzername}@{Zielserver}
Bei Erfolg hat man nun eine Shell-Verbindung auf dem Zielssystem.
Man kann sich aus dieser mit dem Befehl exit wieder abmelden.
Nun kann der Kopierprozess vorgenommen werden. Die Syntax lautet:
scp {Quell-Ordner}\*.crl {Benutzername}@{Zielsystem}:{Zielpfad}
Ein Gedanke zu „Übertragen der Zertifikatsperrlisten auf die Sperrlistenverteilpunkte mit SSH Secure Copy (SCP) mit Authentifizierung über öffentliche Schlüssel (Windows Server 2019)“
Kommentare sind geschlossen.