Olá pessoal, tudo bem?
Hoje o assunto é sério, vamos falar sobre segurança em ambiente de tecnologia da informação, mais precisamente o usuário administrador local, todo sistema operacional Windows possui este usuário chamado administrador em inglês administrator. Este usuário fica em Gerenciamento do Computador (Computer Management). Um erro que todo administrador de T.I faz na sua organização (empresa) e colocar a senha de administrador igual para todos os computadores, como isso facilita o famoso ataque de movimento lateral, no qual o invasor com a mesma senha do administrador local, vai acessando os computadores até chegar o computador alvo do invasor. Este tipo de invasão está muito bem explicado neste documento da Microsoft postado aqui.
Solução
Vamos usar o LAPS (Local Administrator Password Solution) fornece gerenciamento de senhas de contas locais de computadores ingressados no domínio. As senhas são armazenadas no Active Directory (AD) e protegidas pela ACL; portanto, somente usuários qualificados podem lê-la ou solicitar sua redefinição.
Sistema operacional suportado
Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 e Windows Server 2019.
Download do instalador do LAPS
Primeiro devemos baixar neste link aqui o instalador .msi do LAPS e instalar no Controlador de Domínio (Domain Controller). No meu exemplo eu tenho um Controlador de Domínio instalado no Windows Server 2019.
Durante a configuração é importante selecionar todos os recursos, caso contrário, apenas as extensões do lado do cliente (que também são necessárias para os clientes) serão instaladas conforme demostrado na imagem abaixo.
Modificando o Active Directory Schema
Dois atributos devem ser adicionados aos objetos do computador:
- msMcsAdmPwd
- msMcsAdmPwdExpirationTime
Ambos os atributos podem ser criados usando comandos LAPS no PowerShell. O usuário deve ser membro do grupo Active Directory Schema Admins (Em inglês) ou Administradores de esquema (Em português). Abra o PowerShell como Administrador e execute os seguintes comandos:
1 2 3 |
Import-Module AdmPwd.PS Update-AdmPwdADSchema |
Configurando permissões
Os computadores de domínio devem ter permissões de gravação para renovar a senha do administrador local. No meu exemplo, concedo acesso a todos os computadores da Unidade Organizacional “Desktops“.
Abra o PowerShell como Administrador e execute o seguinte comando:
1 |
Set-AdmPwdComputerSelfPermission -Identity Desktops |
Agora temos que configurar permissões de grupo ou usuário. Todos os membros do grupo ou usuário poderão ler a senha local de cada computador de formar centralizada. Concedendo “ler permissão de senha” para o grupo de Administradores do Domínio.
Você pode escolher qualquer grupo ou usuário do AD para ter este privilégio, você pode, por exemplo, criar um grupo no AD e incluir os usuários do AD que sãos os seus colaboradores do suporte de sua organização para ter a permissão de leitura de senha.
Abra o PowerShell como Administrador e execute o seguinte comando:
1 |
Set-AdmPwdReadPasswordPermission -OrgUnit Desktops -AllowedPrincipals "Administradores do Domínio" # Português |
Se seu Windows tiver no idioma inglês execute o comando abaixo:
1 |
Set-AdmPwdReadPasswordPermission -OrgUnit Desktops -AllowedPrincipals "Domain Admins" # Inglês |
Em seguida, configuramos o direito de redefinir a senha da conta do administrador local. Como antes, eu permito isso para todos os membros do grupo Administradores do Domínio. Você pode escolher qualquer grupo ou usuário do AD para ter este privilégio.
Abra o PowerShell como Administrador e execute o seguinte comando:
1 |
Set-AdmPwdResetPasswordPermission -OrgUnit Desktops -AllowedPrincipals "Administradores do Domínio" # Português |
Se seu Windows tiver no idioma inglês execute o comando abaixo:
1 |
Set-AdmPwdResetPasswordPermission -OrgUnit Desktops -AllowedPrincipals "Domain Admins" # Inglês |
Instalação do LAPS
Antes de instalar verifique na imagem abaixo o que cada componente na instalação .msi do LAPS faz. A atenção a opção 1 deve ser marcada sempre que for instalar em um computador que deseja gerenciar, as demais opções são opcionais.
Instalando LAPS nos Computadores clientes manualmente
Para usar o LAPS, as extensões de GPO AdmPwd devem ser instaladas em todos os computadores clientes. Isso pode ser feito manualmente ou via GPO. No meu caso, instalo manualmente a ferramenta usada anteriormente em um sistema Windows 10. Tudo o que você precisa fazer é instalar apenas as extensões do lado do cliente.
Instalando LAPS nos Computadores clientes usando a instalação do software de Diretiva de Grupo
Seria um trabalho complicado instalar o LAPS em 1.000 computadores, mas podemos resolver este problema através de uma Diretiva de Grupo, usando a GPO de instalação de software.
Crie uma pasta e um compartilhamento de pasta
Primeiro, temos que criar uma pasta e colocar os arquivos de instalação nela. Tudo o que precisamos é Powershell e o pacote de instalação .msi. Crie a pasta.
Para criar uma pasta no servidor e abra o PowerShell como Administrador e execute o seguinte comando:
1 |
New-Item -Itemtype Directory -Name LAPS -Path C:\ |
Observação: Cria a pasta e o compartilhamento de pasta em um servidor que esteja ingressado no seu domínio. Outra observação que devemos estar atendo e sobre o pacote de instalação .msi, você deve verificar se as suas estações de trabalho são x64 ou x86 e baixar o pacote de instalação .msi correto.
Uma vez criada a pasta, ative o compartilhamento.
Para ativar o compartilhamento de pasta no servidor e abra o PowerShell como Administrador e execute o seguinte comando:
1 |
New-SmbShare -Name LAPS -Path C:\LAPS\ |
Agora copie o pacote de instalação para a pasta.
Configure um GPO para instalação de software
Em um controlador de domínio, abra o console de Gerenciamento de Políticas de Grupo (gpmc.msc). Crie uma nova GPO.
Clique com o botão direito em Objetos de Políticas de Grupo, depois clique em Novo.
Forneça um nome para o GPO.
Clique em Editar.
Navegue até Configuração do Computador – Políticas – Configurações de Software. Clique direito em Instalação de software e selecione Novo – Pacote.
Agora temos que colocar o caminho do arquivo .msi da instalação do LAPS, conforme demostrado na imagem abaixo:
Observação: Preste atenção ao caminho. Você tem que fornecer o Caminho UNC da pasta compartilhada previamente configurada. Não comece a navegar no computador para encontrar o pacote! Digite o caminho para a pasta manualmente usando o formato:
\\NomedoServidor\PastaCompartilhada\LAPS.x64.msi e clique em Abrir.
Em seguida, selecione Atribuído e depois em OK.
Este é o resultado final.
Agora basta vincular a GPO LAPS Instalação na Unidade Organizacional (OU) dos seus computadores, neste exemplo e a OU Desktops.
Execute o comando gpupdate /force em uma das estações de trabalho e marque Sim para reiniciar o computador.
Agora verifique se o LAPS foi instalado nas estações de trabalho, para isso basta acessar em Painel de Controle, depois em Desinstalar um programa.
Vamos às configurações finais.
Ativando o LAPS em todos os computadores clientes
Em um controlador de domínio, abra o console de Gerenciamento de Políticas de Grupo (gpmc.msc). Crie uma nova GPO.
Clique com o botão direito em Objetos de Políticas de Grupo, depois clique em Novo.
Forneça um nome para o GPO.
Clique em Editar.
Navegue até Configuração do Computador – Políticas – Modelos Administrativos definições de políticas (arquivos ADMX) recuperadas do computador local. Clique em Enable local admin password management e selecione Habilitado.
Em seguida, vincule o GPO à Unidade Organizacional.
Execute o comando gpupdate /force em todos os computadores clientes, você pode fazer isso remotamente também, como demostrado neste artigo meu postado aqui.
Mostrando senhas do administrador local
No servidor Controlador de Domínio (Domain Controller) abra o LAPS.
Para verificar senha do administrador local, basta digitar o hostname do computador.
Também podemos utilizar o Powershell como alternativa para verificar a senha do usuário administrador local do computador. Para isso execute o Powershell como administrador e execute o seguinte comando:
1 2 3 |
Import-Module AdmPwd.PS Get-AdmPwdPassword -ComputerName W10-1 | Format-List |
Configurações avançadas
Alterar políticas de senha.
Com o LAPS você pode impor as políticas de senha do administrador local. Abra o GPO criado anteriormente e configure as configurações apropriadas para o seu ambiente de TI.
Password Settings (Configurações da senha)
Configura parâmetros de senha.
Complexidade da senha: quais caracteres são usados ao gerar uma nova senha.
Padrão: letras grandes + letras pequenas + números + caracteres especiais.
Comprimento da senha.
Mínimo: 8 caracteres.
Máximo: 64 caracteres.
Padrão: 14 caracteres.
Idade da senha em dias.
Mínimo: 1 dia.
Máximo: 365 dias.
Padrão: 30 dias.
Name of administrator account to manage (Nome da conta de administrador para gerenciar)
Nome da conta do administrador: nome da conta local para a qual você deseja gerenciar a senha.
Não configure quando você usa uma conta de administrador interna. A conta de administrador interna é detectada automaticamente pelo SID conhecido, mesmo quando renomeado.
Configure quando você usa uma conta de administrador local personalizada.
Do not allow password expiration time longer than required by policy (Não permita tempo de expiração de senha mais longo do que o exigido pela política)
Quando você habilita essa configuração, a expiração planejada da senha maior que a idade da senha ditada pela política “Configurações da senha” Não é permitida. Quando essa expiração é detectada, a senha é alterada imediatamente e a expiração da senha é definida de acordo com a política.
Quando você desativa ou não define essa configuração, o tempo de expiração da senha pode ser maior que o exigido pela diretiva “Configurações da senha”.
Nesta demonstração utilizei todas as configurações do LAPS.
Script
Abaixe aqui no meu GitHub todos os comandos utilizados neste artigo.
Referência
Mais informações sobre o LAPS aqui.
Inscreva-se no meu canal do YouTube!
Há 10 anos atuo na área de TI focado em suporte e administração de infraestrutura, especializado em plataformas Microsoft. Tenho grande experiência em troubleshooting, implantação, configuração e administração de funções e recursos de tecnologia Microsoft. Formado em Redes de Computadores pela faculdade Estácio de Sá de Belo Horizonte.
Comecei a compartilhar o meu conhecimento no ano de 2012, fazendo artigos e vídeos para o meu Blog. Em 2017 comecei a escrever artigos para o portal Cooperati.
Sou apaixonado em compartilhar o meu conhecimento. Meu lema é: um conhecimento só é válido quando compartilhado.
14 Responses
Olá Gabriel!
Implementei o LAPS pois estava querendo algo parecido e estava batendo a cabeça com vbs, mas aconteceu o seguinte, em uma estação que estou usando para homologação. Tenho um adm personalizado e o administrador padrão (desabilitado), só que a senha foi alterada somente no administrador padrão mesmo usando a diretiva “name of administrator account to manage” com o nome do meu adm personalizado. Como devo proceder?
Boa tarde. Muito obrigado por prestigiar o meu trabalho. Nunca tive este tipo de problema. Recomendo usar o administrador local padrão, deletando o usuário administrador local personalizado. Execute mais teste, para verificar o que está acontecendo em seu ambiente, em meu laboratório não tive este tipo de problema.
Boa Tarde,
Estou enfrentando a mesma dificuldade que você reportou, conseguiu encontrar alguma alternativa ? Desde já agradeço
Boa tarde. Qual seria a sua dificuldade?
Muito bacana o artigo, deu certo colocando usuário Administrador da maquina local, se tiver um usuário já cadastrado mesmo inserindo na GPO para gerenciar infelizmente não dá certo.
Bom dia! Muito obrigado por prestigiar o meu trabalho. Fico muito feliz por ter lhe ajudado com o meu conhecimento.
Gabriel muito bom o seu artigo, eu fiz instalação do Laps, porem no momento que crio a politica e edito ela nao esta aparecendo a pasta LAPS, para que eu possa definir a politica, o que sera que esta ocorrendo, a instalação nao apresentou erros.
Boa noite. Muito obrigado por prestigiar o meu trabalho. Não entendi a sua pergunta, quando você fala pasta seria a opção seria na criação da GPO conforme imagem (https://i1.wp.com/gabrielluiz.com/wp-content/uploads/2020/04/laps-17.gif) passo Ativando o LAPS em todos os computadores clientes do meu artigo?
Bom dia, Gabriel.
Já fiz a implantação do LAPS em alguns clientes e ocorreu tudo certo, porém um cliente, eu instalo e quando vou em GROUP POLICY/administrative Teamplates não aparece a pasta LAPS criada la para configuração das politicas. O que pode ser?
Boa noite. Muito obrigado por prestigiar o meu trabalho. Este problema ocorre porque os modelos administrativos são baseados em repositório central, ao instalar os arquivos ADMX e ADML do LAPS vão parar no local c:\Windows\PolicyDefinitions e não no repositório central.
A solução estar neste link: https://t.me/winsrvgpos/42101 (Telegram)
Testa e depois envie o seu feedback aqui, por favor.
Bom dia Grabriel, excelente artigo. Estava procurando isso para implantar na empresa em que eu trabalho. Porém estou enfrentando uma dificuldade para rodar o comando “Update-AdmPwdADSchema” no meu ambiente com Server 2008 R2, power Shell 5.0. Aparece o seguinte erro:
An operation error occurred.
+ CategoryInfo : NotSpecified: (:) [Update-AdmPwdADSchema], DirectoryOperationException
+ FullyQualifiedErrorId : System.DirectoryServices.Protocols.DirectoryOperationException,AdmPwd.PS.UpdateADSchema
Porém o usuário já faz parte do grupo Enterprise Admins e Schema Admins.
Bom dia. Muito obrigado por prestigiar o meu trabalho.
No momento de executar o comando Update-AdmPwdADSchema pelo Powershell você está executando o Powershell como administrador. Sugiro executa o comando com usuário Administrador do domínio para não ter erro.
Se quiser discutir mais sobre este problema entre lá no meu grupo do Telegram. https://t.me/gabrielluizbrasil
Ao entrar responda as perguntas de segurança do grupo.
Ola,
Gabriel, obrigado por compartilhar conhecimento ! Me ajudou muito esse post !
Boa tarde. Muito obrigado por prestigiar o meu trabalho. Fico muito feliz por ter lhe ajudado com o meu conhecimento.