Utilisation de defaultAuthenticationType avec PowerShell Web Access

14

L'accès Web PowerShell vous permet de choisir le type d'authentification. Par défaut, il utilise une valeur de Default, qui finit par être Negotiate. J'ai configuré CredSSP pour permettre la connexion au serveur PSWA lui-même avec CredSSP, afin que l'authentification réseau fonctionne à partir de la session (évite un problème de double saut, sans déléguer les informations d'identification sur tout le réseau).

Quoi qu'il en soit, je veux que CredSSP soit l'option par défaut sur la page de connexion.

En examinant les options de configuration de l'application Web PSWA dans IIS, plusieurs valeurs peuvent être définies pour remplacer les valeurs par défaut.

L'un d'eux est appelé, defaultAuthenticationTypece qui est un stringmais est défini sur 0.

Cela semble être le bon réglage, mais je ne peux pas le faire fonctionner.

Si j'inspecte la page Web de connexion, je peux voir que la zone de sélection a les valeurs suivantes:

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

3 est manquant.

JosefZ a trouvé que 3c'est NegotiateWithImplicitCredentialselon cette page , mais sur Windows PowerShell 5.1.15063.966 pour moi, ce nom / valeur est manquant dans l'énumération.

Si je mets defaultAuthenticationTypeun nombre, la page Web prend par défaut une nouvelle option:

7   Admin Specified

J'ai essayé 3et 4, mais aucun ne fonctionne. La connexion se produit à l'aide de Kerberos et CredSSP n'est pas utilisé.

Si je sélectionne CredSSP manuellement, cela fonctionne comme prévu.

Si je mets defaultAuthentcationTypeune chaîne comme CredSSP, aucune Admin Specifiedoption n'apparaît et elle Defaultrevient par défaut à nouveau, et l'authentification Kerberos est toujours utilisée.

Quelqu'un a-t-il réussi à régler cela? Les résultats du Web ont été très insuffisants.

briantiste
la source
Avez-vous également mis à jour la page logon.aspx pour sélectionner l'option CredSSP par défaut?
Persistent13
@ Persistent13 non, je n'ai pas touché cette page. Je suppose que cela fonctionnerait, et je pourrais y recourir, mais c'est clairement un hack. Je voulais quelque chose de soutenu et de reproductible. En fait, j'installe et configure cela presque complètement via DSC, et je ne veux pas avoir à écrire des ressources de script janky pour changer cette valeur logon.aspx. C'est une bonne suggestion, bien sûr.
briantist
Pour DSC, je recommanderais d'écrire votre propre ressource ou d'utiliser la ressource de script pour mettre à jour logon.aspx en utilisant une combinaison de Get-Content, -replace et Set-Content car elle serait plus répétable.
Persistent13
@ Persistent13 ouais, c'est faisable. Je pense simplement qu'il est clair que l'intention était de soutenir la modification de cette valeur dans la configuration, cela ne fonctionne tout simplement pas, et l'écriture d'une ressource est lourde pour cela; pour mes fins de toute façon.
briantist
1
[System.Management.Automation.Runspaces.AuthenticationMechanism]:: NegotiateWithImplicitCredential -as [int]voir AuthenticationMechanismenum
JosefZ

Réponses:

0

essayez de suivre ce guide, il devrait vous emmener où vous voulez aller. 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
la source
Bonjour Joshua, j'apprécie ta réponse mais malheureusement cela ne répond pas à la question. J'avais déjà configuré CredSSP, le problème est de changer l'option d'authentification par défaut dans l'interface Web de PSWA. Tout ce que je faisais fonctionnait techniquement, c'était juste une douleur de devoir choisir CredSSP manuellement à chaque connexion lorsque l'intention était de toujours utiliser CredSSP. Et PSWA semble avoir un paramètre pour contrôler cette chose, mais cela ne fonctionne pas.
briantist