2009-07-13 11 views
6

Ich betreibe einen FreeBSD-Server und mir wurde eine Warnung gesendet, dass Spam von meinem Server gesendet wurde. Ich habe es nicht als offenes Relais eingestellt und ich habe die sendmail-Konfiguration angepasst. Ich würde gerne wissen, wer welche E-Mail zusammen mit ihrem Benutzernamen, der E-Mail-Betreffzeile sowie einer Zusammenfassung der von ihnen gesendeten E-Mails sendet. Ich möchte einen Protokollbericht erstellen, ähnlich wie bei der Verarbeitung von Apache-Serverprotokollen.Wie kann ich ausgehende E-Mails von Unix und Sendmail überwachen?

Was sind meine Optionen?

+1

Haben Sie/var/log/maillog überprüft? – nos

Antwort

3

Eine Idee ist, alias sendmail zu einem benutzerdefinierten Skript zu machen, das die sendmail-Argumente einfach ans Ende eines Protokolls kettet, bevor sendmail in der üblichen Weise aufgerufen wird.

0

Können Sie einige Beispielprotokolle geben? Ich denke, du würdest am besten mit grep oder cut nach ihnen suchen, um die Quelle/Ziele zu erhalten, die auch gesendet werden. Sie könnten auch ein Perl-Skript schreiben, um es zu automatisieren, sobald Sie die richtige Regex haben. Dies wäre die beste Option.

1

Wenn FreeBSD Standard-Konfiguration haben, haben Sie nur eine Möglichkeit, Ausgabe-Mail zu behandeln, überprüfen Sie, was durch Sie sendmail-System in /etc/mail senden.

muß alle Ausgänge Mail write und read Funktionen aufrufen, die Sie von /var/log/maillog

0

angemeldet sein, können auch alle Systeme überwachen, indem sie die Ausführung:

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" 

Diese Ihnen auf die Angaben, die direkten Zugang geben, können Sie nicht gehe tiefer, denke ich.