Utilizzo di defaultAuthenticationType con PowerShell Web Access


14

L'accesso Web di PowerShell consente di scegliere il tipo di autenticazione. Per impostazione predefinita, utilizza un valore di Default, che finisce per essere Negotiate. Ho impostato CredSSP per consentire l'accesso al server PSWA stesso con CredSSP, in modo che l'autenticazione di rete funzioni all'interno della sessione (evita un doppio problema hop, senza delegare le credenziali su tutta la rete).

Ad ogni modo, desidero che CredSSP sia l'opzione predefinita nella pagina di accesso.

Esaminando le opzioni di configurazione per l'app Web PSWA in IIS, esistono diversi valori che possono essere impostati per sovrascrivere i valori predefiniti.

Uno di questi è chiamato defaultAuthenticationTypeche è un stringma è impostato su 0.

Sembra l'impostazione giusta, ma non riesco a farlo funzionare.

Se controllo la pagina Web di accesso, vedo che la casella di selezione ha i seguenti valori:

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

3 manca.

JosefZ ha scoperto che 3è NegotiateWithImplicitCredentialsecondo questa pagina , ma su Windows PowerShell 5.1.15063.966 per me quel nome / valore manca dall'enum.

Se imposto defaultAuthenticationTypeun numero, la pagina Web viene impostata automaticamente su una nuova opzione:

7   Admin Specified

Ho provato 3e 4, ma nessuno dei due funziona. L'accesso avviene tramite Kerberos e CredSSP non viene utilizzato.

Se seleziono CredSSP manualmente funziona come previsto.

Se imposto defaultAuthentcationTypesu una stringa come CredSSP, nessuna Admin Specifiedopzione appare e per impostazione predefinita viene Defaultnuovamente impostata e viene comunque utilizzata l'autenticazione Kerberos.

Qualcuno è stato in grado di impostare correttamente questo? I risultati web sono stati molto carenti.


Hai anche aggiornato la pagina logon.aspx per selezionare l'opzione CredSSP per impostazione predefinita?
Persistente 13

@ Persistent13 no Non ho toccato quella pagina. Suppongo che funzionerebbe, e potrei ricorrere ad esso, ma è chiaramente un trucco. Volevo qualcosa di supportato e ripetibile. In realtà lo sto installando e configurando quasi completamente tramite DSC, e non voglio scrivere risorse janky per modificare quel valore logon.aspx. È comunque un buon suggerimento.
briantist,

Per DSC consiglierei di scrivere la tua risorsa o di utilizzare la risorsa di script per aggiornare logon.aspx usando una combinazione di Get-Content, -replace e Set-Content in quanto sarebbe più ripetibile.
Persistente13

@ Persistent13 sì, è fattibile. Penso solo che sia chiaro che l'intento era supportare il cambiamento di questo valore nella configurazione, semplicemente non funziona, e scrivere una risorsa è pesante per questo; per i miei scopi comunque.
briantist,

1
[System.Management.Automation.Runspaces.AuthenticationMechanism]:: NegotiateWithImplicitCredential -as [int]vedi AuthenticationMechanismenum
JosefZ,

Risposte:


0

prova a seguire questa guida dovrebbe portarti dove vuoi andare. 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.

Ciao Joshua, apprezzo la tua risposta, ma sfortunatamente questo non risponde alla domanda. Ho già installato CredSSP, il problema è nel cambiare l'opzione di autenticazione predefinita nell'interfaccia web di PSWA. Tutto ciò che ho fatto funzionava tecnicamente, è stato solo un problema dover scegliere CredSSP manualmente su ogni accesso quando l'intento era di usare sempre CredSSP. E PSWA sembra avere un'impostazione per controllare proprio questa cosa, eppure non funziona.
Briantist,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.