上面大家問的問題, 其實只有一個目的:
弄清楚這些郵件的「傳遞路徑」(Mail flow)
這樣才能判定問題是出在哪裡?
您給的資訊有許多模糊的說法, 例如您說:
「查詢寄件者IP都是由外部IP寄出」
請問, 您是在哪邊查詢的?
上述兩種獲得資訊的方式, 會被判定出兩種不同的傳遞路徑. 如果不知道你的查法, 就不能斷定真正的路徑在哪裡, 也就無從解決.
其次, 上面請您查出 Mail Header, 您也沒有意識到應該去查甚麼?
我們希望能看到這樣的完整 Mail Header 資訊:
(不是只有紅框部分, 底下還有隱藏的也要全部拉出來看)
因為這個 Header 會忠實紀錄傳遞路徑, 看完 Header, 才會知道這封信走過甚麼地方? 如果您不知道怎麼看到這些資訊的話, 至少告訴大家你用的 Client 軟體是哪一套? 大家才知道該如何教你看?
根據您私訊寄給我的 Mail Header, 我們大約知道以下的資訊:
(點圖可放大)
很不幸的, 您寄給我 Header 的時候, 並沒有一併告訴我這個 Header 是從哪裡來的? 是你收到的退信? 還是寄出去的信? 所以我只能隨便猜 (進行資訊鑑識的時候, 每一個細節都非常重要, 包括: 人事時地物, 缺了任何一個, 都會影響判讀):
假設你是從退信中, 取出這個 Header 的.
那麼我對這個 header 的解析會是這樣:
從以上解析可得知:
當初信件不一定要從真正的 alisahsu@microbase.com.tw 信箱寄出去, 任何一個人, 只要能偽造 From: 或是 Reply-to 的欄位, 把他填入 alisahsu@microbase.com.tw 這段文件, 然後幸運地在寄出去的時候, 沒有被第一個收件的 SMTP Server 檢查出異狀, 就可以躲過這道檢查, 從任何地點, 任何電腦, 寄出這封信, 而且當他被退信的時候, 一定會退給 alisahsu@microbase.com.tw.
這樣看來, 有幾種途徑可以寄出這樣的信:
你可以檢查公司的 Mail Server, 是否有 alisahsu 這個用戶對外寄給 sksec 的紀錄? 如果沒有的話, 那第一個途徑暫時可以否決.
其次, 你可以用防火牆, 封鎖公司所有電腦對外連線 port 25 的通路, 只單單留給 Mail Server 使用. 這樣一來, 你也阻斷了第二個途徑.
如果以上兩者都做了還是有的話, 代表寄信者採用第三個途徑: 從公司以外的電腦寄信的. 此時, 他會有三種選擇:
上面的 1 和 2 是你的責任, 必須由你來查修和阻絕. 但若發生 3 的話, 你還是有辦法禁止他從任何地方偽造公司信箱的名義寄信, 方法是靠 DNS 的 SPF 宣告, 詳情請參閱:
Google Search: 《DNS SPF 設定》
(提示: SPF 裡面設定 -all, 可以比一般設定成 ~all, 更嚴格的防止這類問題發生)
R大非常感謝用心回復,看mail server都是以外部IP送出,有可能是惡意程式之類的嗎
看mail server都是以外部IP送出
這句話需要再釐清一下, 您的意思是:
在你公司的 Mail Server 上, 看到發信者的 IP, 都是來自外部嗎?
還是, 看到退信的 IP 都是來自外部?
若是前者的話, 你可以看到發信的 IP, 代表公司外面, 有人用濫發垃圾郵件的程式, 透過你們的 Mail Server 去發信, 而且將退信地址設定成你們公司的信箱, 這可能是公司的 Mail Server 設定不當 (有 Open Relay), 或是該信箱的密碼外洩造成的.
既然 IP 在外部, 就不會是公司內的電腦所為, 所以光查公司內部電腦是沒有用的, 你必須在 Server 上面, 設定成: 防止外面的電腦利用你的 Mail Server 濫發信.
若是後者的話: 退信 IP 來自外部是正常現象.
是發信者IP喔,非常感謝您的解答讓我有方向許多