Quantcast
Channel: Windows Server 2012 forum
Viewing all articles
Browse latest Browse all 2876

Remote-Powershell-Session über Zertifikat Authentifizierung auf Win 2012 R2 Standard

$
0
0

Hallo,

ich versuche aktuell einen Remote-Zugriff auf einen unserer Windows
2012 R2 Standard Server zu bekommen, in dem ich Zertifikate und die
Powershell nutze.

Vorstellung der teilnehmenden Server:

1.       Der Server, den ich
erreichen will (ich werde ihn im Folgenden als Ziel-Server bezeichnen)
befindet sich in unserer DMZ, hat zuletzt im März 2015 Microsoft Updates
bekommen und besitzt eine Powershell Version
4.0. Sein Name beinhaltet einen Unterstrich („_“) und drei Zahlen, er
ist Teil einer Arbeitsgruppe.

2.       Der Server, mit dem
ich den Zugriff ausführen will (im Folgenden der Quell-Server) ist
ebenfalls ein Windows 2012 R2 Standard, wurde zuletzt in diesem Jahr im
April geupdated, ist Teil unserer Domäne und hat
ebenfalls eine Powershell Version 4.0.

3.       Ich habe weiterhin
bereits erfolgreich einen Zugriff auf einen weiteren Server in unserer
DMZ hergestellt. Dieser ist ebenfalls ein Windows 2012 R2 Standard,
wurde zuletzt in diesem Jahr im April geupdated,
hat ebenfalls eine Powershell Version 4.0 und ist Teil einer
Arbeitsgruppe (allerdings einer anderen, als der problematische Server).

Wenn möglich soll ein Updaten der Server/des Servers vermieden werden!

Aus den Ereignislogs ließen sich keine weiteren Angaben entnehmen,
sie beinhalteten nur die unten genannte Fehlermeldung und zusätzlich die
Event-ID 32784, zu welcher ich jedoch keine weiterführenden
Informationen ermitteln konnte.

Weg zum Zugriff:

Schritte, die auf dem Ziel-Server durchgeführt wurden:

1.       Ich erstelle mit der
MMC einen lokalen Benutzer „service“ , gebe ihm ein Passwort das nicht
abläuft und füge ihn in die lokale Gruppe „Administratoren“ ein

2.       Ich öffne die PS als Administrator und führe folgendes aus

a.       Enable-PSRemoting –Force

b.      Set-Item wsman:\localhost\client\trustedhosts *

c.       Restart-Service WinRM

Schritte, die auf dem Ziel-Server durchgeführt wurden:

1.       Ich erstelle einen Listener für den HTTPS-Transport über die CMD mit dem folgenden Kommando:

winrm create winrm/config/Listener?Address=*+Transport=HTTPS
@{Hostname="<Name des
Ziel-Servers>";CertificateThumbprint="‎‎‎<Thumbprint des
Ziel-Server-Zertifikates>‎‎‎‎‎‎‎‎‎"}

2.       Ich füge eine Regel zu der Firewall des Zielservers hinzu, indem ich die CMD und folgendes Kommando verwende:


netsh advfirewall firewall add rule name="Windows-Remoteverwaltung
(HTTPS eingehend)" dir=in action=allow program=System enable=yes
profile=domain protocol=tcp localport=5986

(Ja, dort wird angegeben „profile=domain“ but I aber ich habe die
Profilmöglichkeiten auch bereits auf „Privat“ und „Öffentlich“ gesetzt!)

Schritte, die auf dem Quell-Server durchgeführt wurden:

1.       Ich teste den remote Zugriff via PS, wobei ich die Anmeldedaten und folgenden Powershellbefehl benutze:

Enter-PSSession –ComputerName <Name des Ziel-Servers> -Credential (Get-Credential) –USESSL

Das hat funktioniert!

2.       Ich verlasse die Sitzung (“Exit-PSSession”)

Schritte, die auf dem Ziel-Server durchgeführt wurden:

1.       Jetzt komme ich zum Certmapping. Dafür verwende ich wieder die Powershell und folgenden Befehl:

New-Item -Path WSMan:\localhost\ClientCertificate -Credential
(Get-Credential) -Subject <name Quell-Server > -URI * -Issuer
<Thumbprint des Aussteller-Zertifikates> -Force

Ein popup Fenster erscheint, in welches ich die Anmeldedaten von “service” eingebe.

2.       Wenn das getan ist, erlaube ich die Zertifikatsauthentifizierung via CMD:

winrm set winrm/config/service/auth @{Certificate="true"}

Schritte, die auf dem Quell-Server durchgeführt wurden:

1.  Ich versuche nun den Zugriff zu testen in dem ich folgenden Befehl in der Powershell ausführe (natürlich als Adminsitrator):

Enter-PSSession –Computername <Name des Ziel-Servers> -CertificateThumbprint <thumbprint des Quell-Servers>

Egal, was ich bisher versucht habe (und das war sehr viel, dazu komme
ich später), ich habe immer die folgende Fehlermeldung bekommen:

Hier sind einige meiner bisherigen Versuche (inclusive Neustarts an den Stellen, an denen sie benötigt wurden):

·         Ich habe versucht, das Certmapping auf den vordefinierten Administrator Account um zu stellen

·         Ich habe die UAC auf den gleichen Status gebracht, in dem die des Servers ist, auf dem das Procedere funktioniert.

o   Ich
habe den daraus entstehenden Regedit-Eintrag (unter
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
„LocalAccountTokenFilterPolicies“ ) geprüft
und auch hier keinen Unterschied festgestellt.

·         Ich habe die Kerberos Authentication aus gestellt

·         Mit „service” angemeldet, um den Nutzerordner zu erstellen

·         Ich habe die verschiedenen Namen (dns) des Ziel-Servers in das Zertifikat eingefügt

·         Ich habe die verschiedenen Namen für den Server in dem PS-Testbefehl zur Zertifikatsverbindung getestet

·         Ich habe das Zertifikat geprüft und sichergestellt, dass

o   es
aktuell ist

o   es die notwendigen Schlüsselverwendungen und die erweiterten Schlüsselverwendungen enthält

o   alle Daten wie den Anzeigennamen etc. keine Tippfehler enthalten

o   alle Zertifikate in die Richtigen Ordner (mittels MMC) übernommen wurden

·         Ich habe die Gruppe des “service” Accounts auf “remoteverwaltungsbenutzer” umgestellt

·         Geprüft, ob der Ziel-Server die Zertifikatsperrliste erreichen kann

·         Die IP anstelle des Servernamens für den zertifikatbasierten Zugriff verwendet

·         Die Benutzerrechte von “service” manuell angepasst(auf verschiedenen Wegen, z.B. via PS oder die Systemsteuerung)

·          “service” neuerstellt und verschiedene Passwörter getestet, die z.B. Sonderzeichen enthalten oder auch nicht enthalten haben

·         Alle oben genannten Schritte mehrfach wiederholt, um Flüchtigkeitsfehler aus zu schließen

·         Die Gruppenrichtlinien geprüft


Viewing all articles
Browse latest Browse all 2876


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>