Share via


在 Exchange 伺服器上允許匿名轉送

對於網際網路上的傳訊伺服器而言,開放轉送是非常不好的事。 意外或刻意設定為開放轉送的訊息伺服器,可讓來自任何來源的郵件透過開啟的轉送伺服器以透明方式重新路由傳送。 這種行為會掩蓋郵件的原始來源,而讓郵件看起來是源自開放轉送伺服器。 開放式轉送伺服器會積極尋找並由濫發垃圾郵件者使用,因此您永遠不會想要將您的傳訊伺服器設定為開放式轉送。

另一方面, 匿名轉送 是許多具有內部網頁伺服器、資料庫伺服器、監視應用程式或其他網路裝置來產生電子郵件訊息,但無法實際傳送這些訊息的企業的常見需求。

在Exchange Server中,您可以在前端傳輸服務中,于信箱伺服器上建立專用的接收連接器,以允許來自特定內部網路主機清單的匿名轉送。 以下是匿名轉送接收連接器的一些重要考慮:

  • 您必須建立專用的接收連接器,以指定允許匿名轉送訊息的網路主機,以便排除任何人或任何其他專案不使用連接器。 請勿嘗試將匿名轉送功能新增至 Exchange 所建立的預設接收連接器。 限制對接收連接器的存取非常重要,因為您不想將伺服器設定為開啟的轉送。

  • 您需要在前端傳輸服務中建立專用的接收連接器,而不是在傳輸服務中建立。 在Exchange Server中,前端傳輸服務和傳輸服務一律位於信箱伺服器上。 前端傳輸服務具有名為 Default Frontend < ServerName >的預設接收連接器,其設定為從 TCP 埠 25 上的任何來源接聽輸入 SMTP 連線。 您可以在前端傳輸服務中建立另一個接收連接器,該連接器也會接聽 TCP 埠 25 上的連入 SMTP 連線,但您必須指定允許使用連接器的 IP 位址。 專用的接收連接器一律會用於來自這些特定網路主機的連入連線, (與連線伺服器 IP 位址最特定相符的接收連接器) 。

    相反地,傳輸服務具有名為 Default ServerName > 的預設 <接收連接器,此連接器也已設定為針對來自任何來源的輸入 SMTP 連線列出,但此連接器會接聽 TCP 埠 2525,使其不會與前端傳輸服務中的接收連接器發生衝突。 此外,只有組織中的其他傳輸服務和 Exchange 伺服器應該使用此接收連接器,因此會據以設定驗證和加密方法。

    如需詳細資訊,請參閱 郵件流程和傳輸管線安裝期間建立的預設接收連接器

  • 建立專用的接收連接器之後,您必須修改其許可權,只允許由其 IP 位址識別的指定網路主機進行匿名轉送。 網路主機至少需要接收連接器的下列許可權,才能匿名轉送訊息:

    • ms-Exch-Accept-Headers-Routing

    • ms-Exch-SMTP-Accept-Any-Recipient

    • ms-Exch-SMTP-Accept-Any-Sender

    • ms-Exch-SMTP-Accept-Authoritative-Domain-Sender

    • ms-Exch-SMTP-Submit

      如需接收連接器許可權的詳細資訊,請參閱 接收連接器許可權群組接收連接器許可權

      您可以使用兩種不同的方法來設定接收連接器上匿名轉送所需的許可權。 下表說明這些方法。

方法 授與的權限 優點 缺點
匿名使用者 (Anonymous) 許可權群組新增至接收連接器,並將許可權新 Ms-Exch-SMTP-Accept-Any-Recipient 增至 NT AUTHORITY\ANONYMOUS LOGON 接收連接器上的安全性主體。 連線使用 NT AUTHORITY\ANONYMOUS LOGON 具有下列許可權的安全性主體:
  • ms-Exch-Accept-Headers-Routing
  • ms-Exch-SMTP-Accept-Any-Recipient
  • ms-Exch-SMTP-Accept-Any-Sender
  • ms-Exch-SMTP-Accept-Authoritative-Domain-Sender
  • ms-Exch-SMTP-Submit
授與允許匿名轉送的最低必要許可權。 更難以設定 (必須使用 Exchange 管理命令介面) 。

網路主機會被視為匿名寄件者。 郵件不會略過反垃圾郵件或郵件大小限制檢查,而且如果全域通訊清單中有任何) ,則無法將寄件者的電子郵件地址解析為對應的顯示名稱 (。

Exchange 伺服器 () ExchangeServers 許可權群組和 外部保護 的 (ExternalAuthoritative) 驗證機制新增至接收連接器。 連線使用 MS Exchange\Externally Secured Servers 具有下列許可權的安全性主體:
  • ms-Exch-Accept-Headers-Routing
  • ms-Exch-Bypass-Anti-Spam
  • ms-Exch-Bypass-Message-Size-Limit
  • ms-Exch-SMTP-Accept-Any-Recipient
  • ms-Exch-SMTP-Accept-Any-Sender
  • ms-Exch-SMTP-Accept-Authentication-Flag
  • ms-Exch-SMTP-Accept-Authoritative-Domain-Sender
  • ms-Exch-SMTP-Accept-Exch50
  • ms-Exch-SMTP-Submit
更輕鬆地設定 (可在 Exchange 系統管理中心) 中執行所有動作。

網路主機會被視為已驗證的寄件者。 訊息會略過反垃圾郵件和郵件大小限制檢查,而寄件者的電子郵件地址可以解析為全域通訊清單中對應的顯示名稱。

授與提交郵件的許可權,就如同來自 Exchange 組織內的內部寄件者一樣。 不論傳送的訊息數量、大小或內容為何,網路主機都會被視為完全值得信任。

最後,您必須決定最符合組織需求的方法。 我們將示範如何設定這兩種方法。 請記住,這是一個方法或另一個方法,而不是同時使用兩者。

開始之前有哪些須知?

  • 完成這項工作的估計時間:10 分鐘。

  • 其中一些程式需要 Exchange 管理命令介面。 若要了解如何在內部部署 Exchange 組織中開啟 Exchange 管理命令介面,請參閱 Open the Exchange Management Shell

  • 您必須已獲指派權限,才能執行此程序或這些程序。 若要查看您需要的權限,請參閱 郵件流程權限主題中的「接收連接器」項目。

  • 如需適用於此主題中程序的快速鍵相關資訊,請參閱 Exchange 系統管理中心的鍵盤快速鍵

提示

有問題嗎? 在 Exchange 論壇中尋求協助。 此論壇的網址為:Exchange ServerExchange OnlineExchange Online Protection

步驟 1:建立匿名轉送的專用接收連接器

您可以在 EAC 或 Exchange 管理命令介面中建立接收連接器。

使用 EAC 建立匿名轉送的專用接收連接器

  1. 在 EAC 中,流覽至[郵件流程>接收連接器],然後按一下 [新增新增圖示]。 這會啟動 [新增接收連接器精 靈]。

  2. 在第一個頁面上,輸入下列資訊:

    • 名稱:輸入接收連接器的描述性名稱,例如匿名轉送。

    • 角色:選 取 [前端傳輸]

    • 類型:選取 [自訂]

      完成後,按 [下一步]

  3. 在下一頁的 [ 網路介面卡系結 ] 區段中,執行下列其中一項:

    • 如果 Exchange Server 有一個網路介面卡,而且未使用不同的子網來隔離內部和外部流量,請接受現有 (埠 25 上 所有可用的 IPv4) 專案。

    • 如果 Exchange Server 具有內部網路介面卡和外部網路介面卡,並使用不同的子網來隔離內部和外部網路流量,您可以將連接器的使用限制為源自內部網路介面卡的要求,進一步增強連接器的安全性。 執行此動作:

      1. 選取現有的 (所有可用的 IPv4) 專案,按一下 [移除移除] 圖示,然後按一下 [ 新增] 圖示

      2. 在產生的 [ 網路介面卡 系結] 對話方塊中,選取 [ 指定 IPv4 位址或 IPv6 位址],然後輸入在內部網路介面卡上設定的有效可用 IP 位址,然後按一下 [儲存 ]

    完成後,按 [下一步]

  4. 在下一頁的 [ 遠端網路設定 ] 區段中,執行下列步驟:

    1. 選取現有的0.0.0.0-255.255.255.255專案,然後按一下[移除移除] 圖示。然後按一下 [新增] 圖示

    2. 在產生的 [ 遠端位址設定 ] 對話方塊中,輸入可識別允許使用此連接器之網路主機的 IP 位址或 IP 位址範圍,然後按一下 [ 儲存]。 您可以重複此步驟來新增多個 IP 位址或 IP 位址範圍。 Err 位於太明確,而不是太一般,無法清楚識別允許使用此連接器的網路主機。

    當您完成時,按一下 [ 完成]

使用 Exchange 管理命令介面建立匿名轉送的專用接收連接器

若要在 Exchange 管理命令介面中建立相同的接收連接器,請使用下列語法:

New-ReceiveConnector -Name <ConnectorName> -TransportRole FrontendTransport -Custom -Bindings <LocalIPAddresses>:25 -RemoteIpRanges <RemoteIPAddresses>

此範例會使用下列組態選項建立新的接收連接器:

  • 名稱:匿名轉送

  • 傳輸角色FrontEndTransport

  • 使用類型:自訂

  • 系結0.0.0.0:25 (接聽 TCP 埠 25.) 上 Exchange Server 中所有網路介面卡上設定的所有 IP 位址上的輸入訊息

  • 允許使用此連接器的遠端 IP 位址:192.168.5.10 和 192.168.5.11

New-ReceiveConnector -Name "Anonymous Relay" -TransportRole FrontendTransport -Custom -Bindings 0.0.0.0:25 -RemoteIpRanges 192.168.5.10,192.168.5.11

附註:

  • 當您指定自訂使用類型時,需要 Bindings 參數。

  • RemoteIpRanges參數接受個別 IP 位址、IP 位址範圍 (例如, 192.168.5.10-192.168.5.20) 或無類別 InterDomain 路由 (CIDR) (例如 192.168.5.1/24 ,) 。 您可以指定多個以逗號分隔的值。

步驟 2:在專用的接收連接器上設定匿名轉送的許可權

如簡介中所述,您可以使用兩種不同的方法來設定接收連接器的必要許可權:

  • 將連線設定為匿名。

  • 將連線設定為外部安全。

選擇一個方法或另一個方法。 這些範例會使用您在步驟 1 中建立且名為 Anonymous Relay 的接收連接器。

將連線設定為匿名

在 Exchange 管理命令介面中執行下列命令:

1.

Set-ReceiveConnector "Anonymous Relay" -PermissionGroups AnonymousUsers
Get-ReceiveConnector "Anonymous Relay" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

將連線設定為外部安全

  1. 在 EAC 中,流覽至[郵件流程>接收連接器],選取 [匿名轉送] 連接器,然後按一下[編輯編輯] 圖示。

  2. 在連接器的屬性中,按一下 [ 安全 性] 並進行下列選擇:

    • 驗證:取消選 取 [傳輸層安全性] (TLS) ,然後選取 [ 外部安全 (例如,使用 IPsec)

    • 許可權群組:選取 [Exchange 伺服器]

    完成後,按一下 [儲存]

若要在 Exchange 管理命令介面中執行這些相同的步驟,請執行下列命令:

Set-ReceiveConnector "Anonymous Relay" -AuthMechanism ExternalAuthoritative -PermissionGroups ExchangeServers

如何知道這是否正常運作?

若要確認您已成功設定匿名轉送,請執行下列步驟:

  • 確認專用接收連接器的設定。

    Get-ReceiveConnector "Anonymous Relay" | Format-List Enabled,TransportRole,Bindings,RemoteIPRanges
    
  • 確認專用接收連接器的許可權。

    Get-ADPermission "Anonymous Relay" -User "NT AUTHORITY\ANONYMOUS LOGON" | where {($_.Deny -eq $false) -and ($_.IsInherited -eq $false)} | Format-Table User,ExtendedRights
    

    Get-ADPermission "Anonymous Relay" -User "MS Exchange\Externally Secured Servers" | where {($_.Deny -eq $false) -and ($_.IsInherited -eq $false)} | Format-Table User,ExtendedRights
    
  • 使用 Telnet 來測試一或多個指定的網路主機是否可以連線到專用的接收連接器,並可透過連接器匿名轉送郵件。 根據預設,Telnet 用戶端不會安裝在大部分用戶端或伺服器版本的 Microsoft Windows 中。 若要進行安裝,請參閱安裝 Telnet 用戶端

    如需詳細資訊,請參閱 在 Exchange 伺服器上使用 Telnet 測試 SMTP 通訊

    如果網路主機是沒有 Telnet 的裝置,您可以暫時將電腦的 IP 位址新增至接收連接器,然後在完成測試時從接收連接器移除 IP 位址。

    針對測試,您將需要下列值:

    • 目的地:這是您用來連線到專用接收連接器的 IP 位址或 FQDN。 這可能是定義接收連接器之信箱伺服器的 IP 位址。 這與您在連接器上設定的 網路介面卡 系結屬性 (或 Bindings 參數) 值有關。 您必須為您的環境使用有效的值。 在此範例中,我們將使用 10.1.1.1。

    • 寄件者的電子郵件地址:您可能會將匿名轉送郵件的伺服器或裝置設定為使用貴組織授權網域中的傳送電子郵件地址。 在此範例中,我們將使用 chris@contoso.com 。

    • 收件者的電子郵件地址:使用有效的電子郵件地址。 在此範例中,我們將使用 kate@fabrikam.com 。

    • 訊息主旨:測試

    • 訊息本文:這是測試訊息

    1. 開啟命令提示字元視窗,輸入 telnet,然後按 Enter。

    2. 輸入 set localecho,然後按 Enter。

    3. 輸入 OPEN 10.1.1.1 25,然後按 Enter。

    4. 輸入 EHLO,然後按 Enter。

    5. 輸入 MAIL FROM: chris@contoso.com ,然後按 Enter。

    6. 輸入 RCPT TO: kate@fabrikam.com ,然後按 Enter。

      • 如果您收到回應 250 2.1.5 Recipient OK ,接收連接器會允許來自網路主機的匿名轉送。 繼續進行下一個步驟,以完成傳送測試訊息。

      • 如果您收到回應 550 5.7.1 Unable to relay ,接收連接器不允許來自網路主機的匿名轉送。 如果發生這種情況,請執行下列動作:

        • 確認您連線到專用接收連接器的正確 IP 位址或 FQDN。

        • 確認您執行 Telnet 的電腦可以使用接收連接器。

        • 確認接收連接器的許可權。

    7. 輸入 DATA,然後按 Enter。

      您應該會收到如下所示的回應:

      354 Start mail input; end with <CLRF>.<CLRF>

    8. 輸入 Subject:Test,然後按 Enter。

    9. 再按一次 Enter。

    10. 輸入 這是測試訊息,然後按 Enter。

    11. 按 Enter 鍵,輸入句號 ( 。) ,然後按 Enter 鍵。

      您應該會收到如下所示的回應:

      250 2.6.0 <GUID> Queued mail for delivery

    12. 若要中斷 SMTP 伺服器的連線,請輸入 QUIT,然後按 Enter。

      您應該會收到如下所示的回應:

      221 2.0.0 Service closing transmission channel

    13. 若要關閉 Telnet 會話,請輸入 quit,然後按 Enter。

  • 如果匿名轉送會間歇性地運作,您可能需要修改接收連接器上的預設訊息速率和節流限制。 如需詳細資訊,請參閱 接收連接器上的訊息節流