- 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
- 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
- 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}'
- 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
- 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