Verwenden von defaultAuthenticationType mit PowerShell Web Access

14

Mit PowerShell-Webzugriff können Sie den Authentifizierungstyp auswählen. Standardmäßig wird der Wert verwendet Default, der am Ende lautet Negotiate. Ich habe CredSSP so eingerichtet, dass die Anmeldung am PSWA-Server selbst mit CredSSP möglich ist, sodass die Netzwerkauthentifizierung innerhalb der Sitzung funktioniert (Vermeidung eines Double-Hop-Problems, ohne dass Anmeldeinformationen im gesamten Netzwerk delegiert werden müssen).

Wie auch immer, ich möchte, dass CredSSP die Standardoption auf der Anmeldeseite ist.

In den Konfigurationsoptionen für die PSWA-Webanwendung in IIS können verschiedene Werte festgelegt werden, um die Standardeinstellungen zu überschreiben.

Einer von ihnen heißt, defaultAuthenticationTypedas ist stringaber gesetzt 0.

Dies scheint die richtige Einstellung zu sein, aber ich kann es nicht zum Laufen bringen.

Wenn ich die Anmeldeseite überprüfe, kann ich feststellen, dass das Auswahlfeld die folgenden Werte aufweist:

0   Default
1   Basic
2   Negotiate
4   CredSSP
5   Digest
6   Kerberos

3 wird vermisst.

JosefZ gefunden 3wird NegotiateWithImplicitCredentialauf dieser Seite nach , aber auf Windows Powershell 5.1.15063.966 für mich , dass Name / Wert aus dem Enum fehlt.

Wenn ich defaultAuthenticationTypeeine Zahl eingebe, wird auf der Webseite standardmäßig eine neue Option angezeigt:

7   Admin Specified

Ich habe versucht 3und 4, aber keiner funktioniert. Die Anmeldung erfolgt mit Kerberos, und CredSSP wird nicht verwendet.

Wenn ich manuell CredSSP auswähle, funktioniert es wie erwartet.

Wenn ich defaultAuthentcationTypeeine Zeichenfolge wie festgelegt habe CredSSP, wird keine Admin SpecifiedOption angezeigt und die Standardeinstellung Defaultlautet erneut. Die Kerberos-Authentifizierung wird weiterhin verwendet.

Hat jemand dies erfolgreich eingestellt? Die Webergebnisse waren sehr mangelhaft.

Briantist
quelle
Haben Sie auch die Seite logon.aspx aktualisiert, um standardmäßig die Option CredSSP auszuwählen?
Persistent13
@ Persistent13 Nein, ich habe diese Seite nicht berührt. Ich nehme an, das würde funktionieren und ich könnte darauf zurückgreifen, aber es ist eindeutig ein Hack. Ich wollte etwas unterstützt und wiederholbar. Ich installiere und konfiguriere dies fast vollständig über DSC und möchte keine überflüssigen Skriptressourcen schreiben müssen, um diesen Wert zu ändern logon.aspx. Es ist jedoch ein guter Vorschlag.
Briantist
Für DSC würde ich empfehlen, eine eigene Ressource zu schreiben oder logon.aspx mithilfe der Skriptressource mit einer Kombination aus Get-Content, -replace und Set-Content zu aktualisieren, da dies wiederholbarer wäre.
Persistent13
@ Persistent13 ja, es ist machbar. Ich denke nur, es ist klar, dass die Absicht war, diesen Wert in der Konfiguration zu ändern, es funktioniert einfach nicht, und das Schreiben einer Ressource ist dafür hartnäckig. für meine zwecke sowieso.
Briantist
1
[System.Management.Automation.Runspaces.AuthenticationMechanism]:: NegotiateWithImplicitCredential -as [int]siehe AuthenticationMechanismenum
JosefZ

Antworten:

0

Versuchen Sie, dieser Anleitung zu folgen. Sie sollten wissen, wohin Sie wollen. https://www.petri.com/powershell-web-access-configuration

here is the section you want. 
PowerShell
1
Add-PswaAuthorizationRule : This command must be run by a user account with permissions to perform Active Directory queries.
If you run the command in an interactive (i.e. not via remoting) session on the server it should work just fine. The problem here is the second hop. The Add-PSwaAuthorizationRule cmdlet needs to make a connection to a domain controller, which by security design is not allowed in PowerShell Remoting. This second-hop limitation can be overcome by enabling CredSSP authentication. Note: This is not be done lightly as there are security ramifications, so research this fully before employing.

But in my situation, since I want to use remoting, Ill exit out of the remote session and enable CredSSP on my desktop for CHI-WEB01.

PowerShell
1
PS C:\> Enable-WSManCredSSP -DelegateComputer chi-web01 -Role Client
Next, I need to enable the server side.

PowerShell
1
PS C:\> invoke-command {enable-wsmancredssp -Role Server -Force} -ComputerName chi-web01
With this in place, I can now re-establish my remote session specifying CredSSP and my credentials.

PowerShell
1
PS C:\> enter-pssession chi-web01 -Authentication Credssp -Credential globomantics\jeff
Now when I run the authorization command, it works as you can see below in Figure 3.
Joshua Coons
quelle
Hallo Joshua, ich freue mich über deine Antwort, aber leider beantwortet dies die Frage nicht. Ich hatte CredSSP bereits eingerichtet. Das Problem besteht darin, die Standardauthentifizierungsoption in der Weboberfläche von PSWA zu ändern. Alles, was ich tat, funktionierte technisch, es war nur eine Qual, bei jedem Login manuell CredSSP auswählen zu müssen, wenn die Absicht bestand, immer CredSSP zu verwenden. Und PSWA scheint eine Einstellung zu haben, um genau dies zu kontrollieren, aber es funktioniert nicht.
Briantist