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

Postfix + Dovecot SASL - нужно ловить всех с виртуальными пользователями

У меня есть экземпляр Postfix, использующий SASL с Dovecot для аутентификации. Я использую virtual_alias_maps для некоторой перезаписи адресов, но я не могу использовать определение catch all (@domain newaddress), поскольку Postfix соответствует этому, прежде чем выполнять какую-либо аутентификацию с Dovecot.

Dovecot и Postfix используют мой сервер AD в качестве бэкэнда для пользователей / групп / и т. Д.

Я просмотрел всю соответствующую документацию Postfix для виртуальных псевдонимов, карт и т.д., и я не могу этого понять. Кто-нибудь знает, как я могу реализовать адрес для приема всей почты в электронной почте, отправляемой в мой домен, для которой у меня нет учетной записи / группы в AD, с которой Dovecot могла бы сопоставить?

РЕДАКТИРОВАТЬ:

КОНФИГУРАЦИОННЫЕ ВЫДЕРЖКИ:

proxy_read_maps = $local_recipient_maps, $mydestination, $virtual_alias_maps, $virtual_mailbox_maps, $virtual_mailbox_domains, $relay_recipient_maps, $relay_domains, $canonical_maps, $sender_canonical_maps, $recipient_canonical_maps, $relocated_maps, $transport_maps, $my networks, $virtual_sender_maps, $admins_only, $protected_destinations
virtual_mailbox_maps = proxy:ldap:/etc/postfix/ad_virtual_mailbox_maps.cf
virtual_sender_maps = proxy:ldap:/etc/postfix/ad_sender_login_maps.cf
virtual_alias_maps = proxy:ldap:/etc/postfix/ad_virtual_group_maps.cf,hash:/etc/postfix/virtual

#SASL Stuff
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = DOMAIN.COM
smtpd_client_restrictions = permit_mynetworks,permit
smtpd_recipient_restrictions = check_recipient_access $protected_destinations permit_mynetworks permit_auth_destination permit_sasl_authenticated reject_unauth_destination
smtpd_sender_login_maps = $virtual_sender_maps

Я предполагаю, что я хочу знать: есть ли 1) общепринятый способ сделать это или 2) способ изменить порядок, в котором postfix проверяет карты?

1) Приемлемый способ реализации спамера: его нет.

Принятие спама (с большой вероятностью, что он позже будет отклонен и, следовательно, сделает вас производителем обратного рассылки) неприемлемо, точка.
Вместо этого настройте свою систему так, чтобы она принимала только нужные сообщения, используя действительные списки получателей, такие как те, что есть в LDAP.

Если вы абсолютно должен принимать недействительных получателей, убедитесь, что вы никогда не отбрасывайте ничего, отправленное на недопустимые адреса.
Ответственность за то, чтобы не рассылаться спам обратного рассеяния, лежит на вас; кроме того, это может привести к попаданию вашей системы в черный список и, следовательно, к ограничению вашей способности отправлять почту.

2) Изменение порядка постфиксов обрабатывает карты: нет, это невозможно, так как каждая карта имеет конкретное (и разное) назначение.

Хотя неэлегантный, есть способ добиться этого. Под этим я подразумеваю следующее:

  • Предположения: Postfix + Dovecot, SASL, виртуальные домены, smtpd_relay_restrictions = ... reject_unverified_recipient ...
  • если указанный пользователь существует: доставить им почту
  • если указанный пользователь не существует, доставлять почту на общий адрес

Все, что вам нужно сделать, это перечислить всех пользователей в /etc/postfix/virtual и закончите его общим адресом:

john.doe@example.com  john.doe@example.com
jane.doe@example.com  jane.doe@example.com
# Any other address will be caught by the catch-all below,
# even if an account exists in Dovecot
@example.com          spam-magnet@example.com

Опять же, я должен отметить, что это неэлегантно, потому что практически разрушает идею проверки пользователей через Dovecot.

Источник: https://serverfault.com/a/696298