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.