Sendmail

如何關閉 STARTTLS 以進行電子郵件的內部中繼?

  • July 17, 2014

我感興趣地從sendmail 指南中了解到可以禁用 TLS。我嘗試通過在以下行中添加以下行來處理內部郵件/etc/mail/access

Try_TLS:my.server           NO
Try_TLS:localhost6.localdomain6         NO
Try_TLS:localhost.localdomain           NO
Try_TLS:localhost           NO
Try_TLS:127.0.0.1           NO

但是,它似乎不起作用,我仍然看到以下內容:

Received: from my.server (localhost6.localdomain6 [127.0.0.1])
   by my.server (8.14.8/8.14.8) with ESMTP id s6H2Wanf004005
   (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO)
   for <user@my.server>; Tue, 15 Jul 2014 10:32:36 +0000
Received: (from user@localhost)
   by my.server (8.14.8/8.14.8/client) id s6H2WZfQ004004
   for user; Tue, 15 Jul 2014 10:32:35 +0000

任何的想法?

您可以在訪問映射中使用幾個與 TLS 相關的設置:

  • try_tls 當 sendmail 是客戶端時使用(即發送電子郵件)
  • tls_srv 適用於伺服器,當 sendmail 是客戶端時(即發送電子郵件)
  • tls_clt 適用於客戶端,當 sendmail 是伺服器時(即接受電子郵件)
  • srv_features當 sendmail 是伺服器(即接受電子郵件)時使用,並確定要提供的功能

srv_features確定要提供的功能(在 EHLO 階段),這包括 STARTTLS 和其他協議選項,如 PIPELINING、VERBose 和 AUTHenticate。有關詳細資訊,請參閱目前Sendmail 安裝和操作指南(PDF) 的第 5.1.4.15 節。

tls_clt是特定發送系統的與 TLS 相關的設置,用於確保在送出電子郵件時具有最低級別的加密和/或身份(客戶端證書)。

(也tls_rcpt可以根據收件人進行配置,一般用於強制加密,這裡用處不大。)

您似乎已經編輯了標題,但我假設只有主機名,並且您通過本地主機上的 sendmail 發送。在此設置客戶端 (MSP) 中,作為郵件送出程序執行的 sendmail 使用submit.cf並且預設情況下不支持啟用的任何訪問映射

流程(請原諒 ASCII 藝術):

          (submit.cf)               (sendmail.cf)
email →   sendmail-MSP →[127.0.0.1]→ sendmail    
                     ↗                ↕
         queue runner               access.db
          (submit.cf)

因此,您應該在訪問映射中使用:

srv_features:127.0.0.1        S

中的“S”srv_features表示“不提供 STARTTLS”(還有一些其他標誌,關於身份驗證和客戶端證書等),然後access.db使用makemap.

這只會被守護程序 sendmail 伺服器使用(不是送出部分,或者它的隊列執行器)。


可以添加FEATURE(access_db)到您的submit.mc中,但這不是輕而易舉的事情。請參閱http://www.sendmail.com/sm/open_source/docs/m4/msp.html

引用自:https://unix.stackexchange.com/questions/144989