어떤 사용자가 접미사로 특정 이메일을 보냈는지 확인하는 방법은 무엇입니까?


9

우리는 그것을 통해 SMTP 릴레이에 대한 인증이 필요한 접미사 서버를 가지고 있습니다. 우리는 MySQL 데이터베이스에서 가상 사서함을 사용합니다.

시스템을 통해 메시지가 중계되었으며, 우리는 어느 사용자 계정 중 하나가 메시지를 보내는 데 사용되었는지 확인해야합니다.

메시지 헤더에는 다음이 포함됩니다.

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)

"User"라는 사용자가 없으며 IP 주소는 메일을 보내는 주소가 아닙니다. 발신자가 메시지를 보낼 때 인증 한 사용자 계정을 확인하고 싶습니다.

이것을 추적하는 방법이 있습니까?


User의 메일 서버의 호스트 이름입니다. 이런거 봤어 Authenticated sender:?
quanta

답변:


15

메시지 ID (귀하의 경우 7BA184B4AD4)를 grep하면을 /var/log/mail.log나타내는 로그 줄을 찾으십시오 sasl_username. 예를 들면 다음과 같습니다.

% zgrep 07A1753F /var/log/mail.log*
Jul  4 19:47:58 mammon postfix/smtpd[4936]: 07A1753F: client=c-69-181-123-456.hsd1.ca.comcast.net[69.181.123.456], sasl_method=PLAIN, sasl_username=mgorven

편집 : Postfix 에서 smtpd_sasl_authenticated_header 옵션 을 설정하면 메일 /etc/postfix/main.cfReceived헤더에 SASL 사용자 이름이 추가됩니다 . 이 헤더는 변조 될 수 있으므로 위의 방법으로 메시지를 제출 한 사용자를 결정할 수 있습니다.

smtpd_sasl_authenticated_header = yes

1
내 로그 에이 내용이 표시되지 않습니다. sasl 사용 여부에 관계없이 이러한 모든 항목에는 client = xxx이고 sasl 정보가 없습니다. Cyrus SASL이 아닌 Sasl 인증에 Dovecot을 사용하기 때문입니다. Dovecot이 자체 인증 레코드를 기록하도록 할 수는 있지만 postfix의 로그 메시지와 안정적으로 일치하기는 어렵습니다.
gogoud

WHM / cPanel 사용자 :/var/log/maillog
rinogo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.