外部用戶能夠給Exchange通訊組發送郵件排錯分析
一、環境情況
1、WIndows 2012 R2+Exchange 2016 CU2。
2、郵件流:Internet<——>郵件網關【Symantec SMG】<——>Exchange server。
二、問題現象
Exchange通訊組設置了發送郵件需要驗證【也就是說RequireSenderAuthenticationEnabled被設置為True】,但是第三方郵箱【例如:163或QQ】仍然能夠給Exchange通訊組發送郵件,並且通訊組中的組成員還會收到郵件。
三、問題處理過程
剛接到這個問題,第一反應就是,首先檢查一下通訊組的權限設置是否是開啟了RequireSenderAuthenticationEnabled,然後再判斷這種情況是個別通訊組還是全部通訊組均是這種情況。
1、首先檢查了所有通訊組的設置,均開啟了RequireSenderAuthenticationEnabled。並且測試了好幾個通訊組均是這種情況。
2、Exchange郵件傳輸都是通過傳輸代理Agent來實現的,使用命令Get-TransportAgent查看是否有Agent工作不正常,或者是有什麽其他Agent搞鬼。通過獲取結果看到,TransportAgent沒有任何問題。
3、接下來,有通過命令查看了發件人篩選,均沒有問題。
![技術分享圖片](http://i2.51cto.com/images/blog/201812/17/bc52c322753bd04a9b17ee373ece1174.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
4、嘗試手動創建一個傳輸規則,規則內容是阻止任何外部用戶給特定通訊組發送郵件。通過測試結果仍然是外部用戶能夠給通訊組發送郵件。各種嘗試後,到這來開始懷疑是不是服務器問題或者傳輸服務出現問題。默認情況下,傳輸服務器在Exchange服務器上緩存時間是4個小時。接下來,重啟了傳輸服務,問題依然存在。
5、查看了服務器運行時間為570天,也就是說服務器長時間未重啟,懷疑是不是安裝了補丁沒有重啟。於是將數據庫副本切換到備用節點,然後逐一重啟服務器。重啟完成後測試,問題依然存在。
![技術分享圖片](http://i2.51cto.com/images/blog/201812/17/a58a5c51ddbab8ffc0460b64cc3623d4.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
6、沒有辦法了,這個問題肯定是哪裏遺留掉了,或者說是產品Bug。通過查看Exchange 2016 CU3-CU11修復的問題列表中,根本沒有關於這個問題的描述。那麽就不應該是產品Bug。
![技術分享圖片](http://i2.51cto.com/images/blog/201812/17/fd204dd456717a23d39ce96f8d5ca73d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
而通過發送測試郵件,使用外部郵箱給通訊組發送測試郵件,然後使用命令查看郵件投遞記錄,發現在Exchange服務器上並沒有執行Expand組地址展開動作,而是直接將郵件投遞到了對應郵箱中。這說明什麽問題呢,大膽猜測通訊組郵件在到達Exchange服務器之前就將組成員展開了,這種情況下就會是發送給通訊組的郵件直接投遞到了組成員郵箱,從而繞過了通訊組驗證機制。
8、為了驗證我的猜測,目前大致方向能夠定位在是郵件網關上替Exchange幹了一個通訊組成員Expand的事情。於是接下來查看SMG的配置。在SMG的活動目錄集成裏面看到了SMG上啟用了“Enable Distribution Expansion”【啟用分發列表擴展】功能。
![技術分享圖片](http://i2.51cto.com/images/blog/201812/17/eb8dac9f8f5316610456b9851ec92e70.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
9、將SMG的啟用分發列表擴展功能,關閉後,然後測試給通訊組發送郵件,一切恢復正常。然後通過命令查看傳輸日誌也能夠正常捕獲到Expand動作。
四、建議
1、在使用郵件網關時,一定要註意關於通訊組方面的設置,設置不當會議導致垃圾郵件。
2、此案例反過來,可以作為一種解決讓Exchange通訊組接收外部郵件的一個解決方法。
外部用戶能夠給Exchange通訊組發送郵件排錯分析