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

Как мне сказать Postfix ослабить smtpd_sender_restrictions?

Если я подключаюсь к Postfix на моем сервере с почтовым клиентом на порту 143 с SSL, то почта, отправляемая через это соединение из виртуального домена, проходит через smtpd_sender_restrictions и, таким образом, позволяет фильтру, который направляет его в amavis, добавлять свою подпись DKIM перед передачей.

Пока все хорошо, но ...

Однако если я создам электронное письмо от того же пользователя @ virtual_domain как указано выше, непосредственно из Drupal (или Roundcube, запущенного для аутентифицированного пользователя, если на то пошло), запущенного на том же сервере, что и Postfix, это электронное письмо не проходит smtpd_sender_restrictions и, таким образом, не попадает в amavis и не получает свою подпись DKIM.

Что мне делать, чтобы мои локальные (программно сгенерированные) электронные письма передавали smtpd_sender_restrictions? Кажется, я не вижу условий здесь в руководстве что я могу добавить к правилу, чтобы расслабить его? Вот правило, которое я использую в /etc/postfix/main.cf:

    ##################                                                                                                                                             
    # SASL Settings and DKIM Settings                                                                                                                              
    # See http://gogs.info/books/debian-mail/chunked/postfix.sasl.html                                                                                             
    # See http://gogs.info/books/debian-mail/chunked/antispam.dkim.html                                                                                            
    ##################                                                                                                                                             
    smtpd_sender_restrictions =
    # If mail is coming from mynetwork or from authenticated users use amavis filtering on port 10026 (DKIM signing)                                               
      check_sender_access regexp:/etc/postfix/amavis/tag_as_originating.re
      permit_mynetworks
      permit_sasl_authenticated
      permit_tls_clientcerts
    # For other mail use amavis filtering on port 10024 (skips DKIM signing)                                                                                       
      check_sender_access regexp:/etc/postfix/amavis/tag_as_foreign.re

Я управляю m виртуальными доменами с помощью Post Admin, и разрешенные отправители перечислены здесь:

    virtual_mailbox_domains = mysql:/etc/postfix/sql/virtual_domains_maps.cf  

и я имею smtpd_recipient_restrictions для защиты от произвольной открытой ретрансляции.

На моем Exim MTA я подписываю каждое исходящее сообщение. Я вижу смысл Postfix smtpd_sender_resrictions но я не могу заставить их делать то, что я хочу здесь.

Я мог направлять сообщения, приходящие через pickup пройти в amavis через порт 10026, чтобы подписать их DKIM.

Эти сообщения создаются либо веб-сайтом Drupal на моем сервере (которому я доверяю), либо пользователями, входящими в свою веб-почту Roundcube.

Я просто добавил эти два аргумента к существующим pickup транспорт в /etc/postfix/master.cf:

    pickup fifo n - - 60 1 pickup
      -o smtpd_tls_security_level=encrypt
      -o content_filter=smtp-amavis:[127.0.0.1]:10026

(Благодаря blog.purrdeta.com для указателей)

Транспорт smtp-amavis уже был определен в master.cf и используется сообщениями, поступающими через smtpd очередь.

Мне потребовалось некоторое время, чтобы понять, что эти сообщения проходят через очередь получения и, следовательно, не подлежат smtpd_sender_restrictions в моем первоначальном вопросе. За осознание этой ошибки я должен поблагодарить очень ясного объяснение архитектуры Postfix.