zimbra 8 policyd не удалось SMTP счетчик квот приращений

Я пытаюсь настроить политику полисида в Zimbra, которая устанавливает максимальное количество исходящих электронных писем для данного отправителя (user@domain). Я тестировал его с помощью простого скрипта для входа на SMTP-сервер и отправки тестового письма. Я заметил, что если я пропустил информацию для входа в систему, SMTP-запрос был отклонен (Авторизация завершилась неудачей), но счетчик квот поликсида все еще увеличивался!

Есть ли какой-нибудь способ не допустить неудачных попыток входа в систему до достижения политики? Я беспокоюсь, что это может быть использовано как DOS-атака.

1 ответ

Вступление

Zimbra - это электронная почта и совместные костюмы. Он использует постфикс в качестве MTA. При желании вы можете включить policyd для предоставления ограничивающих функций, таких как квота или газ.

Каждая конфигурация может быть изменена с помощью веб-интерфейса или интерфейса командной строки. Прямое редактирование файла конфигурации / базы данных не должно быть сделано. Zimbra может перезаписать его при обновлении или перезапуске.

Включение полисида

В соответствии с этой страницей, мы можем включить policyd, выполнив только две командные строки.

В фоновом режиме, zimbra будет изменена конфигурация постфикса. Здесь postconf -n вывод до и после включения полисида.

smtpd_client_restrictions = reject_unauth_pipelining
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_end_of_data_restrictions =
smtpd_etrn_restrictions =
smtpd_helo_restrictions =
smtpd_recipient_restrictions = yreject_non_fqdn_recipient, permit_sasl_authenticated, permit_mynetworks, reject_unlisted_recipient, reject_invalid_helo_hostname,  reject_non_fqdn_sender, permit
smtpd_relay_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_restriction_classes =
smtpd_sender_restrictions =

После

smtpd_client_restrictions = reject_unauth_pipelining
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_end_of_data_restrictions = check_policy_services 127.0.0.1:10031
smtpd_etrn_restrictions =
smtpd_helo_restrictions =
smtpd_recipient_restrictions = check_policy_services 127.0.0.1:10031, reject_non_fqdn_recipient, permit_sasl_authenticated, permit_mynetworks, reject_unlisted_recipient, reject_invalid_helo_hostname,  reject_non_fqdn_sender, permit
smtpd_relay_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_restriction_classes =
smtpd_sender_restrictions = check_policy_services 127.0.0.1:10031

Анализ

Поведение, которое произошло в вашей зимбре, может быть объяснено после анализа результатов postconf -n, На этапе smtpd_sender_restrictions zimbra уже связывается с policyd (с помощью check_policy_services). На этом этапе счетчик уже увеличивался. На этапе smtpd_relay_restrictions postfix отклоняет сообщение, отправляя сообщение об ошибке "Авторизация не удалась".

Решение

Основываясь на анализе выше, поведение можно предотвратить, удалив check_policy_services в smtpd_sender_restrictions. Postfix по-прежнему вызывает check_policy_services в smptd_recipient_restrictions.

Отказ от ответственности:

  • Это относится к зимбре версии 8.0.7. Другая версия, возможно, не получает эту ошибку.
  • Как указано выше, прямое редактирование в файле конфигурации официально не поддерживается. Возможно, есть причина дизайна, по которой Zimbra установила policyd раньше, и прямое редактирование может сломать его. В целях безопасности вы можете опубликовать его в службе поддержки Zimbra и обсудить его с разработчиками Zimbra.
Другие вопросы по тегам