2009-07-13 12 views
6

Sto eseguendo un server FreeBSD e mi è stato inviato un avviso che lo spam è stato inviato dal mio server. Non ho impostato come relay aperto e ho personalizzato la configurazione di sendmail. Mi piacerebbe sapere chi invia l'e-mail insieme al suo nome utente, alla riga dell'oggetto e-mail e un riepilogo della quantità di posta che hanno inviato. Vorrei eseguire un report su un registro simile a come è fatto durante l'elaborazione dei log del server Apache.Come posso monitorare la posta in uscita da Unix e Sendmail?

Quali sono le mie opzioni?

+1

hai controllato/var/log/maillog? – nos

risposta

3

Un'idea è l'alias di sendmail per essere uno script personalizzato, che semplicemente associa gli argomenti sendmail alla fine di un registro prima di chiamare sendmail nel solito modo.

0

Potete fornire alcuni registri di esempio? Penso che la cosa migliore da fare sia cercare tra di loro con grep o cut per ottenere la fonte/le destinazioni che vengono inviate. Inoltre, puoi scrivere uno script Perl per automatizzarlo una volta che hai la corretta espressione regolare. Questa sarebbe l'opzione migliore.

1

Se FreeBSD ha una configurazione di default, hai solo un modo per gestire la posta in uscita, controlla l'invio tramite il sistema sendmail in /etc/mail.

Tutta la posta in uscita deve essere registrato da /var/log/maillog

0

È inoltre possibile monitorare tutte le chiamate di sistema per write e read funzioni eseguendo:

ps auxw | grep sendmail | awk '{print"-p " $2}' | xargs strace -s 256 -f 2>&1 | grep -E $'@|(([0-9]+\.){3}[0-9]+)' | tee -a "/var/log/sendmail-logs.log" 

Questo vi darà l'accesso diretto alle informazioni, non è possibile vai più a fondo, penso.

Problemi correlati