Criar Relatórios de Segurança do Active Directory com PowerShell

Proteger um ambiente de Active Directory (AD) é essencial por vários motivos. Antes de tudo, Active Directory é um componente central das redes de muitas organizações e contém uma riqueza de informações confidenciais sobre usuários, computadores e outros recursos de rede. Se essas informações caíssem em mãos erradas, elas poderiam ser usadas para comprometer a segurança de toda a rede.

Este artigo discute diferentes maneiras de proteger nosso ambiente de Active Directory com PowerShell.

Vamos começar criando relatórios de segurança do Active Directory com o PowerShell.

Criar relatórios de segurança do Active Directory com o PowerShell

Pré-requisitosAlguns dos comandos deste artigo usarão comandos de Active Directory. Assim, neste artigo, precisaremos instalar os componentes necessários:

Alguns dos comandos deste artigo usarão comandos Active Directory. Portanto, neste artigo, precisaremos instalar os componentes pré-requisitos:

Antes de começarmos, verifique se temos os pré-requisitos acima e importar o módulo do Active Directory usando o trecho abaixo.

Install-Module ActiveDirectory
Import-Module ActiveDirectory

Métodos Diferentes para Segurança do Active Directory

Existem várias maneiras de como proteger nosso ambiente do Active Directory. Na próxima seção, discutiremos algumas maneiras de como proteger nossa infraestrutura do Active Directory.

Aplicando Políticas de Senha e Bloqueio de Conta Granulares

De um modo geral, o Active Directory inclui uma política de senha por padrão. No entanto, os administradores também estabelecem políticas de senha mais rigorosas e políticas de bloqueio de conta. Esse processo nos permite colocar senhas mais seguras e configurações de bloqueio de conta para contas privilegiadas.

Use as seguintes linhas de PowerShell para criar uma política de senha e bloqueio de conta refinada em um sistema com o Módulo AD para Windows PowerShell instalado e importado.

Script de Política de Bloqueio:

New-ADFineGrainedPasswordPolicy PolicyName -ComplexityEnabled $true -LockoutThreshold "3" -MaxPasswordAge "30.00:00:00" -MinPasswordLength "14" -PasswordHistoryCount "20" -Precedence "1" -ReversibleEncryptionEnabled $false -ProtectedFromAccidentalDeletion $true

Script de Política de Senha Refinada:

Add-ADFineGrainedPasswordPolicySubject PolicyName -Subjects GroupName

Consulte o atributo msDS-ResultantPSO da conta do usuário para determinar qual política de senha de granularidade fina e política de bloqueio de conta se aplica. Além disso, revela a referência à política de senha envolvida. Para isso, também podemos usar o cmdlet Get-ADUserResultantPasswordPolicy PowerShell.

Gerenciando Instantâneos do Active Directory

Instantâneos para Active Directory podem ser úteis em cenários em que a organização precisa comparar informações de um determinado momento (o momento em que tiramos o instantâneo) com dados de outro ponto no tempo.

A functional Active Directory VSS Writer and the Volume Shadow Copy functionality are required to create an Active Directory snapshot. These features come standard with Windows Server.

Faça login em um Controlador de Domínio (DC) com uma conta de usuário que pertença ao Domain Admins ou Operadores de Backup grupos para trabalhar com snapshots. Após fazer login, abra o Prompt de Comando e tente os seguintes passos.

Para criar um snapshot do Active Directory usando PowerShell, podemos usar o Export-DSSnapshot cmdlet:

Export-DSSnapshot -Path

Depois disso, se você desejar visualizar todos os snapshots do Active Directory usando o PowerShell, podemos usar o Get-DSSnapshot cmdlet:

Get-DSSnapshot -Path

Então, para montar um snapshot do Active Directory usando o PowerShell, usamos o Mount-DSSnapshot cmdlet. Por exemplo, o comando abaixo montará o snapshot com o ID especificado a partir do local especificado:

Mount-DSSnapshot -Path  -Identity

O cmdlet PowerShell acima irá fornecer a localização onde o banco de dados está montado. Para expô-lo como uma Loja LDAP, execute este comando:

dsamain.exe -dpbath "" -LDAPport

Mantenha este comando em execução enquanto desejarmos que o Servidor LDAP esteja operacional. Para pesquisar informações, use o Módulo AD para cmdlets do Windows PowerShell. Insira o parâmetro -Server e o nome do host do servidor e o número da porta, separados por ponto e vírgula, da seguinte forma:

Get-ADComputer -Identity * -Server Localhost:PortNumber

Como alternativa, podemos usar ferramentas adicionais do Active Directory, como ldifde.exe e csvde.exe para transferir informações entre instantâneos e Active Directory. Infelizmente, não há ferramentas nativas disponíveis para realizar este tipo de operação.

Gerenciando Objetos Apagados do Active Directory

No geral, o processo de tombstoning do Active Directory permite que o Controlador de Domínio replique a exclusão. Quando o Lixeira do AD está habilitada, o DC replica os objetos excluídos antes de serem tombstonados.

Nesse estado, podemos ver os objetos excluídos no contêiner Objetos Excluídos. Basicamente, restauramos objetos desse contêiner, incluindo suas associações de grupo e outros atributos, para sua localização original ou um contêiner diferente.

Em um sistema com o Módulo do AD para o Windows PowerShell instalado, use os seguintes comandos do PowerShell para visualizar os objetos AD excluídos para um domínio:

Get-ADObject -IncludeDeletedObjects -Filter *

Além disso, para restaurar um objeto AD excluído, use os seguintes cmdlets do PowerShell em um sistema com o Módulo do Windows PowerShell do AD instalado:

Get-ADObject -Filter { displayName -eq "" } - IncludeDeletedObjects |
Restore-ADObject

Redefinindo a Senha da Conta de Serviço Kerberos no AD

Cada domínio do Active Directory possui sua conta KRBTGT em um ambiente multi-domínio, que todos os controladores de domínio totalmente legíveis utilizam. Além disso, atribuímos contas KRBTGT individualmente a cada controlador de domínio somente leitura.

Comprometer a Conta de Serviço Kerberos resulta em perda de segurança do Kerberos e registro de auditoria.

Certamente, se você deseja redefinir a senha da conta de serviço, entre em um DC com direitos de Administrador de Domínio e execute o seguinte:

Set-ADAccountPassword -Identity (Get-ADUser krbtgt).DistinguishedName -Reset -NewPassword (ConvertTo-SecureString "" -AsPlainText -Force)

Outras maneiras de proteger o ambiente do AD

Existem muitas outras maneiras de proteger um Active Directory, e mencionamos algumas delas. No entanto, levará mais alguns artigos para explicar tudo, então aqui está uma lista de conceitos sobre o que podemos fazer para proteger seu ambiente do Active Directory:

  • Fazer backup e restaurar GPOs e o banco de dados do AD (NTDS)
  • Gerenciar o modo de restauração de Serviços de Diretório (DSRM) senhas em DC.
  • Implementar uma Solução de Senha do Administrador Local (LAPS)
  • Trabalhar com contas de Serviço Gerenciadas em Grupo (gMSA).
  • Usar o Security Configuration Wizard (SCW) para proteger DC.
  • Gerenciar e monitorar o grupo Protegido Usuários.
  • Implementar políticas de autenticação e silos de autenticação para um bom uso Configurar Bloqueio Inteligente da Extranet.
  • e muito mais

Agora, vamos passar para a próxima seção, onde discutimos a exportação de relatórios de Segurança e Auditoria usando o PowerShell.

Criando Relatórios de Auditoria de Segurança do Active Directory Usando PowerShell

A Microsoft introduziu a política de auditoria de segurança avançada no AD há algumas iterações. Essa funcionalidade estende as opções de auditoria em dez categorias:

  • Acesso Global a Objetos Auditoria.
  • Logon de Conta.
  • Gerenciamento de Conta
  • Rastreamento Detalhado. 
  • Acesso ao Serviço de Diretório. 
  • Logon/Deslogar. 
  • Acesso a Objetos. 
  • Mudança de Política.
  • Uso de Privilégios.
  • e Uso do Sistema.

Existem várias opções de auditoria para cada uma dessas categorias. Além disso, a política adiciona entradas no Visualizador de Eventos com a fonte Microsoft Windows segurança auditoria quando habilitado.

Para configurar a política de segurança de auditoria avançada, siga estas etapas:

  1. Abra o Console de Gerenciamento de Política de Grupo.
  2. Navegue até o nó Controladores de Domínio para o domínio onde deseja configurar a política.
  3. Clique com o botão direito do Default Domain Controllers Policy e clique em Editar no menu.
  4. Expanda o Configuração do Computador, clique em Políticas, clique em Configurações do Windows, clique em Configurações de Segurança, clique em Configuração Avançada de Política de Auditoria, clique em Políticas de Auditoria, e então em Acesso DS.

5. Duplique o clique no Configuração de Auditoria do Serviço de Diretório, Alterações.
6. Marque a caixa para configurar os eventos de auditoria e selecione Sucesso e Falha eventos de auditoria.7. Salve as configurações e feche a Tela de Propriedades.8. Feche a Janela do Editor de Política de Grupo de Gerenciamento.

Com o PowerShell, oGet-WinEventCmdlet permite que os auditores do sistema personalizem opções avançadas de filtragem. Por exemplo, o seguinte comando simples de uma linha consultará todos os Logs de Segurança e exportá-los-á para um arquivo CSV como um relatório gerado.

Get-WinEvent -FilterHashtable @{LogName="Security"} | Export-Csv -Path .\Security.csv -NoTypeInformation

O arquivo CSV deve ser semelhante ao seguinte:

Copiar eventos de auditoria dos logs do visualizador de eventos do controlador de domínio para uma solução centralizada de Gerenciamento de Incidentes e Eventos de Segurança (SIEM) é uma prática recomendada.

Obrigado por ler Crie Relatórios de Segurança do Active Directory com PowerShell. Vamos concluir este artigo agora.

Conclusão: Crie Relatórios de Segurança do Active Directory com PowerShell

Além das preocupações de segurança mencionadas acima, conformidade e questões regulatórias podem surgir se um ambiente do Active Directory não estiver adequadamente seguro. Por exemplo, muitas organizações devem atender a padrões específicos de segurança de dados e privacidade. Não garantir a segurança de um Active Directory pode colocá-las em risco de não conformidade e multas potenciais.

Source:
https://infrasos.com/create-active-directory-security-reports-with-powershell/