Назад | Перейти на главную страницу

Проверка правильности поведения MTA с помощью swaks

Я ищу совета, что мне следует проверить на моем новом почтовом сервере на предмет его правильного поведения. / говорю поведение, потому что оно работает - просто но хочу быть уверенным, что оно работает правильно. /

Я не хочу попадать в черный список только потому, что, например, я забыл запретить аутентификацию открытым текстом.

Хочу использовать swaks для проверки работоспособности «со стороны интернета».

Первое, что приходит мне в голову:

  1. открытое реле - нельзя допускать
  2. как я сказал выше - запрещенная аутентификация в виде обычного текста - разрешить только через tls.
  3. попытаться доставить несуществующему локальному пользователю - не удастся
  4. проверить доставку (наличие) почтмейстер и злоупотребление псевдонимы (рекомендуется иметь какие-то другие?)

так

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

Если это не удается, с сообщением *** Host did not advertise authentication является достаточно Хорошо для 2.?

Есть еще идеи, что я должен / должен проверить? В 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

Надеюсь, что это поможет, удачи!

Тест на открытое реле:

$ swaks -f user@example.info -t other@example.com --server host.yourserver.com

Тест на несуществующую доставку пользователей

$ swaks -f user@example.info -t nonexistent@yourserver.com --server host.yourserver.com

Вам следует проверить правильность всех портов электронной почты (25 465, 587), возможно, кто-то подскажет, как это сделать.