Microsoft JEA - Just Enough Administration 
Autor: Eduardo Popovici | Publicado: 2017-07-25T18:16:00-03:00








O Just&nbsp;Enough&nbsp;Administration&nbsp;(JEA) é na verdade uma nova tecnologia administrativa que permite aplicar princípios de controle de acesso baseados em funções (RBAC) através de sessões remotas do Windows&nbsp;PowerShell. Em vez de permitir que os papéis gerais dos usuários que muitas vezes lhes permitam executar tarefas que não estão diretamente relacionadas aos seus requisitos de trabalho, o JEA permite que você configure pontos de extremidade especiais do Windows&nbsp;PowerShell&nbsp;que forneçam a funcionalidade necessária para executar uma tarefa específica.&nbsp;





&nbsp;

O&nbsp;JEA&nbsp;permite que você&nbsp;bloqueie as sessões administrativas&nbsp;para que apenas um conjunto específico de tarefas possa ser executado através de uma sessão remota&nbsp;do Windows&nbsp;PowerShell. A JEA aumenta a segurança ao limitar as tarefas que podem ser realizadas. Você configura o JEA criando e modificando arquivos de capacidade de função e arquivos de configuração de sessão.&nbsp;A função principal do JEA é aumentar a segurança da utilização de sessões remotas do Windows&nbsp;PowerShell; o JEA bloqueia sessões administrativas efetuadas pelo Windows&nbsp;PowerShell&nbsp;com base em um determinado critério.&nbsp;&nbsp;







O JEA fornece sistemas operacionais Windows Server e Windows&nbsp;client&nbsp;com funcionalidade RBAC construída no&nbsp;remoting&nbsp;PowerShell&nbsp;do Windows. O&nbsp;remoting&nbsp;do Windows&nbsp;PowerShell&nbsp;é quando uma sessão remota do Windows&nbsp;PowerShell&nbsp;iniciada em um computador permite que atividades sejam executadas em outro computador. Quando você configura o JEA, um usuário autorizado pode se conectar a um ponto final especialmente configurado e usar um conjunto específico de&nbsp;cmdlets, parâmetros e valores de parâmetros do&nbsp;Window&nbsp;PowerShell. Você também pode configurar um ponto de extremidade JEA para permitir que certos scripts e comandos sejam executados, embora exija que estes funcionem dentro de uma sessão do Windows&nbsp;PowerShell.&nbsp;&nbsp;













Por exemplo, você pode configurar um ponto de extremidade JEA para permitir que um usuário autorizado reinicie serviços específicos, como o serviço DNS (Domain&nbsp;Name&nbsp;System), mas não reinicie nenhum outro serviço ou execute outras tarefas no sistema no qual o ponto final está configurado . Um ponto final do JEA também pode ser configurado para permitir que um usuário autorizado execute um comando como whoami.exe para determinar qual conta está sendo usada com a sessão. Quando conectado ao ponto final, o JEA permite que as tarefas sejam executadas usando uma conta virtual privilegiada especial, em vez da conta do usuário. As vantagens desta abordagem incluem:&nbsp;







• As credenciais do usuário não são armazenadas no sistema remoto. Se o sistema remoto estiver comprometido, as credenciais do usuário não estão sujeitas a roubo de credencial e não podem ser usadas para percorrer a rede para obter acesso a outros hosts.&nbsp;







• A conta de usuário usada para se conectar ao ponto final não precisa ser privilegiada. O ponto final simplesmente precisa ser configurado para permitir conexões de contas de usuários especificadas.&nbsp;







•&nbsp;A conta virtual é limitada ao sistema no qual está hospedado. A conta virtual não pode ser usada para se conectar a sistemas remotos. Os atacantes não podem usar uma conta virtual comprometida para acessar outros servidores protegidos.&nbsp;







• A conta virtual tem privilégios de administrador local, mas se limita a realizar apenas as atividades definidas pela JEA. Você pode configurar a conta virtual com a associação de um grupo diferente do grupo de administradores locais, para reduzir os privilégios. A JEA trabalha diretamente nos seguintes sistemas operacionais:&nbsp;







• Windows Server 2016&nbsp;



• Windows 10, versão 1511 ou posterior&nbsp;







O JEA funcionará nos seguintes sistemas desde que o&nbsp;Windows Management Framework 5.0&nbsp;seja&nbsp;



instalado:&nbsp;







• Windows Server 2012 R2&nbsp;



• Windows Server 2012&nbsp;



• Windows Server 2008 R2&nbsp;



• Windows 8.1&nbsp;



• Windows 8&nbsp;



• Windows 7&nbsp;







Quando é usado com o Windows Server 2008 R2 ou Windows 7, o JEA não suporta contas virtuais. Quando usado com esses sistemas operacionais, toda atividade é realizada usando a conta que se conecta ao ponto final do JEA. Isso pode exigir que a conta seja adicionada aos grupos de segurança apropriados, ao contrário da conta virtual, que possui privilégios de administrador local no computador host.&nbsp;







Configurar o JEA é um processo complicado porque exige que a pessoa que configura cada função de função JEA compreenda precisamente quais&nbsp;cmdlets, parâmetros, alias e valores são necessários para executar tarefas administrativas.&nbsp;JEA é adequado&nbsp;para&nbsp;tarefas de configuração de rotina, como&nbsp;reiniciar um serviço ou implantar um contêiner ou máquina virtual (VM). O JEA é menos adequado para tarefas onde o problema e a solução não estão definidos de forma clara.&nbsp;







Quando o JEA está configurado corretamente, um usuário de operações de tecnologia da informação (TI) terá apenas as ferramentas necessárias para executar a tarefa que eles precisam concluir. O JEA só funciona com sessões do Windows&nbsp;PowerShell. Embora você possa configurar scripts e comandos executáveis para estarem disponíveis para uma sessão JEA, o JEA exige que as tarefas administrativas sejam executadas a partir da linha de comando. É provável que isso desafie o pessoal das operações de TI que são apenas familiarizados com a realização de tarefas usando ferramentas gráficas.&nbsp;







Os arquivos de capacidade de função permitem que você especifique o que pode ser feito em uma sessão do Windows&nbsp;PowerShell. Qualquer coisa que não seja explicitamente permitida em uma&nbsp;rolecapability&nbsp;arquivo ou um arquivo de configuração de sessão não é permitido.&nbsp;







Você pode criar um novo arquivo de função de papel em branco usando o&nbsp;cmdlet&nbsp;New-RoleCapabilityFile. Os arquivos&nbsp;Rolecapability&nbsp;usam a extensão .psrc. Em seguida, edite o arquivo de capacidade de função, adicionando&nbsp;cmdlets, funções e comandos externos conforme necessário. Você pode permitir todos os&nbsp;cmdlets&nbsp;ou funções do Windows&nbsp;PowerShell, ou listar quais parâmetros e&nbsp;



Os valores dos parâmetros podem ser usados.&nbsp;







Os arquivos de configuração de sessão são um tipo especial de arquivo que determina o que pode ser feito em uma sessão JEA. Se um&nbsp;cmdlet, parâmetro, valor de parâmetro, alias, script externo ou executável não estiver listado em um arquivo de configuração de sessão, ele não pode ser usado em uma sessão JEA configurada com esse arquivo de configuração de sessão.&nbsp;Você cria novos arquivos de configuração de sessão usando o&nbsp;cmdlet&nbsp;New-PSSessionConfigurationFile. Os arquivos de configuração de sessão usam o .pssc&nbsp;extensão de arquivo.&nbsp;







Um ponto final do JEA é um nó de extremidade do Windows&nbsp;PowerShell&nbsp;que está configurado para que apenas usuários autenticados específicos possam se conectar a ele e, para que apenas esses usuários tenham acesso aos&nbsp;cmdlets, parâmetros e valores de Windows&nbsp;PowerShell&nbsp;definidos pelo arquivo apropriado de configuração de sessão que vincula Grupos de segurança e capacidades de função.&nbsp;





Um servidor pode ter múltiplos pontos de extremidade JEA, e cada ponto de extremidade JEA pode ser usado para uma tarefa administrativa diferente. Por exemplo, um nó de extremidade&nbsp;DNSOps&nbsp;para executar tarefas administrativas de DNS e um ponto final de&nbsp;DHCPOps&nbsp;para executar o Host Dinâmico&nbsp;



Tarefas administrativas do protocolo de configuração (DHCP).&nbsp;&nbsp;







Os usuários não precisam ter contas privilegiadas que sejam membros de grupos, como o grupo Administradores local, para se conectar a um nó de extremidade. Uma vez conectado, os usuários têm os privilégios atribuídos à conta virtual configurada no arquivo de configuração de sessão. Você cria os pontos de extremidade do JEA usando o&nbsp;cmdlet&nbsp;Register-PSSessionConfiguration. Ao usar isso&nbsp;Cmdlet, você especifica um nome de ponto final e um arquivo de configuração de sessão hospedado na máquina local.&nbsp;







Por exemplo, para criar o DNS&nbsp;Ops&nbsp;do nó de extremidade usando o arquivo de configuração de sessão DNS&nbsp;Ops.pssc, execute o seguinte comando:&nbsp;Register-PSSessionConfiguration&nbsp;-Name&nbsp;DNSOps&nbsp;-Path&nbsp;DNSOps.pssc&nbsp;







Antes de implementar o JEA em um ambiente de produção, você deve testá-lo extensivamente. Isso é necessário porque a JEA é extremamente restritiva e é provável que as configurações iniciais da JEA não incluam muitos&nbsp;cmdlets&nbsp;importantes que são necessários para o pessoal de operações de TI para executar suas tarefas de trabalho. Você se conecta a um ponto final do JEA usando uma sessão remota do Windows&nbsp;PowerShell. Quando você criou uma configuração JEA, você também pode implantar essa configuração em outros computadores.&nbsp;







Conectando-se a um ponto final do JEA&nbsp;





&nbsp;

Você se conecta a um ponto final do JEA usando o&nbsp;cmdlet&nbsp;Enter-PSsession&nbsp;de uma sessão padrão do Windows&nbsp;PowerShell. Este&nbsp;cmdlet&nbsp;está disponível por padrão em computadores que executam sistemas operacionais Windows Server 2016 e Windows 10 (versão 1511 ou posterior) e estão disponíveis em computadores que executem Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows 8.1, Windows 8 e Windows 7, se o Windows Management Framework 5.0 estiver instalado.&nbsp;





&nbsp;

Você especifica o nome do nó de extremidade usando o parâmetro de Configuração com o&nbsp;cmdlet&nbsp;Enter-PSSession. Por exemplo, para se conectar ao ponto final&nbsp;DNSAdmin&nbsp;no servidor LON-DC1, você usaria o seguinte comando:&nbsp;Enter-PSSession&nbsp;-ComputerName&nbsp;LON-DC1 -ConfigurationName&nbsp;DNSOps&nbsp;







Por padrão,&nbsp;Enter-PSsession&nbsp;usará as credenciais do usuário assinado com o padrão. Você pode usar o parâmetro&nbsp;Credential&nbsp;para fornecer credenciais alternativas. Por exemplo, para se conectar usando a conta&nbsp;Contoso&nbsp;\ Chris para o ponto de extremidade&nbsp;DNSOps&nbsp;em LON-DC1, emita o seguinte comando:&nbsp;Enter-PSSession&nbsp;-ComputerName&nbsp;LON-DC1 -ConfigurationName&nbsp;DNSOps&nbsp;-Credential&nbsp;Contoso\EduardoPopovici




Depois de validar uma configuração JEA, você pode implantar a configuração em outros computadores. Implantando uma configuração JEA a outros computadores&nbsp;



Envolve:&nbsp;







• Copiando arquivos de capacidade de função e arquivos de configuração de sessão para o computador de destino.&nbsp;



• Criando pontos de extremidade JEA nesse computador.&nbsp;







O recurso de Configuração de Estado Desejado da Administração Just&nbsp;Enough&nbsp;(DSC) permite que você implante o JEA de forma centralizada em computadores de sua organização que tenham sua configuração mantida pela DSC. Através do DSC, você pode gerenciar de forma centralizada o mapeamento de usuário e função&nbsp;







Embora você possa implantar a mesma configuração do JEA em computadores diferentes em sua organização, é provável que cada computador atenda uma finalidade diferente e, portanto, pode precisar de uma configuração JEA exclusiva. Também pode ser que você precisará configurar arquivos de configuração de sessão separados mesmo se você usar o mesmo arquivo de capacidade de função. Por exemplo, você pode criar um arquivo de capacidade de função que permita gerenciamento de DNS, mas configure arquivos de configuração de sessão separados para cada servidor de DNS porque você deseja permitir que diferentes grupos de usuários executem tarefas de administração de DNS.&nbsp;