Usar defaultAuthenticationType con PowerShell Web Access

14

El acceso web a PowerShell le permite elegir el tipo de autenticación. Por defecto, usa un valor de Default, que termina siendo Negotiate. He configurado CredSSP para permitir iniciar sesión en el servidor PSWA con CredSSP, de modo que la autenticación de red funcione desde la sesión (evita un problema de doble salto, sin delegar credenciales en toda la red).

De todos modos, quiero que CredSSP sea la opción predeterminada en la página de inicio de sesión.

Mirando las opciones de configuración para la aplicación web PSWA en IIS, hay varios valores que se pueden configurar para anular los valores predeterminados.

Uno de ellos se llama, defaultAuthenticationTypeque es un stringpero se establece en 0.

Esta parece ser la configuración correcta, pero no puedo hacer que funcione.

Si inspecciono la página web de inicio de sesión, puedo ver que el cuadro de selección tiene los siguientes valores:

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

3 Está perdido.

JosefZ descubrió que 3está de NegotiateWithImplicitCredentialacuerdo con esta página , pero en Windows PowerShell 5.1.15063.966 para mí ese nombre / valor falta en la enumeración.

Si configuro defaultAuthenticationTypeun número, la página web por defecto tiene una nueva opción:

7   Admin Specified

He intentado 3y 4, pero ninguno funciona. El inicio de sesión se realiza con Kerberos y CredSSP no se utiliza.

Si selecciono CredSSP manualmente, funciona como se esperaba.

Si configuro defaultAuthentcationTypeuna cadena como CredSSP, no Admin Specifiedaparece ninguna opción y simplemente Defaultvuelve a su valor predeterminado , y aún se usa la autenticación Kerberos.

¿Alguien ha podido configurar esto con éxito? Los resultados web han sido muy escasos.

briantista
fuente
¿También actualizó la página logon.aspx para seleccionar la opción CredSSP de manera predeterminada?
Persistente13
@ Persistente13 no, no toqué esa página. Supongo que funcionaría, y podría recurrir a él, pero claramente es un truco. Quería algo apoyado y repetible. De hecho, estoy instalando y configurando esto casi por completo a través de DSC, y no quiero tener que escribir recursos de script janky para cambiar ese valor logon.aspx. Sin embargo, es una buena sugerencia.
briantist
Para DSC, recomendaría escribir su propio recurso o usar el recurso de script para actualizar logon.aspx usando una combinación de Get-Content, -replace y Set-Content, ya que sería más repetible.
Persistente13
@ Persistent13 sí, es factible. Simplemente creo que está claro que la intención era apoyar el cambio de este valor en la configuración, simplemente no funciona, y escribir un recurso es una tarea difícil para esto; para mis propósitos de todos modos.
briantist
1
[System.Management.Automation.Runspaces.AuthenticationMechanism]:: NegotiateWithImplicitCredential -as [int]ver AuthenticationMechanismenumeración
JosefZ

Respuestas:

0

intente seguir esta guía, debería llevarlo a donde desea ir. 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
fuente
Hola Joshua, agradezco tu respuesta pero desafortunadamente esto no responde la pregunta. Ya tenía CredSSP configurado, el problema está en cambiar la opción de autenticación predeterminada en la interfaz web de PSWA. Todo lo que hice funcionó técnicamente, fue simplemente un dolor tener que elegir CredSSP manualmente en cada inicio de sesión cuando la intención era usar siempre CredSSP. Y PSWA parece tener una configuración para controlar esto, pero no funciona.
briantist