Proteja as Senhas de Administrador do Windows com o Microsoft LAPS

**Como você lida atualmente com as senhas do administrador local do Windows? Cada sistema Windows possui uma e elas têm as chaves do reino de cada PC. Como as senhas do administrador local não fazem parte do Active Directory (AD), é necessário gerenciar cada conta em cada computador separadamente. É uma dor de cabeça.

Muitas vezes, as organizações não dão muita importância a isso e apenas definem uma senha padrão de administrador em cada máquina Windows. Essa prática, embora conveniente, abre as organizações para um problema muito maior quando essa senha mestra cai em mãos erradas. Ter uma senha de administrador local separada em cada computador não impede necessariamente que uma pessoa maliciosa acesse um PC, mas evita consideravelmente a exploração lateral de outros PCs.

O Microsoft Local Administrator Password Solution (LAPS) pode ajudar.

Neste artigo, você aprenderá como proteger seus computadores associados ao AD configurando o LAPS.

O que é o Microsoft LAPS?

O LAPS é uma parte vital para manter um ambiente Windows seguro. O LAPS é uma ferramenta que funciona de maneira inteligente; ele randomiza automaticamente a senha do administrador local em todos os computadores do domínio com o LAPS ativado e altera cada senha regularmente.

LAPS garante que você tenha senhas de administrador local randomizadas em todo o seu domínio e impede o movimento lateral de hackers e malware. Agora, você pode pensar que uma senha longa de administrador local no cliente pode protegê-lo disso, mas isso não é verdade.

Os hackers podem usar um método chamado Pass-The-Hash para se espalhar rapidamente pelo domínio e até mesmo obter credenciais de administrador de domínio usando o mesmo método. O LAPS impede essa atividade ao forçar que indivíduos mal-intencionados descubram uma senha para cada máquina individualmente.

LAPS na prática

O LAPS possui três partes principais:

Atributos do AD protegidos

O LAPS armazena cada senha de administrador local para cada computador controlado no AD em um atributo chamado ms-Mcs-AdmPwd. O LAPS também precisa saber quando as senhas expiram para alterá-las, por isso ele armazena outro atributo no AD chamado ms-Mcs-AdmPwdExpirationTime. Esses atributos do AD só podem ser lidos e gravados por princípios específicos do AD, como um grupo ou um usuário, e também podem ser gravados pela conta do computador que está usando a senha.

Configurações do GPO

Para provisionar o LAPS em um computador e alterar a senha, o LAPS também possui um conjunto de configurações do GPO. Quando o GPO é vinculado a um conjunto de computadores, as configurações do LAPS são distribuídas para cada computador. Quando o computador aplica as configurações do GPO, o LAPS usa um arquivo DLL especial para interpretá-las.

Quando o LAPS percebe que a data atual está além da data de validade da senha, ele irá:

  • Aleatorizar uma nova senha e defini-la como a senha do administrador local.
  • Escrever a nova senha do administrador local no atributo Ms-Mcs-AdmPwd no AD.
  • Escrever uma nova data de validade em ms-Mcs-AdmPwdExpirationTime.

Usando este método inteligente, porém simples, os computadores do domínio permanecem ainda mais seguros.

Configurando o LAPS

Informações suficientes, vamos ver o que o LAPS pode realmente fazer! Configurar o LAPS não é complicado, mas requer alguns passos que você aprenderá neste tutorial. Eles são:

  1. Instalando as Ferramentas de Gerenciamento do LAPS em sua máquina administrativa.
  2. Estendendo o esquema do AD para adicionar os dois atributos personalizados do AD que o LAPS utiliza.
  3. Configurando privilégios apropriados para vários componentes no AD.
  4. Construindo a GPO do LAPS que será aplicada aos computadores Windows.
  5. Implantando a Extensão de GPO do LAPS nos computadores Windows aplicáveis.

Depois de seguir os passos acima, você terá um ambiente LAPS totalmente funcional pronto para uso!

Pré-requisitos

Neste artigo, você estará configurando o LAPS para uso real. Se você quiser acompanhar, certifique-se de cumprir alguns pré-requisitos primeiro.

  • Um Domínio AD (2003 e superior)
  • A computer running Windows (10 or Server 2012+ is recommended) has RSAT for Active Directory installed.
  • Ter acesso a uma conta que seja membro dos grupos AD Domain Admins e Schema Admins.

Todos os exemplos neste artigo usarão um domínio AD chamado contoso.com.

A melhor prática para o grupo de administração do esquema é ser membro apenas quando você precisar das permissões.

Instalando as Ferramentas de Gerenciamento do Microsoft LAPS

Para começar, você deve primeiro instalar as Ferramentas de Gerenciamento do LAPS no seu computador de administração. Essas ferramentas de gerenciamento instalarão tanto a extensão do GPO do LAPS (se selecionada) quanto as ferramentas de gerenciamento para configurar o LAPS.

  1. Comece baixando o arquivo LAPS.x64.msi e execute-o como administrador e clique em Avançar.
Installing Microsoft LAPS

2.  Pressione Avançar até chegar à instalação personalizada, então clique em Ferramentas de Gerenciamento e A instalação do recurso inteiro será feita no disco rígido local para instalar ambos esses componentes. Se você não quiser que a máquina atual seja gerenciada pelo LAPS, selecione Extensão do GPO AdmPwd.

Click Management Tools

3.  Clique em Avançar até a instalação terminar e saia do instalador.

Você agora instalou as extensões do GPO do LAPS (se selecionadas) e suas ferramentas de gerenciamento e agora podemos começar a estender o esquema do AD e adicionar nossos GPOs.

Estendendo o Esquema do AD

Como mencionado anteriormente, o LAPS usa dois atributos AD chamados ms-Mcs-AdmPwd e ms-Mcs-AdmPwdExpirationTime. Esses dois atributos não são padrão e devem ser adicionados ao esquema do AD.

  1. Comece adicionando um membro do grupo Domain Admins ao grupo Schema Admins se a conta ainda não for membro. Vamos chamar isso de sua “conta de administrador”.
  2. Comece o PowerShell como sua conta de administrador e importe o módulo AdmPwd do PowerShell executando Import-module AdmPwd.PS.
  3. Depois que o módulo for importado, execute o comando Update-AdmPwdADSchema para atualizar o esquema AD adicionando os dois atributos AD. Você pode ver a saída na captura de tela a seguir.
Powershell Admin Account

Agora você estendeu nosso esquema AD para suportar o LAPS e está pronto para definir permissões no Active Directory.

Configurando Permissões no Active Directory

Cada computador precisa ter a capacidade de atualizar sua senha de administrador local e o atributo de tempo de expiração no AD. Para fazer isso, cada computador deve ter permissão de autoescrita para os atributos AD ms-Mcs-AdmPwd e ms-Mcs-AdmPwdExpirationTime. Felizmente, a maior parte desse trabalho é facilmente feita com o módulo AdmPwd do PowerShell.

Permitindo que Máquinas Salvem Suas Senhas

Primeiro, garanta que cada computador possa salvar sua senha no atributo AD ms-Mcs-AdmPwd e atualize quando essa senha expirar no atributo AD ms-Mcs-AdmPwdExpirationTime. O módulo AdPwd do PowerShell tem um comando que você pode definir essas permissões chamado Set-AdmPwdComputerSelfPermission por unidade organizacional (OU), que se aplica a todas as OUs filhas.

Em PowerShell, execute Set-AdmPwdComputerSelfPermission -OrgUnit ‘OU=Workstations,DC=contoso,DC=com’, lembrando de atualizar sua Unidade Organizacional (OU) e nome de domínio específicos.

Update OU and Domain Name

Se você deseja que o LAPS controle mais UOs, repita o comando acima para cada OU no AD.

Restringindo os Atributos do AD Encontrando Direitos Estendidos

Para garantir que apenas os usuários e grupos que você deseja tenham permissão para ler e redefinir a senha do administrador local de cada computador, você precisa auditar quem tem acesso. Especificamente, você precisa saber que apenas as contas que precisam ter “Direitos estendidos” os têm.

Para encontrar contas com direitos estendidos, execute Find-AdmPwdExtendedRights -OrgUnit 'OU=Workstations,DC=contoso,DC=com' | Select -ExpandProperty ExtendedRightHolders, garantindo substituir sua OU e nome de domínio.

Agora você pode ver na captura de tela a seguir que CONTOSO\joe-the-admin e CONTOSO\MDT-service têm direitos estendidos para a OU Workstations.

Workstations OU

A permissão do MDT-service realmente precisa do direito estendido, mas o joe-the-admin não. Agora você precisa remover a permissão para o joe-the-admin.

Você precisará repetir este processo para todas as UOs nas quais você definiu a permissão de auto-escrita em um passo anterior.

Removendo Direitos Estendidos

Depois de identificar cada conta para remover os direitos estendidos, agora é hora de realmente fazê-lo.

  1. Abra o Active Directory Users And Computers e clique em Visualizar no menu superior e certifique-se de que Recursos Avançados esteja ativado. Quando você ativar os recursos avançados, verá todas as UOs normalmente ocultas, conforme mostrado na captura de tela a seguir.
Hidden OUs

2. Clique com o botão direito do mouse na UO da qual você deseja remover os direitos estendidos e clique em Propriedades.

Right Click OU to Remove

3. Clique na guia Segurança e depois clique no botão Avançado.
4. Encontre a conta ou grupo para os quais deseja remover os direitos estendidos e remova selecionando e clicando em Remover.

Security Tab for Account Removal

5. Repita essas etapas conforme necessário para todos os princípios com direitos estendidos.

Dando Permissão para Ler e Redefinir a Senha do Administrador Local

Agora que você garantiu que apenas contas apropriadas tenham direitos estendidos, agora você precisa criar dois grupos AD para ler e redefinir a senha do administrador local chamados LAPS Workstations Password Read e LAPS Workstations Password Reset.

Observe que os nomes dos grupos especificados aqui não são obrigatórios. Você pode usar qualquer nome de grupo que desejar.

Com um console PowerShell ainda aberto com sua conta de administrador, digite os seguintes comandos para dar permissão a ambos os grupos AD para ler a senha do administrador local para computadores na UO Estações de Trabalho.

PS> Set-AdmPwdReadPasswordPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' -AllowedPrincipals "LAPS Workstations Password Read"

PS> Set-AdmPwdResetPasswordPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' -AllowedPrincipals "LAPS Workstations Password Reset" 

Você agora habilitou os grupos AD acima para ler e redefinir as senhas de administrador local para computadores na OU Estações de Trabalho. Agora você precisa adicionar os administradores ou grupos necessários para ler ou redefinir as senhas.

Criando um Armazenamento Central para modelos de Política de Grupo

Para o LAPS se habilitar após instalado nos computadores, primeiro crie uma política de grupo importando os modelos de política de grupo para o armazenamento PolicyDefinition. O armazenamento PolicyDefinition é uma pasta localizada em todos os controladores de domínio.

Nunca habilite uma GPO do LAPS que tenha como alvo os controladores de domínio. Isso não é suportado e pode causar problemas inesperados.

  1. Escolha um controlador de domínio no AD; qualquer controlador de domínio funcionará.
  2. Garanta que um \\contoso.com\SYSVOL\Policies\PolicyDefinitions exista. Se não existir, crie agora.
  3. Copie o conteúdo de C:\Windows\PolicyDefinitions no seu computador de administração (aquele em que você instalou o LAPS) para a pasta \\contoso.com\SYSVOL\Policies\PolicyDefinitions no controlador de domínio.

Criando a GPO

Agora vamos copiar os modelos de GPO do LAPS para o Armazenamento Central (pasta PolicyDefinitions).

  1. Abra a Gerência de Política de Grupo com sua conta de administrador, clique com o botão direito na UO na qual deseja habilitar o LAPS e clique em Vincular uma GPO Existente…
Group Policy Management

2. Navegue até Configuração do Computador —> Modelos Administrativos —> LAPS e defina Habilitar gerenciamento de senha de administrador local como Habilitado. Se você tiver requisitos diferentes para Complexidade da Senha, edite as Configurações de Senha de acordo.

Linking GPO to all OUs

Você está quase lá! Agora vincule essa GPO a todas as UOs nas quais deseja usar o LAPS.

Implantando a extensão de GPO do LAPS

Depois que a GPO for aplicada a todas as UOs aplicáveis com computadores nelas, agora você precisa implantar a extensão de GPO do LAPS. Você tem algumas maneiras diferentes de instalar essa extensão, seja instalando o MSI (como mostrado anteriormente) ou registrando o arquivo DLL do LAPS.

Se você optar por instalar o MSI, em cada computador dentro de uma UO controlada pelo LAPS, execute o seguinte comando para habilitar o LAPS.

> msiexec /q /i \\server\share\LAPS.x64.msi

Se você optar por habilitar o LAPS registrando o DLL, você pode fazer isso com o seguinte comando.

> regsvr32.dll \\server\share\AdmPwd.dll

Você pode usar qualquer ferramenta de execução remota que tiver para executar esses comandos nos computadores.

Implantando o MSI do LAPS com uma GPO

O uso de uma GPO é o método mais fácil para garantir que a extensão de GPO do LAPS seja instalada em todos os computadores.

  1. Copie o arquivo LAPS.x64.msi para um compartilhamento de rede acessível por todos os Computadores do Domínio.
  2. Abra o Gerenciamento de Política de Grupo no seu computador de administração e crie uma GPO chamada Instalar LAPS ou algo semelhante.
Creating GPO called Install LAPS

3. Clique com o botão direito na GPO Instalar LAPS, clique em Editar e vá para Configuração do Computador —> Políticas —> Configurações de Software —> Instalação de Software.

LAPS GPO Software Installation

4. Clique com o botão direito em Instalação de Software e vá para Novo—> Pacote…

GPO New Package

5. Vá para o compartilhamento onde você copiou o arquivo LAPS.x64.msi, selecione-o, clique em OK e escolha Atribuído.

Assigning LAPS.x64.msi

6. Agora vincule a GPO às mesmas UOs que você configurou para o LAPS. Você está pronto para testar o LAPS!

Testando o LAPS

Para garantir que o LAPS está funcionando conforme projetado nos computadores controlados, force um dos computadores a aplicar a GPO mencionada e veja o que acontece.

  1. Reinicie um computador que está localizado em uma das UOs que você acabou de configurar. Uma vez reiniciado, o computador deve começar a instalar o LAPS.
  2. Depois que o LAPS for instalado no computador, reinicie a máquina novamente e abra um console do PowerShell como administrador no seu computador de administração como uma conta que é membro dos grupos do AD LAPS Workstation Password Read e LAPS Workstation Password Reset.
  3. Execute o comando Get-AdmPwdPassword <nome_do_computador> usando o nome do computador que você acabou de reiniciar e instalar o LAPS. Se tudo correu bem, você verá algo semelhante à saída na captura de tela a seguir.
LAPS Installation Output

4. Agora tente fazer login no computador controlado pelo LAPS com a senha exibida acima. Se funcionar, você terá acesso.
5. Agora tente redefinir a senha executando o comando Reset-AdmPwdPassword <nome_do_computador> e reinicie o computador. Veja como as senhas são alteradas na captura de tela a seguir.

LAPS Password Reset

Agora você tem o LAPS funcionando em seu ambiente. E embora a administração seja bastante fácil, há algumas coisas que você deve saber…

Dicas e truques para usar o LAPS de verdade

Embora a configuração mencionada acima seja suficiente para a maioria dos ambientes menores, ela pode ser muito insegura ou não oferecer o nível de auditoria necessário para organizações maiores. Aqui estão algumas dicas para fazer funcionar no mundo real.

1. Ative a auditoria

A auditoria quando alguém lê ou redefine uma senha é importante, especialmente considerando que você pode configurar alarmes para isso se alguém ler a senha de todos os computadores. Felizmente, o módulo AdmPwd nos fornece um cmdlet para habilitar essa função.

PS> Set-AdmPwdAuditing -AuditedPrincipals Everyone -OrgUnit "OU=Workstations,DC=contoso,DC=com"

2. Certifique-se de que nenhum usuário possa ler diretamente o atributo AD ms-mcs-AdmPwd.

Uma maneira de garantir que um usuário não consiga ler o atributo ms-mcs-AdmPwd do AD é criar um método de autoatendimento para obter a senha de administrador local de um computador. Embora fora do escopo deste artigo, verifique ferramentas como JEA ou WebJEA se você não tiver um portal de autoatendimento existente adequado para isso.

3. Redefinir o Atributo Ms-Mcs-AdmPwdTime Durante a Imagem do Disco

Você deve se lembrar de redefinir o atributo Ms-Mcs-AdmPwdTime ao reimager um computador controlado pelo LAPS, caso contrário, não acionará a alteração de senha e manterá a senha de administrador local fornecida pela imagem. No entanto, ele será acionado após o vencimento do Ms-Mcs-AdmPwdTime.

Você pode usar o seguinte comando do PowerShell para redefinir o ExpirationTime sem o módulo AdmPwd:

# Com RSAT
Get-ADComputer Workstation1 | Set-ADObject -Replace @{"ms-mcs-AdmPwdExpirationTime"=(Get-Date)} 

# Sem RSAT
$Computer = New-Object DirectoryServices.DirectoryEntry "LDAP://CN=Workstation1,OU=Workstations,DC=contoso,DC=com"
$Computer.'ms-Mcs-AdmPwdExpirationTime'.Clear()
$Computer.CommitChanges()

4. Lembre-se de que o Atributo ms-Mcs-AdmPwd Permanece na Lixeira do AD

Ao excluir um objeto no AD e ter a Lixeira do AD ativada, o AD geralmente remove atributos importantes; felizmente, o ms-Mcs-AdmPwd está protegido contra isso!

5. O LAPS não é para Acesso Temporário

Embora seja tentador, o LAPS não se destina a fornecer acesso temporário a fornecedores, usuários e outros tipos de contas. Em vez de usar o LAPS, use um grupo do AD que seja administrador local desse computador específico e use \texttt{TimeToLive on group memberships.} \texttt{

Conclusão

} Agora você aprendeu como implantar o LAPS, configurar suas permissões e algumas dicas e truques para torná-lo mais seguro. Em um ambiente onde o LAPS está implantado, a senha do administrador local muda regularmente e automaticamente. Isso reduz significativamente os riscos de um computador associado ao domínio ser invadido por hackers ou malware e, esperançosamente, evita muitas dores de cabeça. \texttt{

} Se você tiver alguma dúvida, sinta-se à vontade para me enviar um tweet para @AlexAsplund ou deixar um comentário abaixo.

Source:
https://adamtheautomator.com/microsoft-laps/