Email

後綴別名和“冒充”問題

  • August 16, 2018

我最近開始在我的 postfix 伺服器上配置地址,偶然發現我的同事遇到了一個問題。

所以假設我有一個別名 testing@bar.ru

將郵件轉發到 somedude@gmail.comvitali.r@foo.net

如果我們發送到同一個域,別名是,一切正常並且電子郵件已發送,但讓我們更深入地研究其他域問題,因為電子郵件會立即反彈並出現此錯誤:

<vitali.r@foo.net> (expanded from <alias@somedomain.com>): host
mx.foo.net[144.76.75.247] said: 550 You must be authenticated (in
reply to RCPT TO command)

幸運的是,這個 otherdomain 的所有者是我的同事,所以我先向他們提出了這個問題。我們進行了一些探勘並弄清楚了,該電子郵件不僅僅是從 vitali.r@foo.net 發送的,而是冒充其他人發送的。

為了更好地理解這個問題,我建議您查看發送到 somedude@gmail.com 的電子郵件的標題,該郵件被 foo.net 伺服器拒絕。

Delivered-To: somedude@gmail.com
Received: by 10.140.108.54 with SMTP id i51csp86667qgf;
       Thu, 24 Apr 2014 04:54:02 -0700 (PDT)
X-Received: by 10.14.246.1 with SMTP id p1mr2029071eer.20.1398340441786;
       Thu, 24 Apr 2014 04:54:01 -0700 (PDT)
Return-Path: <vitali.r@foo.net>
Received: from bar.ru (bar.ru. [47.175.193.55])
       by mx.google.com with ESMTPS id p8si7998323eew.276.2014.04.24.04.54.01
       for <somedude@gmail.com>
       (version=TLSv1 cipher=RC4-SHA bits=128/128);
       Thu, 24 Apr 2014 04:54:01 -0700 (PDT)
Received-SPF: fail (google.com: domain of vitali.r@foo.net does not designate 47.175.193.55 as permitted sender) client-ip=47.175.193.55;
Authentication-Results: mx.google.com;
      spf=hardfail (google.com: domain of vitali.r@foo.net does not designate 47.175.193.55 as permitted sender) smtp.mail=vitali.r@foo.net;
      dkim=pass header.i=@foo.net
Received: from mx.foo.net (mx.foo.net [144.76.75.247])
   by bar.ru (Postfix) with ESMTPS id BC4E9BC0031
   for <testing@bar.ru>; Thu, 24 Apr 2014 15:54:00 +0400 (MSK)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=foo.net; s=default;
   h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=Sr6qzI6M/AdTYgu33PjdinGA745C3GUCsXevUC1TgDI=;
   b=DpO1qnFhn+Srhuuj+2bzi4bUOoMOAr4tSRqK/sbz0gt5Ogp+RK9BJQTpix5oPoebo7M7MYIV+zHlzTdJnpPa0FSa4WTewvYxOE81CX/+k/VLQdK1SPcbdPSRACzKsS3Jq7QE9XKK1maW8s0syGbToGT/KNXHkeBKtP6QhIrUs3Y4=;
Envelope-to: testing@bar.ru
Delivery-date: Thu, 24 Apr 2014 13:54:00 +0200
Message-ID: <5358FB52.8040508@foo.net>
Date: Thu, 24 Apr 2014 14:53:54 +0300
From: Vitali R <vitali.r@foo.net>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:16.0) Gecko/20121028 Thunderbird/16.0.2
MIME-Version: 1.0
To: testing@bar.ru
Subject: hello world this is alias test
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

testest

更好理解的圖片:http: //i.imgur.com/XAVZY5L.png 所以有趣的部分是這一行

Received-SPF: fail (google.com: domain of vitali.r@foo.net does not designate 47.175.193.55 as permitted sender) client-ip=47.175.193.55;

他是正確的,11.111.111.11 確實沒有指定到 otherdomain.com,因為 47.175.193.55 是發送電子郵件的伺服器的 IP(通過別名)。

簡單來說,伺服器假裝自己是從vitali.r@foo.net 發送的電子郵件,而實際上它是從bar.ru 發送的,因此我的同事伺服器拒絕了一封信。

我知道這可能看起來令人困惑,但請以這種方式看待。您可以向幾乎任何伺服器發送一封信,告訴伺服器您是通過電子郵件發送的,而您顯然無權訪問。這幾乎就是別名問題在這裡發生的情況。

您對此類問題有何反應?您認為在這裡拒絕電子郵件是否合適?

感謝您的幫助。

postfix 接收郵件並將其轉發到別名的方式是完全正確的。當然,由於發件人來自外部域,並且您已經創建了外部域的別名,因此接收伺服器會注意到您確實不應該從您不負責的域發送郵件。一些伺服器反對向他們發送郵件,聲稱來自他們負責的域。這並非不合理,考慮到如今發送的垃圾郵件數量甚至可能是明智的。

有多種方法可以解決這個問題。

  1. 不要使用您不負責的域中的電子郵件創建別名。這是限制性的,但卻是解決問題的最簡單方法。
  2. 使用smtp_generic_maps,這將需要創建條目以將錯誤的地址映射到正確的地址,例如vitali.r@foo.net vitali@bar.ru,當然,這將需要為您要映射的每封電子郵件提供一個條目,並為您不知道的電子郵件提供一個通用條目:@foo.net info@bar.ru將將任何@foo.net地址重寫為info@bar.ru,除了vitali.r@foo.net。這具有消除原始發件人的副作用。如果您想回復發送原始郵件的人,這不是很好。
  3. 如果別名被發送到的伺服器是您的帳戶,sender_dependent_relayhost_maps可能是一個有效的解決方案,因為它允許 postfix 提供遠端伺服器在這種情況下要求的身份驗證。缺點:只有當發送者是地圖中配置的那個時,它才會提供身份驗證,當然,它只會解決那個單一伺服器的問題。如果您只有幾個這樣的情況範例,那麼它可能是最好的解決方法。

引用自:https://serverfault.com/questions/591089