Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Atualizado: 24 de junho de 2013
Aplica-se a: Windows Server 2012 R2, Windows Server 2012
O Windows PowerShell Web Access no Windows Server 2012 R2 e Windows Server 2012 possui um modelo de segurança restritivo. Os usuários devem ter acesso explicitamente concedido antes de poderem fazer login no gateway de acesso Web PowerShell do Windows e usar o console PowerShell do Windows, baseado na web.
Configuração de regras de autorização e segurança do local
Após o Windows PowerShell Web Access ser instalado e o gateway configurado, os usuários podem abrir a página de login em um navegador, mas não podem fazer login até que o administrador do Windows PowerShell Web Access conceda explicitamente o acesso aos usuários. O controle de acesso 'Windows PowerShell Web Access' é gerenciado usando o conjunto de cmdlets do Windows PowerShell descritos na tabela a seguir. Não existe uma interface gráfica comparável para adicionar ou gerenciar regras de autorização. Veja Cmdlets de Acesso Web do Windows PowerShell.
Os administradores podem definir {0-n} regras de autenticação para o Windows PowerShell Web Access. A segurança padrão é restritiva, e não permissiva; Nenhuma regra de autenticação significa que nenhum usuário tem acesso a nada.
Add-PswaAuthorizationRule e Test-PswaAuthorizationRule no Windows Server 2012 R2 incluem um parâmetro de credencial que permite adicionar e testar regras de autorização de acesso Web do Windows PowerShell a partir de um computador remoto ou dentro de uma sessão ativa de acesso Web PowerShell do Windows. Como em outros cmdlets do Windows PowerShell que possuem um parâmetro Credential, você pode especificar um objeto PSCredential como o valor do parâmetro. Para criar um objeto PSCredential que contenha credenciais que você deseja passar para um computador remoto, execute o cmdlet Get-Credential .
Regras de autenticação do Windows PowerShell Web Access são regras de permissão . Cada regra é uma definição de uma conexão permitida entre usuários, computadores-alvo e configurações específicas de sessões do PowerShell do Windows (também chamadas de endpoints ou espaços de execução) em computadores-alvo específicos. Para uma explicação sobre espaços de execução , veja Início do Uso dos Espaços de Execução do PowerShell
Importante
Um usuário precisa de apenas uma regra para ser verdadeira para obter acesso. Se um usuário receber acesso a um computador com acesso completo em idioma ou acesso apenas aos cmdlets de gerenciamento remoto do Windows PowerShell, a partir do console baseado na web, o usuário pode fazer login (ou pular) para outros computadores conectados ao primeiro computador alvo. A forma mais segura de configurar o Windows PowerShell Web Access é permitir que os usuários tenham acesso apenas a configurações de sessão restritas que lhes permitam realizar tarefas específicas que normalmente precisam realizar remotamente.
Os cmdlets referenciados nos Cmdlets de Acesso Web do Windows PowerShell permitem criar um conjunto de regras de acesso que são usadas para autorizar um usuário no gateway de Acesso Web do Windows PowerShell. As regras são diferentes das listas de controle de acesso (ACLs) no computador de destino e fornecem uma camada adicional de segurança para o acesso à web. Mais detalhes sobre segurança são descritos na seção a seguir.
Se os usuários não conseguirem passar por nenhuma das camadas de segurança anteriores, eles recebem uma mensagem genérica de 'acesso negado' nas janelas do navegador. Embora os detalhes de segurança sejam registrados no servidor gateway, os usuários finais não recebem informações sobre quantas camadas de segurança eles passaram, ou em qual camada ocorreu a falha de login ou autenticação.
Para mais informações sobre como configurar regras de autorização, veja configurar regras de autorização neste tópico.
Segurança
O modelo de segurança do Windows PowerShell Web Access possui quatro camadas entre o usuário final do console baseado na web e o computador alvo. Administradores de acesso ao Web do Windows PowerShell podem adicionar camadas de segurança por meio de configurações adicionais no console do IIS Manager. Para mais informações sobre como proteger sites no console do IIS Manager, veja Configurar Segurança do Servidor Web (IIS7).
Para mais informações sobre as melhores práticas do IIS e prevenção de ataques de negação de serviço, consulte Melhores Práticas para Prevenir Ataques DoS/Negação de Serviço. Um administrador também pode comprar e instalar softwares adicionais de autenticação para varejo.
A tabela a seguir descreve as quatro camadas de segurança entre os usuários finais e os computadores-alvo.
Informações detalhadas sobre cada camada podem ser encontradas sob os seguintes títulos:
Recursos de segurança do Servidor Web IIS
Usuários do Windows PowerShell Web Access devem sempre fornecer um nome de usuário e senha para autenticar suas contas no gateway. No entanto, administradores do Windows PowerShell Web Access também podem ativar ou desativar a autenticação opcional de certificados de cliente, ver instalar e usar o acesso web do Windows PowerShell para habilitar um certificado de teste e, posteriormente, como configurar um certificado genuíno.
O recurso opcional de certificado cliente exige que os usuários finais tenham um certificado válido, além de seus nomes de usuário e senhas, e faz parte da configuração do Web Server (IIS). Quando a camada de certificado cliente está ativada, a página de login do Windows PowerShell Web Access solicita aos usuários que forneçam certificados válidos antes que suas credenciais de login sejam avaliadas. A autenticação do certificado do cliente verifica automaticamente o certificado do cliente. Se um certificado válido não for encontrado, o Windows PowerShell Web Access informa os usuários, para que possam fornecer o certificado. Se um certificado cliente válido for encontrado, o Windows PowerShell Web Access abre a página de login para que os usuários forneçam seus nomes de usuário e senhas.
Este é um exemplo de configurações adicionais de segurança oferecidas pelo IIS Web Server. Para mais informações sobre outros recursos de segurança do IIS, veja Configurar Segurança do Servidor Web (IIS 7).
Autenticação de gateway baseada em formulários do Windows PowerShell Web Access
A página de login do Windows PowerShell Web Access requer um conjunto de credenciais (nome de usuário e senha) e oferece aos usuários a opção de fornecer diferentes credenciais para o computador alvo. Se o usuário não fornecer credenciais alternativas, o nome de usuário principal e a senha usados para se conectar ao gateway também são usados para se conectar ao computador alvo.
As credenciais necessárias são autenticadas no gateway de acesso Web do Windows PowerShell. Essas credenciais devem ser contas de usuário válidas no servidor local do gateway Windows PowerShell Web Access ou no Active Directory.
Regras de autorização do Windows PowerShell Web Access
Após a autenticação do usuário no gateway, o Windows PowerShell Web Access verifica as regras de autorização para verificar se o usuário tem acesso ao computador alvo solicitado. Após a autorização bem-sucedida, as credenciais do usuário são repassadas para o computador alvo.
Essas regras são avaliadas somente após o usuário ter sido autenticado pelo gateway e antes que o usuário possa ser autenticado em um computador alvo.
Regras de autenticação e autorização de alvos
A camada final de segurança do Windows PowerShell Web Access é a configuração de segurança do próprio computador alvo. Os usuários devem ter os direitos de acesso apropriados configurados no computador de destino, e também nas regras de autorização de acesso Web do Windows PowerShell, para rodar um console web baseado no Windows PowerShell que afete o computador alvo por meio do Windows PowerShell Web Access.
Essa camada oferece os mesmos mecanismos de segurança que avaliariam tentativas de conexão caso os usuários tentassem criar uma sessão remota do Windows PowerShell para um computador alvo a partir do Windows PowerShell, executando os cmdlets Enter-PSSession ou New-PSSession .
Por padrão, o Windows PowerShell Web Access usa o nome de usuário principal e a senha para autenticação tanto no gateway quanto no computador de destino. A página de login baseada na web, em uma seção intitulada Configurações opcionais de conexão, oferece aos usuários a opção de fornecer diferentes credenciais para o computador alvo, se necessário. Se o usuário não fornecer credenciais alternativas, o nome de usuário principal e a senha usados para se conectar ao gateway também são usados para se conectar ao computador alvo.
Regras de autorização podem ser usadas para permitir que usuários tenham acesso a uma configuração específica de sessão. Você pode criar espaços de execução restritos ou configurações de sessão para o Windows PowerShell Web Access, e permitir que usuários específicos se conectem apenas a configurações específicas de sessão ao fazer login no Windows PowerShell Web Access. Você pode usar listas de controle de acesso (ACLs) para determinar quais usuários têm acesso a endpoints específicos e restringir ainda mais o acesso ao endpoint para um conjunto específico de usuários usando regras de autorização descritas nesta seção. Para mais informações sobre espaços de corrida restritos, veja Criação de um espaço de execução restrito.
Configuração das regras de autorização
Os administradores provavelmente querem a mesma regra de autorização para usuários do Windows PowerShell Web Access que já está definida em seu ambiente para gerenciamento remoto do Windows PowerShell. O primeiro procedimento desta seção descreve como adicionar uma regra de autorização segura que conceda acesso a um usuário, fazendo login para gerenciar um computador e dentro de uma única configuração de sessão. O segundo procedimento descreve como remover uma regra de autorização que não é mais necessária.
Se você planeja usar configurações personalizadas de sessão para permitir que usuários específicos trabalhem apenas em espaços de execução restritos no Windows PowerShell Web Access, crie suas configurações personalizadas de sessão antes de adicionar regras de autorização que se referem a elas. Você não pode usar os comandos de acesso Web do Windows PowerShell para criar configurações personalizadas de sessão. Para mais informações sobre como criar configurações personalizadas de sessão, veja about_Session_Configuration_Files.
Os cmdlets de acesso Web do PowerShell do Windows suportam um caractere coringa, um asterisco ( * ). Caracteres coringa dentro de strings não são suportados; Use um único asterisco por propriedade (usuários, computadores ou configurações de sessão).
Observação
Para mais maneiras de usar regras de autorização para conceder acesso aos usuários e ajudar a proteger o ambiente de acesso Web do Windows PowerShell, veja outros exemplos de cenários de regras de autorização neste tópico.
Para adicionar uma regra de autorização restritiva
Execute uma das ações a seguir para abrir uma sessão do Windows PowerShell com direitos de usuário elevados.
Na área de trabalho do Windows, clique com o botão direito do mouse no Windows PowerShell na barra de tarefas e clique em Executar como Administrador.
Na tela de Iniciar do Windows, clique com o botão direito no PowerShell do Windows e depois clique em Executar como Administrador.
Passo opcional Para restringir o acesso do usuário usando configurações de sessão:
Verifique se as configurações de sessão que você deseja usar já existem em suas regras.
Se ainda não foram criados, use instruções para criar configurações de sessão em about_Session_Configuration_Files.
Essa regra de autorização permite que um usuário específico acesse um computador na rede ao qual ele normalmente tem acesso, com acesso a uma configuração de sessão específica que é ajustada às necessidades típicas de scripts e cmdlets do usuário. Digite o seguinte e pressione Enter.
Add-PswaAuthorizationRule -UserName <domain\user | computer\user> ` -ComputerName <computer_name> -ConfigurationName <session_configuration_name>- No exemplo a seguir, um usuário chamado JSmith no domínio Contoso recebe acesso para gerenciar a Contoso_214 do computador e usar uma configuração de sessão chamada NewAdminsOnly.
Add-PswaAuthorizationRule -UserName 'Contoso\JSmith' ` -ComputerName Contoso_214 -ConfigurationName NewAdminsOnlyVerifique se a regra foi criada executando o cmdlet Get-PswaAuthorizationRule ou
Test-PswaAuthorizationRule -UserName <domain\user | computer\user> -ComputerName** <computer_name>. Por exemplo,Test-PswaAuthorizationRule -UserName Contoso\\JSmith -ComputerName Contoso_214.
Para remover uma regra de autorização
Se uma sessão do Windows PowerShell ainda não estiver aberta, veja o passo 1 de adicionar uma regra de autorização restritiva nesta seção.
Digite o seguinte e depois pressione Enter, onde o ID da regra representa o número único de ID da regra que você deseja remover.
Remove-PswaAuthorizationRule -ID <rule ID>Alternativamente, se você não souber o número de ID, mas souber o nome amigável da regra que deseja remover, pode pegar o nome da regra e canalizá-lo para o
Remove-PswaAuthorizationRulecmdlet para removê-la, como mostrado no exemplo a seguir:Get-PswaAuthorizationRule ` -RuleName <rule-name> | Remove-PswaAuthorizationRule
Observação
Você não é solicitado a confirmar se deseja excluir a regra de autorização especificada; a regra é deletada quando você aperta Enter. Certifique-se de remover a regra de autorização antes de rodar o Remove-PswaAuthorizationRule cmdlet.
Outros exemplos de cenários de regras de autorização
Toda sessão do Windows PowerShell usa uma configuração de sessão; se não for especificado para uma sessão, o Windows PowerShell usa a configuração padrão embutida de sessão do Windows, chamada Microsoft.PowerShell. A configuração padrão da sessão inclui todos os cmdlets disponíveis em um computador. Administradores podem restringir o acesso a todos os computadores definindo uma configuração de sessão com um espaço de execução restrito (uma gama limitada de cmdlets e tarefas que seus usuários finais poderiam realizar). Um usuário que recebe acesso a um computador com acesso completo ao idioma ou apenas aos cmdlets de gerenciamento remoto do Windows PowerShell pode se conectar a outros computadores que estejam conectados ao primeiro computador. Definir um espaço de funcionamento restrito pode impedir que usuários acessem outros computadores a partir do espaço de execução permitido do Windows PowerShell e melhora a segurança do seu ambiente de acesso Web do Windows PowerShell. A configuração da sessão pode ser distribuída (usando Group Policy) para todos os computadores que os administradores desejam tornar acessíveis via Windows PowerShell Web Access. Para obter mais informações sobre configurações de sessão, consulte about_Session_Configurations. A seguir, alguns exemplos desse cenário.
Um administrador cria um endpoint, chamado PswaEndpoint, com um espaço de execução restrito. Em seguida, o administrador cria uma regra,
*,*,PswaEndpoint, e distribui o endpoint para outros computadores. A regra permite que todos os usuários acessem todos os computadores com o endpoint PswaEndpoint. Se essa for a única regra de autorização definida no conjunto de regras, computadores sem esse endpoint não seriam acessíveis.O administrador criou um endpoint com um espaço de jogo restrito chamado PswaEndpoint e quer restringir o acesso a usuários específicos. O administrador cria um grupo de usuários chamado Level1Support e define a seguinte regra: Level1Support,*,PswaEndpoint. A regra concede a qualquer usuário do grupo Level1Support acesso a todos os computadores com configuração PswaEndpoint . Da mesma forma, o acesso pode ser restrito a um conjunto específico de computadores.
Alguns administradores dão mais acesso a certos usuários do que a outros. Por exemplo, um administrador cria dois grupos de usuários, Admins e BasicSupport. O administrador também cria um endpoint com um espaço de execução restrito chamado PswaEndpoint, e define as seguintes duas regras: Admins,*,* e BasicSupport,*,PswaEndpoint. A primeira regra fornece a todos os usuários do grupo Admin acesso a todos os computadores, e a segunda regra concede acesso a todos os usuários do grupo BasicSupport apenas àqueles computadores com PswaEndpoint.
Um administrador configurou um ambiente de teste privado e deseja permitir que todos os usuários autorizados da rede tenham acesso a todos os computadores da rede aos quais normalmente têm acesso, com acesso a todas as configurações de sessão às quais normalmente têm acesso. Como este é um ambiente de teste privado, o administrador cria uma regra de autorização que não é segura. - O administrador executa o cmdlet
Add-PswaAuthorizationRule * * *, que usa o caractere * coringa para representar todos os usuários, todos os computadores e todas as configurações. - Esta regra é equivalente ao seguinte:Add-PswaAuthorizationRule -UserName * -ComputerName * -ConfigurationName *.Observação
Essa regra não é recomendada em um ambiente seguro e contorna a camada de regra de autorização fornecida pelo Windows PowerShell Web Access.
Um administrador deve permitir que os usuários se conectem aos computadores-alvo em um ambiente que inclua tanto grupos de trabalho quanto domínios, onde computadores de grupo de trabalho são ocasionalmente usados para se conectar a computadores-alvo em domínios, e computadores em domínios são ocasionalmente usados para se conectar a computadores-alvo em grupos de trabalho. O administrador possui um servidor gateway, PswaServer, em um grupo de trabalho; e o computador alvo srv1.contoso.com está em um domínio. O usuário Chris é um usuário local autorizado tanto no servidor gateway do grupo de trabalho quanto no computador alvo. O nome de usuário dele no servidor do grupo de trabalho é chrisLocal; E o nome de usuário dele no computador alvo é Contoso\chris. Para autorizar o acesso à srv1.contoso.com para Chris, o administrador adiciona a seguinte regra.
Add-PswaAuthorizationRule -userName PswaServer\chrisLocal `
-computerName srv1.contoso.com -configurationName Microsoft.PowerShell
O exemplo da regra anterior autentica Chris no servidor gateway e depois autoriza seu acesso ao srv1. Na página de login, Chris deve fornecer um segundo conjunto de credenciais na área de Configurações opcionais de conexão (contoso\chris). O servidor gateway usa o conjunto adicional de credenciais para autenticá-lo no computador alvo, srv1.contoso.com.
No cenário anterior, o Windows PowerShell Web Access estabelece uma conexão bem-sucedida com o computador alvo somente após o sucesso das seguintes regras e permitido por pelo menos uma regra de autorização.
Autenticação no servidor gateway do grupo de trabalho adicionando um nome de usuário no formato server_name\user_name à regra de autorização
Autenticação no computador de destino usando credenciais alternativas fornecidas na página de login, na área de Configurações de conexão opcionais
Observação
Se o gateway e os computadores de destino estiverem em grupos de trabalho ou domínios diferentes, uma relação de confiança deve ser estabelecida entre os dois computadores do grupo de trabalho, os dois domínios ou entre o grupo de trabalho e o domínio. Esse relacionamento não pode ser configurado usando os cmdlets de autorização da regra de acesso Web do Windows PowerShell. Regras de autorização não definem uma relação de confiança entre computadores; eles só podem autorizar os usuários a se conectarem a computadores-alvo específicos e configurações de sessão. Para mais informações sobre como configurar uma relação de trust entre diferentes domínios, veja Criação de Trusts de Domínio e Floresta. Para mais informações sobre como adicionar computadores de grupo de trabalho a uma lista de hosts confiáveis, veja Gerenciamento Remoto com Gerenciador de Servidores.
Usando um único conjunto de regras de autorização para múltiplos sites
As regras de autorização são armazenadas em um arquivo XML. Por padrão, o nome do caminho do arquivo XML é $env:windir\Web\PowershellWebAccess\data\AuthorizationRules.xml.
O caminho para o arquivo XML das regras de autorização é armazenado no arquivopowwa.config , que é encontrado em $env:windir\Web\PowershellWebAccess\data. O administrador tem a flexibilidade de alterar a referência ao caminho padrão empowwa.config para atender preferências ou requisitos. Permitir que o administrador altere a localização do arquivo permite que múltiplos gateways de acesso Web PowerShell do Windows usem as mesmas regras de autorização, caso tal configuração seja desejada.
Gerenciamento de sessão
Por padrão, o Windows PowerShell Web Access limita um usuário a três sessões ao mesmo tempo. Você pode editar o arquivo web.config da aplicação web no IIS Manager para suportar um número diferente de sessões por usuário. O caminho para o arquivoweb.config é $env:windir\Web\PowerShellWebAccess\wwwroot\Web.config.
Por padrão, o IIS Web Server está configurado para reiniciar o pool de aplicações caso alguma configuração seja editada. Por exemplo, o pool de aplicações é reiniciado se alterações forem feitas no arquivoweb.config . >Como o Windows PowerShell Web Access utiliza estados de sessão em memória, >usuários logados em sessões de Windows PowerShell Web Access perdem suas sessões quando o pool de aplicações é reiniciado.
Definindo parâmetros padrão na página de login
Se seu gateway Windows PowerShell Web Access estiver rodando no Windows Server 2012 R2, você pode configurar valores padrão para as configurações exibidas na página de login do Windows PowerShell Web Access. Você pode configurar valores no arquivoweb.config descrito no parágrafo anterior. Valores padrão para as configurações da página de login são encontrados na seção appSettings do arquivo web.config; a seguir está um exemplo da seção appSettings . Valores válidos para muitas dessas configurações são os mesmos que para os parâmetros correspondentes do cmdlet New-PSSession no Windows PowerShell.
Por exemplo, a defaultApplicationName chave, como mostrado no bloco de código a seguir, é o valor da variável de preferência $PSSessionApplicationName no computador alvo.
<appSettings>
<add key="maxSessionsAllowedPerUser" value="3"/>
<add key="defaultPortNumber" value="5985"/>
<add key="defaultSSLPortNumber" value="5986"/>
<add key="defaultApplicationName" value="WSMAN"/>
<add key="defaultUseSslSelection" value="0"/>
<add key="defaultAuthenticationType" value="0"/>
<add key="defaultAllowRedirection" value="0"/>
<add key="defaultConfigurationName" value="Microsoft.PowerShell"/>
</appSettings>
Pausas e desconexões não planejadas
As sessões de acesso ao Windows PowerShell Web Access, tempo de expiração. No Windows PowerShell Web Access rodando no Windows Server 2012, uma mensagem de tempo de espera é exibida aos usuários logados após 15 minutos de inatividade da sessão. Se o usuário não responder dentro de cinco minutos após a exibição da mensagem de time-out, a sessão é encerrada e o usuário é desconectado. Você pode alterar os períodos de tempo para as sessões nas configurações do site no IIS Manager.
No Windows PowerShell Web Access rodando no Windows Server 2012 R2, as sessões acabam de funcionar, por padrão, após 20 minutos de inatividade. Se os usuários forem desconectados das sessões no console baseado na web devido a erros de rede ou outros desligamentos ou falhas não planejados, e não porque já fecharam as sessões por conta própria, as sessões de acesso ao Web do Windows PowerShell continuam a rodar, conectadas aos computadores de destino, até que o período de tempo limite no lado do cliente expire. A sessão é desconectada após os 20 minutos padrão ou após o período de tempo especificado pelo administrador do gateway, o que for mais curto.
Se o servidor gateway estiver rodando o Windows Server 2012 R2, o Windows PowerShell Web Access permite que os usuários reconectem as sessões salvas posteriormente, mas quando erros de rede, desligamentos não planejados ou outras falhas desconectam as sessões, os usuários não conseguem ver ou reconectar as sessões salvas até que o período de tempo especificado pelo administrador do gateway tenha expirado.