Auditoria de e-mails

Para que serve?

  • Auditoria de e-mails: O comando ajuda a identificar atividades de envio de e-mails do endereço informado, como mensagens rejeições ou erros.
  • Investigação: Pode ser usado para verificar se o e-mail foi usado em atividades específicas, como tentativas de envio não autorizadas ou spam.
  • Monitoramento: Útil para rastrear o comportamento do remetente em logs de e-mail, especialmente em servidores que gerenciam grandes volumes de mensagens.

Comando

zgrep "F=<INFORME_EMAIL>" /var/log/exim_mainlog* | sort | head
ShellScript

Exemplo de saída

[root@br10 ~]# EMAIL="teste@knh.one"
[root@br10 ~]# zgrep "F=<$EMAIL>" /var/log/exim_mainlog* | sort | head
[root@br10 ~]# zgrep "F=<teste@knh.one>" /var/log/exim_mainlog* | sort | head
/var/log/exim_mainlog:2025-06-10 12:45:43 H=(br10.kangaroo.srv.br) [::1]:33070 F=<teste@knh.one> A=dovecot_login:teste@knh.one rejected RCPT <jean@kangaroohost.com.br>: Outgoing mail from "teste@knh.one" has been suspended.
ShellScript

Na saída acima, foi possível identificar que o remetente teste@knh.one tentou enviar um e-mail para jean@kangaroohost.com.br, entretanto a mensagem foi recursada a saída, pois o e-mail do remetente está suspenso de envios.

Comando

cat /etc/valiases/INFORME_DOMINIO
ShellScript

Exemplo de saída

[root@br10 ~]# cat /etc/valiases/INFORME_DOMINIO
uptime@knh.one: jean@kangaroohost.com.br
*: knh
ShellScript

Na saída acima, é possível verificar que no domínio knh.one existe um encaminhador do e-mail uptime@knh.one para jean@kangaroohost.com.br

Comando

grep INFORME_EMAIL /var/log/maillog | grep "login" | awk '{print $6}' | sort | uniq -c
ShellScript

Exemplo de saída

grep jean@kangaroohost.com.br /var/log/maillog | grep "login" | awk '{print $6}' | sort | uniq -c
    624 imap-login:
     73 pop3-login:
ShellScript

Com a saída do comando, é possível entender que 624 acessos foram efetuados a partir do serviço IMAP, enquanto houveram outros 73 acessos partindo do serviço POP3.

Comando

grep INFORME_EMAIL /var/log/maillog | grep "login" | awk '{print $6,$10}' | sort | uniq -c | sort -nr | head
ShellScript

Exemplo de saída

[root@br2 ~]# grep jean@kangaroohost.com.br /var/log/maillog | grep "login" | awk '{print $6,$10}' | sort | uniq -c | sort -nr | head
    624 imap-login: rip=::1,
     14 pop3-login: rip=209.85.223.194,
     14 pop3-login: rip=209.85.223.193,
      9 pop3-login: rip=209.85.223.192,
      9 pop3-login: rip=209.85.223.128,
      8 pop3-login: rip=209.85.220.192,
      4 pop3-login: rip=209.85.220.194,
      3 pop3-login: rip=209.85.223.130,
      3 pop3-login: rip=209.85.220.193,
      3 pop3-login: rip=209.85.216.192,
ShellScript

Se notar, existe uma saída com ::1, que indica que 624 acessos foram efetuados através de acesso via webmail, o que não gerou um IP rastreável através desse comando, sendo necessário usar uma consulta geral.

Comando

grep 'INFORME_EMAIL' /var/log/maillog | grep 'imap'
ShellScript

Exemplo de saída

[root@br10 ~]# grep 'uptime@knh.one' /var/log/maillog | grep 'imap'
Jun 10 12:27:33 br10 dovecot[3574287]: imap-login: Login: user=<uptime@knh.one>, method=PLAIN, rip=::1, lip=::1, mpid=841652, secured, session=<XlXXVTk37toAAAAAAAAAAAAAAAAAAAAB>
Jun 10 12:27:33 br10 dovecot[3574287]: imap(uptime@knh.one)<841652><XlXXVTk37toAAAAAAAAAAAAAAAAAAAAB>: Disconnected: Logged out in=142, out=980, bytes=142/980
Jun 10 12:27:34 br10 dovecot[3574287]: imap-login: Login: user=<uptime@knh.one>, method=PLAIN, rip=::1, lip=::1, mpid=842025, secured, session=<GgflVTk3+NoAAAAAAAAAAAAAAAAAAAAB>
Jun 10 12:27:34 br10 dovecot[3574287]: imap(uptime@knh.one)<842025><GgflVTk3+NoAAAAAAAAAAAAAAAAAAAAB>: Disconnected: Logged out in=130, out=1016, bytes=130/1016
ShellScript

Comando Geral

Esse comando vai trazer todo o histórico, dependendo do tamanho pode travar o terminal linux com saída.

Sem echo:

grep 'INFORME_EMAIL' /usr/local/cpanel/logs/access_log
ShellScript

Com echo

grep 'INFORME_EMAIL' /usr/local/cpanel/logs/access_log > resultados.log
ShellScript

Os resultados ficarão em um arquivo chamado resultados.log

Comando com saídas limitadas

Esse comando vai trazer apenas os últimos 10 registros do e-mail selecionado.

[root@br8 ~]# grep 'INFORME_EMAIL' /usr/local/cpanel/logs/access_log | tail -n 10
ShellScript

Exemplo de saída

[root@br8 ~]# grep 'kangaroohost' /usr/local/cpanel/logs/access_log | tail -n 10
209.14.69.145 - kangaroohost [06/10/2025:16:19:50 -0000] "POST /cpsess7285942988/execute/Personalization/get HTTP/1.1" 200 0 "https://br8.kangaroo.srv.br:2083/" "Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36" "s" "-" 2083
209.14.69.145 - kangaroohost [06/10/2025:16:19:50 -0000] "GET /cpsess7285942988/frontend/jupiter/softaculous/index.live.php?act=top HTTP/1.1" 200 0 "https://br8.kangaroo.srv.br:2083/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36" "s" "-" 2083
209.14.69.145 - kangaroohost [06/10/2025:16:19:51 -0000] "GET /cpsess7285942988/execute/Notifications/get_notifications_count HTTP/1.1" 200 0 "https://br8.kangaroo.srv.br:2083/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36" "s" "-" 2083
209.14.69.145 - kangaroohost [06/10/2025:16:19:51 -0000] "POST /cpsess7285942988/execute/Personalization/get HTTP/1.1" 200 0 "https://br8.kangaroo.srv.br:2083/" "Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36" "s" "-" 2083
209.14.69.145 - kangaroohost [06/10/2025:16:19:51 -0000] "POST /cpsess7285942988/execute/Themes/list HTTP/1.1" 200 0 "https://br8.kangaroo.srv.br:2083/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36" "s" "-" 2083
209.14.69.145 - kangaroohost [06/10/2025:16:19:51 -0000] "POST /cpsess7285942988/execute/Resellers/list_accounts HTTP/1.1" 200 0 "https://br8.kangaroo.srv.br:2083/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36" "s" "-" 2083
209.14.69.145 - kangaroohost [06/10/2025:16:19:51 -0000] "POST /cpsess7285942988/execute/SSL/installed_host HTTP/1.1" 200 0 "https://br8.kangaroo.srv.br:2083/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36" "s" "-" 2083
209.14.69.145 - kangaroohost [06/10/2025:16:19:51 -0000] "POST /cpsess7285942988/execute/ResourceUsage/get_usages HTTP/1.1" 200 0 "https://br8.kangaroo.srv.br:2083/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36" "s" "-" 2083
ShellScript

Rolar para cima