Auditoria no Windows
Configurando o seu servidor para realizar auditoria de arquivos
Obs: A politica acima é para ser criada no Windows Server 2008 no 2003 o caminho é diferente:
Pronto já habilitamos o servidor para que ele possa realizar auditorias, mas ele não está auditando nada ainda, para isso precisamos definir o que será auditado no nosso caso queremos que ele audite os acessos indevidos a pastas e os arquivos apagados com sucesso.
Para isso logue com uma conta com direitos administrativos no servidor onde a auditoria foi habilitada, vá até a pasta onde ela será realizada e clique com o botão direito nela e depois em “Properties” (Propriedades) e após na aba “Security” (Segurança), em seguida em Advanced (Avançado).
Clique na aba “Auditing” (Auditoria), aparecerá uma tela perguntando se você está logado com um usuário com direitos administrativos e pergunta se quer continuar então clique em continue.
Obs: No Windows Server 2003, esse passo não existe.
Na tela seguinte clique em add (adicionar) para definir as regras da auditoria, ou seja o que deve ser auditado.
A seguir aparecerá uma tela pedindo qual usuário será auditado, no nosso caso queremos que ele faça uma auditoria de todos os usuários, então digite o nome “everyone” (todos) e clique em “Ckeck Names” (Checar nomes) e depois em OK
Após, aparecerá uma tela pedindo o que quer ser auditado, no nosso caso os arquivos que são deletados com sucesso e os arquivos com falha de leitura(sem acesso), então marque a opção “delete” na coluna “Successfull” (sucesso) e “List Folder/ Read Data” (Listar Pasta / Ler Dados) na coluna “Failed” (Falha).
Dica: Não marque todas as opções, pois a visualização da auditoria ficará comprometida, isso será explicado mais a frente.
Pronto agora a auditoria já está habilitada e configurada o próximo passo e visualizar.
Visualizando os logs de auditoria
Agora que o seu servidor está preparado para auditar, como podemos visualizar os dados que necessitamos? A ferramenta é simples de usar e todos nós conhecemos que o: Event Viewer ou Visualisador de Eventos, com ele basta ir nos logs de segurança (security) para verificar o que precisamos, porém é uma tarefa difícil verificar essas informações por ele, por um simples motivo que mostrarei na imagem abaixo:
Notaram que ele gera inúmeras informações e até você achar o que precisa, tendo que verificar entrada por entrada para descobrir o que quer é chato. Se você já sabe o que procura, você pode fazer um filtro e ele já te retorna os valores que quer, no nosso caso queremos descobrir quem deletou um arquivo e quem tentou acessar um arquivo não permitido.
Nota: Quando foi falado acima para não marcar todas as opções foi justamente por causa das inúmeras informações que são gravadas nos logs, se caso deixasse tudo habilitado seu log ia estourar rapidamente.
Para verificar o arquivo deletado basta filtrar pelo evento 4663 e ele te informará quem deletou o arquivo e que horas, conforme imagem abaixo:
Nota: No Windows Server 2003 o evento é o 560.
Neste caso o usuário suporte deletou o arquivo Documento Teste no dia 07/04 as 22:09
E para verificar acesso indevido, tem que filtrar dois eventos o de número 4656 e 5145, o primeiro fala de acesso indevido via acesso local e o segundo via rede, mas ambos dão os mesmos detalhes como mostra a imagem abaixo:
Neste caso o usuário Teste2 tentou acessar a pasta teste e não conseguiu por não ter acesso.
Informação contida onde está marcado de vermelho na imagem.
Nota: No Windows Server 2003 o evento é o numero 560.
Nota: Tanto no Windows Server 2008 quanto no 2003 a auditoria apresenta em falha..
Isso é uma forma de você visualizar, a outra é através do Powershell, é preferível usá-lo quando quer colocar em um relatório fica bem mais simples, pois você pode transformar a saída em um HTML.
Abaixo segue os dois scripts em powershell para os nossos dois casos:
Arquivos deletados
Windows Server 2008
$a = get-eventlog -logname security -instanceid 4663 |convertto-html -property timegenerated, message
$a = $a| foreach-object {$_ -replace “<table>”, “<table border 2>”}
$a|Out-File “local do arquivo HTML”
Na primeira linha do script ele coleta as informações dos eventos de segurança onde o eventID é 4663 e converte a saída para HTML armazenando somente a Hora Gerada e a Mensagem e coloca o resultado na variável $a.
Na segunda linha ele pega a variável $a e procura pela tag HTML <table> ao acha-la ele troca colocando uma borda nela. (Essa parte é importante pois ao converter a saída do comando para HTML ele vem sem borda e a visualização no arquivo fica ruim.)
Na terceira linha o resultado dentro de $a é gravado dentro de um arquivo. (Onde está escrito “local do arquivo HTML” coloque o local onde quer armazenar o arquivo, por exemplo ‘C:\resultado\auditoria.html”
Windows Server 2003
$a = get-eventlog -logname security -instanceid 560 –message “*Delete*” |convertto-html -property timegenerated, message
$a = $a| foreach-object {$_ -replace “<table>”, “<table border 2>”}
$a|Out-File “local do arquivo HTML”
Na primeira linha do script ele coleta as informações dos eventos de segurança onde o eventID é 56º e a mensagem do evento possui a palavra Delete e converte a saída para HTML armazenando somente a Hora Gerada e a Mensagem e coloca o resultado na variável $a.
Na segunda linha e terceira linha é a mesma coisa do script acima.
Acesso indevido
Windows Server 2008
$a = get-eventlog -logname security -entrytype failureaudit -message “*file*” |convertto-html -property timegenerated, message
$a = $a| foreach-object {$_ -replace “<table>”, “<table border 2>”}
$a|Out-File “local do arquivo HTML”
Na primeira linha do script ele coleta as informações dos eventos de segurança onde os tipos são Falhas de Auditoria e na mensagem existe a palavra “file” (comum em ambos os eventos falados acima) e converte a saída para HTML armazenando somente a Hora Gerada e a Mensagem e coloca o resultado na variável $a.
Windows Server 2003
$a = get-eventlog -logname security -entrytype failureaudit –instanceid 560 |convertto-html -property timegenerated, message
$a = $a| foreach-object {$_ -replace “<table>”, “<table border 2>”}
$a|Out-File “local do arquivo HTML”
Na primeira linha do script ele coleta as informações dos eventos de segurança onde os tipos são Falhas de Auditoria e o eventID é o 560 e converte a saída para HTML armazenando somente a Hora Gerada e a Mensagem e coloca o resultado na variável $a.
Na segunda linha e terceira linha de ambos é a mesma coisa do script de arquivo deletado.
Lembre-se: Para criar um script em Powershell você tem que salvar o arquivo com a extensão .ps1.
Nota: Geralmente os scripts de powershell não são habilitados para execução por padrão para isso antes de executar os scripts acima, rode o comando Set-ExecutionPolicy Unrestricted
Lembrete: O Powershell não vem instalado no Windows Server 2003, para isso tem que baixar e instalar o mesmo.
Com isso verificamos como habilitar, configurar uma auditoria no Windows Server 2003 e 2008 e verificarmos como anda o acesso a arquivos em nossa rede, porém a auditoria de arquivos é somente uma parte das ferramentas de auditoria no Windows, existem outras tais como a auditoria de logon em máquina, para mais informações acesso o link: http://technet.microsoft.com/pt-br/library/cc779526(v=ws.10).aspx
_______________________________________________________________
Artigo enviado pelo colaborador Laerte Costa,
ele é Analista de Suporte com experiência na área, possui Certificação Microsoft Certified System Administrator (MCSA) e pode ser contatado nas redes sociais pelos seguintes endereços: twitter: @laerte_hc, facebook: facebook.com/laerte.henrique
Vida Longa e Próspera! Eu sou o Rafael, um empreendedor em TI com uma vontade louca de transformar profissionais de TI em vencedores! Tenho todas as principais certificações técnicas que preciso e também sou premiado pela Microsoft como MVP (Most Valuable Professional) por 7 anos! Depois dá uma olhadinha na minha página do Facebook, fb.com/bernardes.rafael, lá eu realizo Lives todos os dias!
Rafael, show de bola esse post. Gostei muiiiito ! Legal mesmo!!
Muito bom, aprendir mas uma, so nao sei usar o powershell . mas parabens.
Mestre, este post me ajudou a resolver um pequeno problema que tenho no trabalho. Um abraço.
Laércio muito obrigado. Bem completo esse material. Com certeza irei aplicá-lo em meu ambiente.
Abs.
Excelente post Rafael,
Usou a auditoria de arquivos deletados, que vi num video se nao me engano, que vc já fez!!!
Me ajudou muito.
Esse post agora completa ainda mais!!!!
Abração
Isso, eu já havia feito um vídeo disso.
Mas o nosso amigo complementou, de maneira excelente!
Muito bom, mas não pode deixar de lembrar a rotatividade dos logs, pois por padrão no 2008 o tamanho máximo do arquivo de log é 20480. Provavelmente você não auditara logs com mais 2 dias.
ótimo post Rafael
Como sempre cooperati se superando a cada dia que passa.
Acho que vocês podem fazer uns artigos sobre powershell, muita gente ainda tem dúvida sobre isso de como começar a criar scripts em powershell e tudo está se encaminhando cada vez mais para ele, portanto seria algo legal.
Abraço as amigos da cooperati
Powershell é uma boa!
Que tal uma vídeo aula? Desde o zero, instalação e configuração de funções, todas pelo PowerShell?
Concordo !!!
Concorda com o que?
Grande Rafael,
boa ideia de fazer um vídeo sobre powershell, seria ótimo mesmo. fico no aguardo, ancioso. “vídeo aula na qualidade de Rafael Bernardes” é show de bola!! como diz um bom pernambucano “Suas videos Aulas é arretado de bom” “é massa” rs rs
Power shell é uma ótima idéia.
Vou querer vídeo aulas, desde o zero, instalação e configuração de funções, todas pelo PowerShell…………………bernardes …………..tenho certeza que o pessoal iria gostar.
Abs
[…] Super dica do pessoal do Cooperati, escrito pelo Rafael Bernades […]
Como sempre ótimo artigo.
Irei implementar em meus Labs isso e logo em Produção.
Assisti o vídeo sobre auditoria de arquivos do windows server 2008. Muito bom!
Estou com dificuldade na implantação. Havia feito por GPO e depois desabilitei porque tenho apenas um domain e fiz localmente.
Outra GPO que preciso habilitar é remover a permissão administrativo do usuário para instalar software.
Os usuários estão distribuidos da seguinte forma:
Grupo PAI que contem todos os sub grupos e vários sub grupos GG.
Pode me ajudar?