Regras de Autorização e Características de Segurança da Acesso Web Windows PowerShell

Atualizado: 24 de junho de 2013

Aplica-se a: Windows Server 2012 R2, Windows Server 2012

Acesso Web Windows PowerShell em Windows Server 2012 R2 e Windows Server 2012 tem um modelo de segurança restritivo. Os utilizadores devem ter acesso explícito antes de poderem iniciar seduca no gateway Acesso Web Windows PowerShell e utilizar a consola de Windows PowerShell baseada na Web.

Configurar regras de autorização e segurança no local

Depois de Acesso Web Windows PowerShell ser instalado e o gateway estar configurado, os utilizadores podem abrir a página de entrada num browser, mas não podem iniciar seduções até que o administrador Acesso Web Windows PowerShell conceda aos utilizadores acesso explicitamente. O controlo de acesso 'Acesso Web Windows PowerShell' é gerido utilizando o conjunto de Windows PowerShell cmdlets descritos no quadro seguinte. Não existe um GUI comparável para adicionar ou gerir regras de autorização. Consulte Acesso Web Windows PowerShell Comandantes.

Os administradores podem definir {0-n} regras de autenticação para Acesso Web Windows PowerShell. A segurança por defeito é restritiva e não permissiva; zero regras de autenticação significa que nenhum utilizadores tem acesso a nada.

O Add-PswaAuthorizationRule e Test-PswaAuthorizationRule em Windows Server 2012 R2 incluem um parâmetro credencial que lhe permite adicionar e testar as regras de autorização de Acesso Web Windows PowerShell a partir de um computador remoto, ou de dentro de uma Acesso Web Windows PowerShell sessão. Tal como acontece com outros cmdlets Windows PowerShell que têm um parâmetro credencial, pode especificar um objeto PSCredential como o valor do parâmetro. Para criar um objeto PSCredential que contenha credenciais que pretende passar para um computador remoto, execute o cmdlet Get-Credential .

Acesso Web Windows PowerShell regras de autenticação são regras de admissão. Cada regra é uma definição de uma ligação permitida entre utilizadores, computadores-alvo e configurações de sessão Windows PowerShell específicas (também designadas como pontos finais ou espaços de funcionação) em computadores-alvo especificados. Para obter uma explicação sobre os espaços de funcionação consulte o início da utilização de powerShell Runspaces

Importante

Um utilizador só precisa de uma regra para ser fiel para ter acesso. Se um utilizador tiver acesso a um computador com acesso total à linguagem ou acesso apenas a Windows PowerShell cmdlets de gestão remota, a partir da consola baseada na Web, o utilizador pode iniciar sessão (ou saltar) para outros computadores que estejam ligados ao primeiro computador-alvo. A forma mais segura de configurar Acesso Web Windows PowerShell é permitir aos utilizadores o acesso apenas a configurações de sessão restritas que lhes permitam realizar tarefas específicas que normalmente precisam de executar remotamente.

Os cmdlets referenciados em Acesso Web Windows PowerShell Comandantes permitem criar um conjunto de regras de acesso que são utilizadas para autorizar um utilizador no gateway Acesso Web Windows PowerShell. As regras são diferentes das listas de controlo 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 secção seguinte.

Se os utilizadores não puderem passar nenhuma das camadas de segurança anteriores, recebem uma mensagem genérica de "acesso negado" nas suas janelas do navegador. Embora os detalhes de segurança estejam registados no servidor gateway, os utilizadores finais não são mostrados informações sobre quantas camadas de segurança passaram ou em que camada ocorreu a falha de login ou autenticação.

Para obter mais informações sobre a configuração das regras de autorização, consulte as regras de autorização configuradas neste tópico.

Segurança

O modelo de segurança Acesso Web Windows PowerShell tem quatro camadas entre um utilizador final da consola baseada na web e um computador-alvo. Acesso Web Windows PowerShell administradores podem adicionar camadas de segurança através de configuração adicional na consola IIS Manager. Para obter mais informações sobre a segurança de websites na consola IIS Manager, consulte Configure Web Server Security (IIS7).

Para obter mais informações sobre as melhores práticas do IIS e prevenir ataques de negação de serviço, consulte as Melhores Práticas para Prevenir DoS/Negação de Ataques de Serviço. Um administrador também pode comprar e instalar um software adicional de autenticação a retalho.

A tabela seguinte descreve as quatro camadas de segurança entre os utilizadores finais e os computadores-alvo.

Level Camada
1 iis funcionalidades de segurança do servidor web
2 windows powershell web acesso forma a autenticação de gateway baseado
3 janelas powershell regras de autorização de acesso web
4 regras de autenticação e autorização de destino

Informações detalhadas sobre cada camada podem ser encontradas nos seguintes títulos:

Funcionalidades de segurança do IIS Web Server

Acesso Web Windows PowerShell os utilizadores devem sempre fornecer um nome de utilizador e uma palavra-passe para autenticar as suas contas no gateway. No entanto, Acesso Web Windows PowerShell administradores também podem ativar a autenticação opcional do certificado de cliente dentro ou fora, ver instalar e usar o acesso web powershell do Windows para permitir um certificado de teste e, mais tarde, como configurar um certificado genuíno).

A funcionalidade de certificado de cliente opcional requer que os utilizadores finais tenham um certificado de cliente válido, além dos seus nomes de utilizador e palavras-passe, e faz parte da configuração do Web Server (IIS). Quando a camada de certificado do cliente está ativada, a página de login Acesso Web Windows PowerShell solicita aos utilizadores que forneçam certificados válidos antes de serem avaliadas as suas credenciais de login. A autenticação do certificado do cliente verifica automaticamente o certificado do cliente. Se não for encontrado um certificado válido, Acesso Web Windows PowerShell informa os utilizadores, para que possam fornecer o certificado. Se for encontrado um certificado de cliente válido, Acesso Web Windows PowerShell abre a página de entrada para que os utilizadores forneçam os seus nomes de utilizador e palavras-passe.

Este é um exemplo de definições de segurança adicionais que são oferecidas pelo IIS Web Server. Para obter mais informações sobre outras funcionalidades de segurança do IIS, consulte Configurar a Segurança do Servidor Web (IIS 7).

Acesso Web Windows PowerShell a autenticação de gateway baseada em formulários

A página de entrada de Acesso Web Windows PowerShell requer um conjunto de credenciais (nome de utilizador e palavra-passe) e oferece aos utilizadores a opção de fornecer credenciais diferentes para o computador-alvo. Se o utilizador não fornecer credenciais alternativas, o nome de utilizador primário e a palavra-passe que são utilizados para ligar ao gateway também são utilizados para se ligar ao computador-alvo.

As credenciais necessárias são autenticadas no gateway Acesso Web Windows PowerShell. Estas credenciais devem ser contas de utilizador válidas no servidor de gateway local Acesso Web Windows PowerShell ou no Ative Directory.

regras de autorização Acesso Web Windows PowerShell

Depois de um utilizador ser autenticado no gateway, Acesso Web Windows PowerShell verifica as regras de autorização para verificar se o utilizador tem acesso ao computador-alvo solicitado. Após uma autorização bem sucedida, as credenciais do utilizador são transmitidas para o computador-alvo.

Estas regras só são avaliadas depois de um utilizador ter sido autenticado pelo gateway, e antes de um utilizador poder ser autenticado num computador-alvo.

Regras de autenticação e autorização de destino

A camada final de segurança para Acesso Web Windows PowerShell é a configuração de segurança do computador alvo. Os utilizadores devem ter os direitos de acesso adequados configurados no computador-alvo, e também nas regras de autorização Acesso Web Windows PowerShell, para executar uma consola baseada na web Windows PowerShell que afete um computador-alvo através de Acesso Web Windows PowerShell.

Esta camada oferece os mesmos mecanismos de segurança que avaliariam as tentativas de ligação se os utilizadores tentassem criar uma sessão de Windows PowerShell remota para um computador alvo a partir de Windows PowerShell executando os cmdlets de Enter-PSSession ou New-PSSession.

Por predefinição, Acesso Web Windows PowerShell utiliza o nome de utilizador primário e a palavra-passe para autenticação tanto no gateway como no computador-alvo. A página de insusição baseada na Web, numa secção intitulada Definições de ligação opcional, oferece aos utilizadores a opção de fornecer credenciais diferentes para o computador-alvo, se forem necessárias. Se o utilizador não fornecer credenciais alternativas, o nome de utilizador primário e a palavra-passe que são utilizados para ligar ao gateway também são utilizados para se ligar ao computador-alvo.

As regras de autorização podem ser utilizadas para permitir aos utilizadores o acesso a uma determinada configuração de sessão. Pode criar espaços de execução restritos ou configurações de sessão para Acesso Web Windows PowerShell e permitir que utilizadores específicos se conectem apenas a configurações de sessão específicas quando iniciarem sessão para Acesso Web Windows PowerShell. Pode utilizar as listas de controlo de acesso (ACLs) para determinar quais os utilizadores que têm acesso a pontos finais específicos e restringir ainda mais o acesso ao ponto final para um conjunto específico de utilizadores, utilizando regras de autorização descritas nesta secção. Para obter mais informações sobre espaços de execução restritos, consulte criar um espaço de funcionação restrito.

Configurar regras de autorização

Os administradores provavelmente querem a mesma regra de autorização para Acesso Web Windows PowerShell utilizadores que já está definido no seu ambiente para Windows PowerShell gestão remota. O primeiro procedimento nesta secção descreve como adicionar uma regra de autorização segura que concede acesso a um utilizador, insinundo-se para gerir um computador, e dentro de uma configuração de sessão única. O segundo procedimento descreve como remover uma regra de autorização que já não é necessária.

Se planeia utilizar configurações de sessão personalizadas para permitir que utilizadores específicos funcionem apenas dentro de espaços de execução restritos em Acesso Web Windows PowerShell, crie as configurações de sessão personalizadas antes de adicionar regras de autorização que se referem a eles. Não é possível utilizar os cmdlets Acesso Web Windows PowerShell para criar configurações de sessão personalizadas. Para obter mais informações sobre a criação de configurações de sessão personalizadas, consulte about_Session_Configuration_Files.

Acesso Web Windows PowerShell cmdlets suportam um personagem wildcard, um asterisco (* ). Os caracteres wildcard dentro das cordas não são suportados; utilize um único asterisco por propriedade (utilizadores, computadores ou configurações de sessão).

Nota

Para mais formas de utilizar as regras de autorização para conceder acesso aos utilizadores e ajudar a proteger o ambiente Acesso Web Windows PowerShell, consulte outros exemplos de cenários de regras de autorização neste tópico.

Para adicionar uma regra de autorização restritiva

  1. Efetue um dos seguintes procedimentos para abrir uma sessão do Windows PowerShell com direitos de utilizador elevados.

    • No ambiente de trabalho do Windows, clique com botão direito do rato em Windows PowerShell na barra de tarefas e clique em Executar como Administrador.

    • No ecrã Iniciar o Windows, clique Windows PowerShell com Windows PowerShell e, em seguida, clique em Executar como Administrador.

  2. Passo opcional Para restringir o acesso do utilizador utilizando configurações de sessão:

    Verifique se as configurações de sessão que pretende utilizar, já existem nas suas regras .

    Se ainda não foram criadas, utilize instruções para criar configurações de sessão em about_Session_Configuration_Files.

  3. Esta regra de autorização permite a um utilizador específico o acesso a um computador na rede a que normalmente têm acesso, com acesso a uma configuração de sessão específica que é aparda às necessidades típicas de script e cmdlet do utilizador. Escreva o seguinte e, em seguida, prima Enter.

    Add-PswaAuthorizationRule -UserName <domain\user | computer\user> `
       -ComputerName <computer_name> -ConfigurationName <session_configuration_name>
    
    • No exemplo seguinte, um utilizador chamado JSmith no domínio Contoso tem acesso para gerir o computador Contoso_214, e usar uma configuração de sessão chamada NewAdminsOnly.
    Add-PswaAuthorizationRule -UserName 'Contoso\JSmith' `
       -ComputerName Contoso_214 -ConfigurationName NewAdminsOnly
    
  4. Verifique 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

  1. Se uma sessão Windows PowerShell ainda não estiver aberta, consulte o passo 1 para adicionar uma regra de autorização restritiva nesta secção.

  2. Digite o seguinte e, em seguida, pressione Enter, onde o ID de regra representa o número único de ID da regra que pretende remover.

    Remove-PswaAuthorizationRule -ID <rule ID>
    

    Em alternativa, se não souber o número de identificação, mas conhecer o nome amigável da regra que pretende remover, pode obter o nome da regra e encacaná-la no Remove-PswaAuthorizationRule cmdlet para remover a regra, como mostra o seguinte exemplo:

    Get-PswaAuthorizationRule `
       -RuleName <rule-name> | Remove-PswaAuthorizationRule
    

Nota

Não é solicitado que confirme se pretende eliminar a regra de autorização especificada; a regra é eliminada quando pressiona Enter. Certifique-se de que pretende retirar a regra de autorização antes de executar o Remove-PswaAuthorizationRule cmdlet.

Outros exemplos de cenário de regra de autorização

Cada sessão Windows PowerShell utiliza uma configuração de sessão; se não for especificada para uma sessão, Windows PowerShell utiliza a configuração de sessão de Windows PowerShell incorporada, chamada Microsoft.PowerShell. A configuração da sessão predefinida inclui todos os cmdlets que estão disponíveis num computador. Os administradores podem restringir o acesso a todos os computadores definindo uma configuração de sessão com um espaço de funcionamento restrito (uma gama limitada de cmdlets e tarefas que os seus utilizadores finais poderiam executar). Um utilizador a quem seja concedido acesso a um computador com acesso total à linguagem ou apenas os Windows PowerShell comandantes de gestão remota podem ligar-se a outros computadores que estão ligados ao primeiro computador. A definição de um espaço de funcionamento restrito pode impedir que os utilizadores acedam a outros computadores a partir do seu espaço de funcionamento permitido Windows PowerShell e melhora a segurança do seu ambiente Acesso Web Windows PowerShell. A configuração da sessão pode ser distribuída (utilizando Política de Grupo) a todos os computadores que os administradores pretendem tornar acessíveis através de Acesso Web Windows PowerShell. Para obter mais informações sobre configurações de sessão, consulte about_Session_Configurations. Seguem-se alguns exemplos deste cenário.

  • Um administrador cria um ponto final, chamado PswaEndpoint, com um espaço de funcionação restrito. Em seguida, o administrador cria uma regra, *,*,PswaEndpointe distribui o ponto final para outros computadores. A regra permite que todos os utilizadores acedam a todos os computadores com o ponto final PswaEndpoint. Se esta for a única regra de autorização definida no conjunto de regras, os computadores sem esse ponto final não estariam acessíveis.

  • O administrador criou um ponto final com um espaço de execução restrito chamado PswaEndpoint, e quer restringir o acesso a utilizadores específicos. O administrador cria um grupo de utilizadores chamado Level1Support, e define a seguinte regra: Level1Support,*,PswaEndpoint. A regra concede a todos os utilizadores do grupo Level1Support o acesso a todos os computadores com a configuração PswaEndpoint . Da mesma forma, o acesso pode ser restringido a um conjunto específico de computadores.

  • Alguns administradores fornecem a certos utilizadores mais acesso do que outros. Por exemplo, um administrador cria dois grupos de utilizadores, Admins e BasicSupport. O administrador também cria um ponto final 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 utilizadores do Administração acesso em grupo a todos os computadores, e a segunda regra fornece a todos os utilizadores do grupo BasicSupport apenas acesso a esses computadores com PswaEndpoint.

  • Um administrador criou um ambiente de teste privado e quer permitir que todos os utilizadores de rede autorizados tenham acesso a todos os computadores da rede a que normalmente têm acesso, com acesso a todas as configurações de sessão a que normalmente têm acesso. Por se trata de 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 utiliza o caractere * wildcard para representar todos os utilizadores, todos os computadores e todas as configurações. - Esta regra equivale ao seguinte: Add-PswaAuthorizationRule -UserName * -ComputerName * -ConfigurationName *.

    Nota

    Esta regra não é recomendada num ambiente seguro e contorna a camada de segurança da regra de autorização fornecida por Acesso Web Windows PowerShell.

  • Um administrador deve permitir que os utilizadores se conectem a computadores-alvo num ambiente que inclua grupos de trabalho e domínios, onde computadores de grupo de trabalho são ocasionalmente utilizados para se ligarem a computadores-alvo em domínios, e os computadores em domínios são ocasionalmente utilizados para se conectarem a computadores-alvo em grupos de trabalho. O administrador tem um servidor de gateway, PswaServer, num grupo de trabalho; e o srv1.contoso.com de computador alvo está em um domínio. User Chris é um utilizador local autorizado tanto no servidor de gateway do grupo de trabalho como no computador-alvo. O seu nome de utilizador no servidor do grupo de trabalho é chrisLocal; e o seu nome de utilizador no computador alvo é contoso\chris. Para autorizar o acesso a srv1.contoso.com para o Chris, o administrador adiciona a seguinte regra.

Add-PswaAuthorizationRule -userName PswaServer\chrisLocal `
   -computerName srv1.contoso.com -configurationName Microsoft.PowerShell

O exemplo de regra anterior autentica Chris no servidor gateway e, em seguida, autoriza o seu acesso ao srv1. Na página de início de sposição, o Chris deve fornecer um segundo conjunto de credenciais na área de definições de conexão opcional (contoso\chris). O servidor gateway usa o conjunto adicional de credenciais para autenticá-lo no computador alvo, srv1.contoso.com.

No cenário anterior, Acesso Web Windows PowerShell estabelece uma ligação bem sucedida ao computador-alvo apenas após o seguinte ter sido bem sucedido, e permitido por pelo menos uma regra de autorização.

  1. Autenticação no servidor de gateway do grupo de trabalho adicionando um nome de utilizador no formato server_name\user_name à regra de autorização

  2. Autenticação no computador-alvo utilizando credenciais alternativas fornecidas na página de inscrição, na área de definições de ligação opcional

    Nota

    Se os computadores de gateway e de destino estiverem em diferentes grupos de trabalho ou domínios, deve estabelecer-se uma relação de confiança entre os dois computadores do grupo de trabalho, os dois domínios, ou entre o grupo de trabalho e o domínio. Esta relação não pode ser configurada utilizando Acesso Web Windows PowerShell regra de autorização cmdlets. As regras de autorização não definem uma relação de confiança entre computadores; só podem autorizar os utilizadores a ligarem-se a computadores-alvo específicos e configurações de sessão. Para obter mais informações sobre como configurar uma relação de confiança entre diferentes domínios, consulte Creating Domain and Forest Trusts. Para obter mais informações sobre como adicionar computadores de grupo de trabalho a uma lista de anfitriões fidedignos, consulte Remote Management com Gestor de Servidor.

Usando um único conjunto de regras de autorização para vários sites

As regras de autorização são armazenadas num ficheiro XML. Por predefinição, o nome do caminho do ficheiro XML é $env:windir\Web\PowershellWebAccess\data\AuthorizationRules.xml.

O caminho para as regras de autorização ficheiro XML é armazenado no ficheiro powwa.config , que se encontra em $env:windir\Web\PowershellWebAccess\data. O administrador tem a flexibilidade para alterar a referência à trajetória padrão em powwa.config de acordo com as preferências ou requisitos. Permitir que o administrador altere a localização do ficheiro permite que vários Acesso Web Windows PowerShell gateways utilizem as mesmas regras de autorização, se tal configuração for desejada.

Gestão de sessões

Por padrão, Acesso Web Windows PowerShell limita um utilizador a três sessões de cada vez. Pode editar o ficheiro deweb.config da aplicação web no IIS Manager para suportar um número diferente de sessões por utilizador. O caminho para o ficheiroweb.config é $env:windir\Web\PowerShellWebAccess\wwwroot\Web.config.

Por predefinição, o IIS Web Server está configurado para reiniciar o conjunto de aplicações se alguma definição for editada. Por exemplo, o conjunto de aplicações é reiniciado se forem feitas alterações no ficheiro web.config . >Como Acesso Web Windows PowerShell usa estados de sessão na memória, >os utilizadores que se inscrevem para Acesso Web Windows PowerShell sessões perdem as suas sessões quando o pool de aplicações é reiniciado.

Definição de parâmetros predefinidos na página de entrada

Se o seu Acesso Web Windows PowerShell gateway estiver a funcionar no Windows Server 2012 R2, pode configurar valores predefinidos para as definições que são apresentadas na página de entrada de Acesso Web Windows PowerShell. Pode configurar valores no ficheiro web.config descrito no parágrafo anterior. Os valores predefinidos para as definições de página de inscrição encontram-se na secção de definições de web.config ; o seguinte é um exemplo da secção de appsSettings . Os valores válidos para muitas destas configurações são os mesmos dos parâmetros correspondentes do cmdlet de nova PSSessão em Windows PowerShell.

Por exemplo, a defaultApplicationName chave, tal como mostrado no bloco de códigos seguinte, é 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>

Intervalos de tempo e desconexões não planeadas

Acesso Web Windows PowerShell sessões de tempo. Em Acesso Web Windows PowerShell em execução no Windows Server 2012, é apresentada uma mensagem de tempo para os utilizadores inscritos após 15 minutos de inatividade da sessão. Se o utilizador não responder no prazo de cinco minutos após a visualização da mensagem de tempo, a sessão termina e o utilizador é assinado. Pode alterar períodos de tempo para sessões nas definições do site no IIS Manager.

Em Acesso Web Windows PowerShell a funcionar no Windows Server 2012 R2, as sessões estão fora, por defeito, após 20 minutos de inatividade. Se os utilizadores estiverem desligados das sessões na consola baseada na Web devido a erros de rede ou outras paragens ou falhas não planeadas, e não por terem encerrado as sessões em si, as sessões de Acesso Web Windows PowerShell continuam a funcionar, ligadas aos computadores-alvo, até que o período de tempo no lado do cliente caduque. A sessão é desligada após o padrão de 20 minutos, ou após o período de tempo especificado pelo administrador gateway, o que for mais curto.

Se o servidor gateway estiver a funcionar Windows Server 2012 R2, Acesso Web Windows PowerShell permite que os utilizadores voltem a ligar-se a sessões guardadas posteriormente, mas quando erros de rede, paragens não planeadas ou outras falhas desligam as sessões, os utilizadores não podem ver ou reconectar-se a sessões guardadas até que o período de tempo especificado pelo administrador gateway tenha caducado.

Consulte também

Instalar e Utilizar Acesso Web Windows PowerShell

about_Session_Configurations

Acesso Web Windows PowerShell Comandantes