SMTP 認證啟動,但用戶端認證失敗卻依舊可以送信!?

 
發表新主題   回覆主題    尊龍佈告欄 首頁 -> 雷電MAILD (mail server)
上一篇文章 :: 下一篇文章  
發表人 內容
liin
一級


註冊時間: 2012-03-12
文章: 6
來自: TAIWAN

發表發表於: 星期四 十一月 14, 2013 2:28 am    文章標題: SMTP 認證啟動,但用戶端認證失敗卻依舊可以送信!? 引言回覆

我啟動STMP AUTH功能,然後建立一個test帳號(非VIP)
然後用.net 寫了smtpClient 程式去送信(test送信給自己)
當帳密通過認證後,可以正確寄信給自己。
但是帳密認證失敗(密碼故意打錯),依舊可以送信成功!!
WHY

請問是設定有哪邊需要調整嗎?
回頂端
檢視會員個人資料 發送私人訊息
Arnor
究極の素還尊
究極の素還尊


註冊時間: 2001-11-07
文章: 13008
來自: TAIWAN

發表發表於: 星期四 十一月 14, 2013 10:26 am    文章標題: 引言回覆

你需要注意的是你的來源IP 是否有在智慧型SMTP RELAY ( POP before SMTP) 所允許的IP清單內, 也就是你要看看.net 所連去的IP, 在更早之前這個IP 有沒有去POP 收過信....

欲關閉 SMART SMTP RELAY, 請到伺服器設定-基本-選項-SMTP RELAY 關閉.
_________________
*若是想問問題的話, 請務必不要塗改任何 IP, 網域資料, 您若不願貼上IP或網域, 請改以電子郵件來詢問. 謝謝您的配合.*
*若是回報疑似軟體的運行或邏輯或資料處理有誤的問題, 小弟很樂意去了解您的情況, 但請務必以最新版來做回報, 如果以郵件詢問, 請參考 http://www.raidenmaild.com/tw/feedback.html 的說明, 最好標題加個 RaidenMAILD 字樣, 才不致會遺漏了您的信唷. 謝謝您的配合^^*
*在版上發文請遵守網路禮儀, 並請持著虛心敘述問題請教他人, 凡發現違反的文, 均一律刪除為優先, 不另行通知喔.
*與使用者教學相長腦力激盪是我輩成就感的來源, 誠心希望您能不吝指教.
*雷電MAILD 知識庫文件 http://www.raidenmaild.com/tw/kb/

素還尊
Team John Long.
Email: arnor@raidenmaild.com
公司網站 http://www.raidenmaild.com/company/
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
liin
一級


註冊時間: 2012-03-12
文章: 6
來自: TAIWAN

發表發表於: 星期五 十一月 15, 2013 2:08 pm    文章標題: 引言回覆

我沒打開 智慧型SMTP RELAY 功能,而這個帳號也沒有去POP收信。
下面是我驗證的過程,liin寄件者,test為收件者。
雷電LOG顯示:信件寄送成功,inbox內野確實收到信了。

但是我輸入的密碼是錯誤的,理論上是SMTP AUTH失敗應該信是寄送不出去吧!
-----------------------------------------------------------------------
[2013/11/15 下午 01:54:29] [3276] SMTP 服務接受從 192.168.248.1 來的連線
[2013/11/15 下午 01:54:29] [3276] 192.168.248.1 要求 SMTP 服務 - 寄信人是 liin@192.168.248.130
[2013/11/15 下午 01:54:29] [3276] 192.168.248.1 - 郵件內容已收到 (To:test@192.168.248.130) 283 bytes ( 0.4 KB/s)
[2013/11/15 下午 01:54:29] [3276] SMTP 服務中斷從 192.168.248.1 來的連線
[2013/11/15 下午 01:54:29] [3276] 儲存郵件到 <test> 的信箱, 檔名為 _20131115135429-1965673-3276.eml 464 bytes
-----------------------------------------------------------------------

但同時間我使用Wireshark 去察看smtp封包狀況,顯示確實認證失敗。但卻又可以寄信!!
-----------------------------------------------------------------------
S: 220 192.168.248.130 Welcome to RaidenMAILD ESMTP service v2108, Fri, 15 Nov 2013 14:01:40 +0800, (C)2001-2012
C: EHLO LiinS7
S: 250 ETRN | 250 AUTH LOGIN | 250 8BITMIME | 250 SIZE 1048576
C: AUTH login User: bGlpbkAxOTIuMTY4LjI0OC4xMzA=
S: 334 UGFzc3dvcmQ6
C: Pass: UEBzc3cwcmQ=
S: 535 Authentication failed
C: MAIL FROM:<liin>
S: 250 liin@192.168.248.130 Sender OK
C: RCPT TO:<test>
S: 250 test@192.168.248.130 recipient verified
C: RSET
S: 250 OK
C: RSET
S: 250 OK
C: MAIL FROM:<liin>
S: 250 liin@192.168.248.130 Sender OK
C: RCPT TO:<test>
S: 250 test@192.168.248.130 recipient verified
C: DATA
S: 354 start mail input; end with <CRLF>.<CRLF>
C: DATA fragment, 278 bytes
from: liin@192.168.248.130, subject: .NET SmtpClient Test, (text/html)
S: 250 mail received, ready to proceed.
C: QUIT
S: 221 RaidenMAILD SMTP service signing off

-----------------------------------------------------------------------

很奇怪吧。 同樣的設定,我在使用以下VBS去寄信,卻又無法成功(因為帳密錯誤)
strUser = "liin"
strPaswd= "xxxxxxxxxxx"
strSMTP = "192.168.248.130"
strFrom = "liin@" & strSMTP
strTo = "test@" & strSMTP


Set objEmail = CreateObject("CDO.Message")
objEmail.From = strFrom
objEmail.To = strTo
objEmail.Subject = "[VBS] mail Test!!"
objEmail.Textbody = ".---------------. BODY TEST"

objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTP
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = strUser
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strPaswd
objEmail.Configuration.Fields.Update
objEmail.Send


-----
S: 220 192.168.248.130 Welcome to RaidenMAILD ESMTP service v2108, Fri, 15 Nov 2013 14:06:57 +0800, (C)2001-2012
C: EHLO LiinS7
S: 250 ETRN | 250 AUTH LOGIN | 250 8BITMIME | 250 SIZE 1048576
C: AUTH LOGIN
S: 334 VXNlcm5hbWU6
C: User: bGlpbg==
S: 334 UGFzc3dvcmQ6
C: Pass: UEBzc3cwcmRYWFg=
S: 535 Authentication failed
C: QUIT
S: 221 RaidenMAILD SMTP service signing off


-----
[2013/11/15 下午 02:06:57] [3276] SMTP 服務接受從 192.168.248.1 來的連線
[2013/11/15 下午 02:06:57] [3276] SMTP 服務中斷從 192.168.248.1 來的連線
回頂端
檢視會員個人資料 發送私人訊息
Arnor
究極の素還尊
究極の素還尊


註冊時間: 2001-11-07
文章: 13008
來自: TAIWAN

發表發表於: 星期五 十一月 15, 2013 2:59 pm    文章標題: 引言回覆

你是寄給本機的用戶, 沒有道理"一定要驗證成功"才能收呀..
寄信給本機的信箱不算是轉寄.
寄信(從mail client 寄出)跟轉寄(server 將信轉到第三方)指得是不同程度的事.

舉例: gmail 寄給你的 test, gmail 要驗證成功嗎? 這樣想就通了吧.


你上述的寄信程式, 就去寄外界信箱, 自然就得到你想要的被拒結果了.
_________________
*若是想問問題的話, 請務必不要塗改任何 IP, 網域資料, 您若不願貼上IP或網域, 請改以電子郵件來詢問. 謝謝您的配合.*
*若是回報疑似軟體的運行或邏輯或資料處理有誤的問題, 小弟很樂意去了解您的情況, 但請務必以最新版來做回報, 如果以郵件詢問, 請參考 http://www.raidenmaild.com/tw/feedback.html 的說明, 最好標題加個 RaidenMAILD 字樣, 才不致會遺漏了您的信唷. 謝謝您的配合^^*
*在版上發文請遵守網路禮儀, 並請持著虛心敘述問題請教他人, 凡發現違反的文, 均一律刪除為優先, 不另行通知喔.
*與使用者教學相長腦力激盪是我輩成就感的來源, 誠心希望您能不吝指教.
*雷電MAILD 知識庫文件 http://www.raidenmaild.com/tw/kb/

素還尊
Team John Long.
Email: arnor@raidenmaild.com
公司網站 http://www.raidenmaild.com/company/
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
liin
一級


註冊時間: 2012-03-12
文章: 6
來自: TAIWAN

發表發表於: 星期五 十一月 15, 2013 4:08 pm    文章標題: 引言回覆

感謝您的迅速回覆,我還有以下幾點請教:

    我啟動了STMP AUTH功能,這樣不能限制本機(本MAIL Server)上的USER,不管是要寄給外部MAIL SERVER,還是寄給自己MAIL SERVER的其他帳號,在每次要寄信的時候,一定要通過認證才可以寄信嗎?
    還是說我可以怎麼設定,達到這個要求。


    還是說要寄信給本機的用戶,無法限制寄件者一定要先通過帳密認證嗎? 在不使用WEB MAIL 介面的時候。

    我透過VBS的語法寄信給自己MAIL SERVER不同的USER,卻被顯示認證失敗,無法寄信。但這表示MAIL SERVER拒絕寄信,雖然是要寄給自己本身的帳號。
    相同邏輯,我用.NET寫的程式使用SmtpClient物件卻又是認證失敗,但可以寄信給同MAIL SERVER的使用者。 VBS與.NET會跑出不同結果,是前端MAIL Client去控制的嗎?
[/list]
回頂端
檢視會員個人資料 發送私人訊息
Arnor
究極の素還尊
究極の素還尊


註冊時間: 2001-11-07
文章: 13008
來自: TAIWAN

發表發表於: 星期五 十一月 15, 2013 4:57 pm    文章標題: 引言回覆

有點要解釋SMTP的行為, 您參考一下.

寄信有分寄到本機信箱跟外界信箱兩種.

伺服器收到這封信若是本機信箱, 它是一定要收的(它不收誰收?)
所以, 管你有沒有驗證, 有沒有成功, 只要他要寄這信, 這個寄信動作基本上就是該進行的.

而當伺服器收到一封信是表明要寄到外界去, 它就有必要看看是否允許轉寄.
所以就會檢查權限部份, 不管是IP, 還是使用者帶出的SMTP AUTH 驗證, 最終就是要看看這次連線可否轉寄, 可以的話就接下信件工作.

以上是 SMTP 部份.

至於你的第一個程式回應, 其實, 當驗證不成功的時候, 它竟還繼續送出之後的指令,
就沒法做到流程控制了, 很有可能使用者永遠不知道原來他根本帳密就不對,
對程式而言, 有點像"單方面講話", 完全不聽伺服器的回應, 這樣不太好.
不過可能你是用元件, 可能它本身就沒這種處理, 你所能接收到的回應情況可能是有限制的, 沒法控制所有狀況也沒辦法.

第二個 vb 程式就正確了.
_________________
*若是想問問題的話, 請務必不要塗改任何 IP, 網域資料, 您若不願貼上IP或網域, 請改以電子郵件來詢問. 謝謝您的配合.*
*若是回報疑似軟體的運行或邏輯或資料處理有誤的問題, 小弟很樂意去了解您的情況, 但請務必以最新版來做回報, 如果以郵件詢問, 請參考 http://www.raidenmaild.com/tw/feedback.html 的說明, 最好標題加個 RaidenMAILD 字樣, 才不致會遺漏了您的信唷. 謝謝您的配合^^*
*在版上發文請遵守網路禮儀, 並請持著虛心敘述問題請教他人, 凡發現違反的文, 均一律刪除為優先, 不另行通知喔.
*與使用者教學相長腦力激盪是我輩成就感的來源, 誠心希望您能不吝指教.
*雷電MAILD 知識庫文件 http://www.raidenmaild.com/tw/kb/

素還尊
Team John Long.
Email: arnor@raidenmaild.com
公司網站 http://www.raidenmaild.com/company/
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
liin
一級


註冊時間: 2012-03-12
文章: 6
來自: TAIWAN

發表發表於: 星期六 十一月 23, 2013 12:49 pm    文章標題: 引言回覆

Arnor:
您的說明我理解了,但還有以下幾點請教一下。

那如果我把RaidenMailD 建置在internet成為一個公開的mail Server。是否只要有人有意圖塞爆我的信箱,就可以不用透過SMTP認證就可以直接送進到我的本機帳號了。

我理解SMTP Server之間都會使用25 port進行郵件傳送,當信件是我這台SMTP Server的我就一定要收下。

但當我是一個MUA的時候,也是使用25 port與SMTP Server進行信件傳送(寄送):如果是轉寄至其他SMTP Server就可以設定必須通過SMTP Auth才幫忙轉信。但如果直接寄到本身自己SMTP Serer的使用者就一定收下,不用經過SMTP Auth就可以直接寄信。

我以上的描述正確嗎?
那是否有什麼機制可以限定,無論是寄給本機的使用者或需要轉寄至其他SMTP Server,都必須要進過SMTP AUTH或其他方式的登入呢?

我想要避免任何非經過授權的MUA可以透過我的SMTP Server寄信,不知道是否可以辦到?

我知道收信是一定要經過登入的動作,但是否寄信也可以有如此機制呢?

感謝您
回頂端
檢視會員個人資料 發送私人訊息
Arnor
究極の素還尊
究極の素還尊


註冊時間: 2001-11-07
文章: 13008
來自: TAIWAN

發表發表於: 星期六 十一月 23, 2013 7:10 pm    文章標題: 引言回覆

liin 寫到:
Arnor:
您的說明我理解了,但還有以下幾點請教一下。

那如果我把RaidenMailD 建置在internet成為一個公開的mail Server。是否只要有人有意圖塞爆我的信箱,就可以不用透過SMTP認證就可以直接送進到我的本機帳號了。

是的.
引言回覆:

我理解SMTP Server之間都會使用25 port進行郵件傳送,當信件是我這台SMTP Server的我就一定要收下。

但當我是一個MUA的時候,也是使用25 port與SMTP Server進行信件傳送(寄送):如果是轉寄至其他SMTP Server就可以設定必須通過SMTP Auth才幫忙轉信。但如果直接寄到本身自己SMTP Serer的使用者就一定收下,不用經過SMTP Auth就可以直接寄信。

我以上的描述正確嗎?

是的.
引言回覆:

那是否有什麼機制可以限定,無論是寄給本機的使用者或需要轉寄至其他SMTP Server,都必須要進過SMTP AUTH或其他方式的登入呢?

我想要避免任何非經過授權的MUA可以透過我的SMTP Server寄信,不知道是否可以辦到?

我知道收信是一定要經過登入的動作,但是否寄信也可以有如此機制呢?

感謝您


可以喔. maild 有這個機制選項,
在伺服器設定-其它設定(2)-8. 檢查寄件人 - 2. [內送時] 本地寄件人需身份驗證.
外寄就不用說了, 本來就是要驗證才能外寄.
_________________
*若是想問問題的話, 請務必不要塗改任何 IP, 網域資料, 您若不願貼上IP或網域, 請改以電子郵件來詢問. 謝謝您的配合.*
*若是回報疑似軟體的運行或邏輯或資料處理有誤的問題, 小弟很樂意去了解您的情況, 但請務必以最新版來做回報, 如果以郵件詢問, 請參考 http://www.raidenmaild.com/tw/feedback.html 的說明, 最好標題加個 RaidenMAILD 字樣, 才不致會遺漏了您的信唷. 謝謝您的配合^^*
*在版上發文請遵守網路禮儀, 並請持著虛心敘述問題請教他人, 凡發現違反的文, 均一律刪除為優先, 不另行通知喔.
*與使用者教學相長腦力激盪是我輩成就感的來源, 誠心希望您能不吝指教.
*雷電MAILD 知識庫文件 http://www.raidenmaild.com/tw/kb/

素還尊
Team John Long.
Email: arnor@raidenmaild.com
公司網站 http://www.raidenmaild.com/company/
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    尊龍佈告欄 首頁 -> 雷電MAILD (mail server) 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票


Powered by phpBB © 2001-2007 phpBB Group