Email-Server

使用 swaks 驗證 MTA 的正確行為

  • May 12, 2016

我正在尋找一些建議,我應該在我的全新郵件伺服器上檢查它的正確行為。/說行為,因為它正在工作 - 只是但要確定它是否正常工作。/

我不想僅僅因為例如我忘記了禁止明文身份驗證而被列入黑名單。

希望swaks用於“從網際網路端”驗證功能。

我首先想到的是:

  1. 開放繼電器 - 不應該被允許
  2. 正如我上面所說 - 不允許純文字身份驗證 - 僅允許超過 tls。
  3. 嘗試傳遞給不存在的本地使用者 - 應該失敗
  4. 驗證postmaster濫用別名的傳遞(存在)(建議使用其他別名?)

所以

swaks --to .. --from .. --auth-user name --auth-password pass --protocol SMTP
                                                               ^^^^^^^^^^^^^

如果這失敗了,那麼消息對於 2*** Host did not advertise authentication來說就足夠了。?

我必須/應該驗證的任何其他想法?這swaks是一個很棒的工具——如果你知道如何使用它:) 使用“exim”作為 MTA。你最喜歡的小貼士是什麼?

您的範例不足以表明非 tls 連接不允許純文字身份驗證。 --protocol SMTP明確告訴 swaks 不要使用 ESMTP,並且需要 ESMTP 進行身份驗證。換句話說,您正在測試不通過 SMTP 提供身份驗證,而不是通過明文連接不提供明文身份驗證。(誰先上!)。

以下更接近您正在尋找的內容:

# These should fail, because you don't want to offer plaintext auth protocols
# over non-tls connections
swaks ... --auth PLAIN --auth-user .. --auth-password ..
swaks ... --auth LOGIN --auth-user .. --auth-password ..

# Should succeed because hashed PW protocols are ok over plaintext (assuming you
# support them at all of course):
swaks ... --auth CRAM-MD5 --auth-user .. --auth-password ..
swaks ... --auth DIGEST-MD5 --auth-user .. --auth-password ..
swaks ... --auth NTLM --auth-user .. --auth-password ..

# The converse of the above, make sure your plaintext password work over tls
# sessions (assuming you want them to, of course)
swaks ... --auth PLAIN --auth-user .. --auth-password .. --tls
swaks ... --auth LOGIN --auth-user .. --auth-password .. --tls
swaks ... --auth CRAM-MD5 --auth-user .. --auth-password .. --tls
swaks ... --auth DIGEST-MD5 --auth-user .. --auth-password .. --tls
swaks ... --auth NTLM --auth-user .. --auth-password .. --tls

希望對你有幫助,祝你好運!

引用自:https://serverfault.com/questions/502973