使用 swak 验证 MTA 的正确行为

kob*_*ame 6 email-server

我正在寻找一些建议,我应该在我全新的邮件服务器上检查它的正确行为。/说行为,因为它正在工作 - 但要确定它是否正常工作。/

我不想被列入黑名单,因为例如我忘记了禁止明文身份验证。

swaks用于“从互联网端”验证功能。

我首先想到的是:

  1. 开放中继 - 不应该被允许
  2. 正如我上面所说 - 不允许纯文本身份验证 - 只允许通过 tls。
  3. 尝试交付给不存在的本地用户 - 应该会失败
  4. 验证邮递员滥用别名的传递(存在)(建议使用其他一些?)

所以

swaks --to .. --from .. --auth-user name --auth-password pass --protocol SMTP
                                                                ^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

如果失败,该消息*** Host did not advertise authentication足够好为2?

我必须/应该验证的任何其他想法?这swaks是一个很棒的工具 - 如果您知道如何使用它 :) 使用“exim”作为 MTA。你最喜欢的 swaks 小费是什么?

jj3*_*j33 3

您的示例不足以表明不允许通过非 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
Run Code Online (Sandbox Code Playgroud)

希望有帮助,祝你好运!