saslauthd: как остановить (грубой силы) попытки аутентификации на порту 25?

Вопрос или проблема

У меня saslauthd работает правильно на порту smtps, пользователи могут отправлять электронные письма, где бы они ни находились. У меня также есть правило брандмауэра, разрешающее доступ к SMTPS только из определенных стран.

Однако я постоянно вижу строки в maillog (см. ниже), которые просто являются попытками грубой силы аутентификации на порту smtp (25). Мне не нужна аутентификация на порту 25, так как мои пользователи используют smtps, но я не могу закрыть его брандмауэром, так как нам нужно получать электронные письма отовсюду.

Итак, как я могу отключить аутентификацию на порту 25 для SASLAUTHD, при этом продолжая принимать почту в обычном режиме?

Следующие строки взяты из /var/log/secure, большинство предположений ИМЕНИ ПОЛЬЗОВАТЕЛЯ также неверны:

Jan 13 12:57:33 mail saslauthd[1932]: : auth failure: [user=USER1] [service=smtp] [realm=barrett.com.au] [mech=pam] [reason=PAM auth error]
Jan 13 12:57:43 mail saslauthd[1931]: : auth failure: [user=USER2] [service=smtp] [realm=barrett.com.au] [mech=pam] [reason=PAM auth error]
Jan 13 12:57:58 mail saslauthd[1932]: : auth failure: [user=USER3] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
Jan 13 13:26:25 mail saslauthd[1932]: : auth failure: [user=USER4] [service=smtp] [realm=barrett.com.au] [mech=pam] [reason=PAM auth error]
Jan 13 13:26:51 mail saslauthd[1929]: : auth failure: [user=USER5] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
Jan 13 14:10:14 mail saslauthd[1930]: : auth failure: [user=USER6] [service=smtp] [realm=barrett.com.au] [mech=pam] [reason=PAM auth error]
Jan 13 14:10:31 mail saslauthd[1933]: : auth failure: [user=USER7] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
Jan 13 14:11:45 mail saslauthd[1931]: : auth failure: [user=USER8] [service=smtp] [realm=barrett.com.au] [mech=pam] [reason=PAM auth error]
Jan 13 14:11:58 mail saslauthd[1933]: : auth failure: [user=USER9] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
Jan 13 15:09:53 mail saslauthd[1933]: : auth failure: [user=USERa] [service=smtp] [realm=barrett.com.au] [mech=pam] [reason=PAM auth error]
Jan 13 15:10:07 mail saslauthd[1929]: : auth failure: [user=USERb] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]

Ответ или решение

  1. Теория (Theory):

Проблема заключается в том, что сервер, настроенный на получение и отправку электронной почты, подвергается атакам методом грубой силы на порту 25, который используется для входящей почты (SMTP). Основной задачей является отключение аутентификации посредством saslauthd на этом порту, сохраняя возможность приема писем откуда угодно. Порт 25 не должен использовать аутентификацию, так как его основная функция — это получение входящей почты, тогда как SMPTS (обычно порт 465 или 587) защищен и используется для исходящей аутентифицированной почты.

  1. Пример (Example):

В предоставленных логах мы видим многочисленные попытки подбора паролей через saslauthd с использованием несуществующих или неправильных имен пользователей. Эти попытки, попадая в логи /var/log/secure, показывают ненужные обращения к PAM (Pluggable Authentication Module) через аутентификацию SASL (Simple Authentication and Security Layer) на SMTP сервере.

  1. Применение (Application):

Для достижения поставленной цели можно выполнить несколько шагов:

  • Конфигурация SMTP-сервера (например, Postfix):

    • Перейдите в основной файл конфигурации Postfix, обычно это /etc/postfix/main.cf.
    • Отключите аутентификацию SASL для порта 25. Убедитесь, что строки подобные:
      smtpd_sasl_auth_enable = yes

      настроены только для портов SMTPS, например, 465 или 587. Для порта 25 переменной должно быть присвоено значение no:

      smtpd_sasl_auth_enable = no
  • Альтернативные решения:

    • Fail2ban или аналогичные системы: Установите и настройте Fail2ban для блокировки IP-адресов, совершающих подозрительно частые аутентикационные попытки. Это добавит слой защиты от атак методом грубой силы.
    • Использование Postfix restrictions: Настройте smtpd_recipient_restrictions и smtpd_client_restrictions, чтобы заблокировать аутентификацию только для нужных портов.
  • Тестирование и внедрение:

    • После изменения конфигурации перезапустите сервисы (например, командой systemctl restart postfix), чтобы изменения вступили в силу.
    • Проверьте логи снова, убедившись, что попытки аутентификации через saslauthd на порту 25 прекратились.

Эти шаги помогут избавиться от ненужных попыток аутентификации на порту 25, сохраняя при этом полную функциональность для приема писем со всего мира.

Оцените материал
Добавить комментарий

Капча загружается...