2009-07-13 8 views
6

Używam serwera FreeBSD i otrzymałem ostrzeżenie, że spam został wysłany z mojego serwera. Nie mam go ustawionego jako open relay i dostosowałem konfigurację sendmaila. Chciałbym wiedzieć, kto wysyła co e-mail wraz z nazwą użytkownika, tematem wiadomości e-mail, a także podsumowanie ilości wysyłanej poczty. Chciałbym wygenerować raport na temat dziennika podobnego do tego, jak jest on wykonywany podczas przetwarzania dzienników serwera Apache.Jak mogę monitorować wychodzące wiadomości e-mail od Unix i Sendmail?

Jakie są moje opcje?

+1

Czy sprawdziłeś/var/log/maillog? – nos

Odpowiedz

3

Jedną z idei jest pseudonim sendmaila, który jest niestandardowym skryptem, który po prostu koduje argumenty sendmaila na końcu dziennika przed wywołaniem sendmaila w zwykły sposób.

0

Czy możesz podać przykładowe logi? Myślę, że najlepiej będzie przejrzeć je za pomocą polecenia grep lub cut, aby uzyskać także informacje o źródle/miejscach docelowych, które są wysyłane. Możesz również napisać skrypt Perla, aby zautomatyzować go, gdy masz już prawidłowe wyrażenie regularne. To byłaby najlepsza opcja.

1

Jeśli FreeBSD ma domyślną konfigurację, masz tylko jeden sposób obsługi poczty wyjściowej, sprawdź, co wysyła przez ciebie system sendmail w /etc/mail.

Cała poczta wyjście musi być rejestrowane przez /var/log/maillog

0

Można również monitorować wszystkie wywołania systemowe do write i read funkcji poprzez wykonanie:

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" 

To daje bezpośredni dostęp do informacji, nie można idę głębiej, myślę.

Powiązane problemy