Я пытаюсь настроить политику в Zimbra, которая устанавливает максимальное количество исходящих писем для данного отправителя (пользователь @ домен). Я тестировал его с помощью простого скрипта для входа на SMTP-сервер и отправки тестового письма. Я заметил, что если я пропустил информацию для входа в систему, запрос SMTP был отклонен (Ошибка авторизации), но счетчик политик квоты все равно увеличивался!
Есть ли способ предотвратить неудачные попытки входа в систему до достижения политики? Я беспокоюсь, что это может быть использовано как DOS-атака.
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 постфикс отклоняет электронную почту, выдав сообщение об ошибке «авторизация не удалась».
На основе анализа, приведенного выше, этого поведения можно избежать, удалив check_policy_services в smtpd_sender_restrictions. Postfix по-прежнему вызывает check_policy_services в smptd_recipient_restrictions.
Отказ от ответственности: