Usando defaultAuthenticationType com o PowerShell Web Access

14

O acesso à Web do PowerShell permite escolher o tipo de autenticação. Por padrão, ele usa um valor de Default, que acaba sendo Negotiate. Configurei o CredSSP para permitir o login no próprio servidor PSWA com o CredSSP, para que a autenticação da rede funcione dentro da sessão (evita um problema de salto duplo, sem delegar credenciais em toda a rede).

De qualquer forma, quero que o CredSSP seja a opção padrão na página de entrada.

Examinando as opções de configuração do aplicativo Web PSWA no IIS, existem vários valores que podem ser definidos para substituir os padrões.

Um deles é chamado defaultAuthenticationType, que é um string, mas está definido para 0.

Essa parece ser a configuração certa, mas não consigo fazê-la funcionar.

Se eu inspecionar a página da web de entrada, posso ver que a caixa de seleção possui os seguintes valores:

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

3 está desaparecido.

JosefZ descobriu que 3está de NegotiateWithImplicitCredentialacordo com esta página , mas no Windows PowerShell 5.1.15063.966 para mim esse nome / valor está ausente da enumeração.

Se eu definir defaultAuthenticationTypeum número, a página da Web será padronizada para uma nova opção:

7   Admin Specified

Eu tentei 3e 4, mas nenhum deles funciona. O login acontece usando o Kerberos e o CredSSP não é usado.

Se eu selecionar CredSSP manualmente, ele funcionará conforme o esperado.

Se eu definir defaultAuthentcationTypeuma string como CredSSP, nenhuma Admin Specifiedopção será exibida e o padrão será Defaultnovamente e a autenticação Kerberos ainda será usada.

Alguém foi capaz de definir isso com sucesso? Os resultados da Web têm faltado muito.

briantist
fonte
Você também atualizou a página logon.aspx para selecionar a opção CredSSP por padrão?
Persistent13
@ Persistent13 não, não toquei nessa página. Suponho que funcionaria, e posso recorrer a isso, mas é claramente um truque. Eu queria algo apoiado e repetível. Na verdade, estou instalando e configurando isso quase completamente por meio do DSC, e não quero precisar escrever recursos de script espasmódicos para alterar esse valor logon.aspx. É uma boa sugestão, com certeza.
Briantist
Para o DSC, eu recomendaria escrever seu próprio recurso ou usar o recurso de script para atualizar o logon.aspx usando uma combinação de Get-Content, -replace e Set-Content, pois seria mais repetível.
Persistent13
@ Persistent13 sim, é factível. Apenas acho que está claro que a intenção era apoiar a alteração desse valor na configuração, simplesmente não está funcionando, e escrever um recurso é pesado para isso; para os meus propósitos de qualquer maneira.
Briantist
1
[System.Management.Automation.Runspaces.AuthenticationMechanism]:: NegotiateWithImplicitCredential -as [int]ver AuthenticationMechanismenum
JosefZ

Respostas:

0

tente seguir este guia, ele deve chegar onde você deseja 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
fonte
Oi Joshua, Agradeço sua resposta, mas infelizmente isso não responde à pergunta. Eu já tinha o CredSSP configurado, o problema está em alterar a opção de autenticação padrão na interface da web do PSWA. Tudo o que fiz foi tecnicamente funcionando, foi apenas uma dor ter que escolher o CredSSP manualmente em todos os logins quando a intenção era sempre usar o CredSSP. E o PSWA parece ter uma configuração para controlar exatamente isso, mas não funciona.
Briantist 26/11/19