0
respostas

Faça como eu fiz. (Aula 1)

  1. Acesse os arquivos de logs do sistema syslog e auth.log e verifique seu conteúdo;

Para syslog:

laisvfm@lev:~$ less /var/log/syslog
laisvfm@lev:~$ tail -f /var/log/syslog

Para auth.log:
laisvfm@lev:~$ sudo less /var/log/auth.log

  1. Utilize o comando grep com uma expressão regular para filtrar os logs de erros, falhas e acessos negados do arquivo syslog;

laisvfm@lev:~$ grep -E "fail(ed)?|error|denied|unauthorized" /var/log/syslog

  1. Utilize o comando awk para formatar a saída do comando grep, extraindo apenas as colunas 1, 2, 3 (relacionadas a data) e 5, 6, 7 (que informam o usuário ou serviço, timestamp completo e nível do log);

laisvfm@lev:~$ grep -E "fail(ed)?|error|denied|unauthorized" /var/log/syslog | awk '{print $1, $2, $3, $4, $5, $6, $7}'

  1. Redirecione a saída desse bloco de comandos para um arquivo e verifique seu conteúdo;
laisvfm@lev:~$ grep -E "fail(ed)?|error|denied|unauthorized" /var/log/syslog | awk '{print $1, $2, $3, $4, $5, $6, $7}' > monitoramento_logs_sistema.txt
laisvfm@lev:~$ cat monitoramento_logs_sistema.txt
  1. Crie um script bash, que cria um novo diretório para armazenar arquivos de relatórios e faça o filtro e formatação dos logs nesse script, salvando o resultado em um arquivo de relatório no diretório criado.

#!/bin/bash

LOGDIR="monitoramentosistema"
mkdir -p $LOGDIR

grep -E "fail(ed)?|error|denied|unauthorized" /var/log/syslog | awk '{print $1, $2, $3, $4, $5, $6, $7}' > $LOGDIR/monitoramentologssistema.txt


laisvfm@lev:~$ sudo chmod +x monitoramento-sistema.sh
laisvfm@lev:~$ ./monitoramento-sistema.sh
laisvfm@lev:~$ cd monitoramento_sistema/
laisvfm@lev:~/monitoramento_sistema$ ls
monitoramento_logs_sistema.txt
laisvfm@lev:~/monitoramento_sistema$ cat monitoramento_logs_sistema.txt