Mamy serwer Postfix, który wymaga uwierzytelnienia przez przekaźnik SMTP za jego pośrednictwem. Używamy wirtualnych skrzynek pocztowych w bazie danych MySQL.
Wiadomość została przekazana przez nasz system i musimy ustalić, które z naszych kont użytkowników zostało użyte do jej wysłania.
Nagłówki wiadomości zawierają:
Received: from User (c-76-109-241-139.hsd1.fl.comcast.net [xx.109.xxx.139])
by ourserver.com (Postfix) with ESMTPA id 7BA184B4AD4;
Tue, 3 Jul 2012 05:42:59 -0400 (EDT)
Nie mamy użytkownika o nazwie „Użytkownik”, a adres IP nie jest tym, z którego wysyłalibyśmy pocztę. Chciałbym dowiedzieć się, które z kont użytkowników zostało uwierzytelnione przez nadawcę podczas wysyłania wiadomości.
Czy istnieje sposób na śledzenie tego?
User
znajduje się nazwa hosta twojego serwera pocztowego. Widziałeś coś takiegoAuthenticated sender:
?Odpowiedzi:
Jeśli grep dla identyfikatora wiadomości (7BA184B4AD4 w twoim przypadku) w
/var/log/mail.log
, powinieneś znaleźć wiersz dziennika wskazującysasl_username
. Na przykład:Edycja: Jeśli ustawisz
smtpd_sasl_authenticated_header
opcję/etc/postfix/main.cf
Postfix, doda nazwę użytkownika SASL doReceived
nagłówka w wiadomościach e-mail. Pamiętaj, że ten nagłówek można modyfikować, więc powyższy jest jedynym wiarygodnym sposobem ustalenia, który użytkownik przesłał wiadomość.źródło
/var/log/maillog