Hora de auditar quem desligou ou reiniciou o servidor (dica do MCT) - Auditoria com PowerShell no Windows Server 2016



Você já se perguntou para onde vão os logs de reboot e desligamento de seu servidor? Aquela janelinha que sempre aparece após um desligamento forçado (famoso dedoof). Pois bem, tais dados acabam indo para o visualizador de eventos do Windows sob uma série de eventos. Em algum momento pode ser necessário descobrir quem desligou ou reiniciou um servidor, além de seu dia e horário específicos.  

A auditoria de servidores é extremamente importante e necessária em diversas empresas, então, vale como dica um formato bem simples de gerar evidências utilizando os logs do visualizador de eventos de forma rápida e fácil. Logicamente este comando em PowerShell server também para outros Event ID´s disponíveis e não só para desligamentos inesperados.

Separei uma lista de Event ID´s  que você deve conhecer para auditar questões relacionadas a reboots e desligamentos. O comando em PowerShell abaixo identifica e registra através de um log.txt os eventos de desligamento, quem fez o desligamento e o horário de desligamento (ou reboot). 

Event ID´s: 

***********************************************************************************

Evento ID 6005: "O serviço de log de eventos foi iniciado." Isso é sinônimo de inicialização do sistema. 

Evento ID 6006: "O serviço de log de eventos foi interrompido." Isso é sinônimo de desligamento do sistema. 

Evento ID 6008: "O encerramento sistema anterior foi inesperado." Registros que o sistema iniciou depois que ele não foi desligado corretamente. 

Evento ID 6009: indica o nome de produto do Windows, versão, número de compilação, número do service pack e tipo de sistema operacional detectado durante o tempo de inicialização. 

Evento ID 6013: Exibe o tempo de atividade do computador. 

Evento ID 1074: "O processo X iniciou a reinicialização / desligamento do computador em nome do usuário Y pelo seguinte motivo: Z." Indica que um aplicativo ou um usuário iniciou um reinício ou desligamento. 

Evento ID 1076: "O motivo fornecido pelo usuário X para o último encerramento inesperado deste computador é: Y." Regista quando o primeiro utilizador com privilégios de encerramento inicia sessão no computador após um reinício ou encerramento inesperado e fornece uma razão para a ocorrência. 

Abaixo é possível ver o resultado da aplicação do comando Get-EventLog System pelo PowerShell. O comando é relativamente simples e segue com iníco Get-EventLog System | Where-Object {$_.EventID seguido por cada Event ID (que pode ser concatenado com o parametro -or $_.EventID -eq "número do evento"). No final faremos com que os dados do comando sejam salvos em um arquivo de extensão .txt com o > c:\LogShutdown.txt.

Lembre-se que o sinal > faz com que os dados sejam adicionados ao arquivo LogShutdown.txt substituindo o conteúdo por dados mais recentes. Se você quiser manter o histórico de atividades, em vez de um > digite dois >> (exemplo >> c:\LogShutdown.txt).

***********************************************************************************
Get-EventLog System | Where-Object {$_.EventID -eq "1074" -or $_.EventID -eq "6008" -or $_.EventID -eq "1076" -or $_.EventID -eq "6005" -or $_.EventID -eq "6006" -or $_.EventID -eq "6009"} | ft Machinename, TimeWritten, UserName, EventID, Message -AutoSize -Wrap > c:\LogShutdown.txt

***********************************************************************************


  

6 Comentários

Comente sem faltar com respeito - ;-)

Postagem Anterior Próxima Postagem