Postfix help

Postfix

Postfix — это агент передачи сообщений (MTA) электронной почты при помощи протокола SMTP. В примерах используются домены example.com и example.net, которые согласно RFC 2606 зарезервированы для написания документации и примеров.

  • RFC2060 — Internet Message Access Protocol
  • RFC2505 — Anti-Spam Recommendations for SMTP MTAs
  • RFC2821 — Simple Mail Transfer Protocol
  • RFC2476 — Message Submission
  • RFC2554 — SMTP Service Extension for Authentication
  • RFC4422 — Simple Authentication and Security Layer (SASL)

Варианты конфигурации Postfix

Errors

Утилиты Postfix. Администрирование.

  • Параметры конфигурации в ОС или на сайте Postfix Configuration Parameters

    man 5 postconf
  • postfix check — postfix проверяет свои конфигурационные файлы, если все в порядке — сообщений не будет.
  • mailq — получение идентификаторов (ID) писем в почтовой очереди. Посмотреть сколько и какие письма в очереди.
  • qshape Print Postfix queue domain and age distribution

    # qshape deferred
                                             T  5 10 20 40 80 160 320 640 1280 1280+
                                      TOTAL  3  1  0  0  0  0   1   0   1    0     0
                                     tdm.mz  1  1  0  0  0  0   0   0   0    0     0
                                 scarlet.an  1  0  0  0  0  0   1   0   0    0     0
                                omantel.com  1  0  0  0  0  0   0   0   1    0     0
    
  • postcat -q — прочитать письмо в почтовой очереди (задав его идентификатор, полученный из mailq)
  • postconf myhostname — проверить значение параметра myhostname. С ключом e можно редактировать main.cf, например

    # sudo postconf -e myhostname=mail.example.com
  • Поиск ошибок в log с помощью регулярного выражения:

    egrep '(reject|error|warning|fatal|panic):' /var/log/mail.log
  • Посмотреть активные настройки Postfix:

    postconf -d
  • Команда на немедленную доставку писем:

    postsuper -r ALL; postfix flush
  • Команда на немедленную доставку конкретного письма по ID. ID получаем командой mailq:

    postsuper -r ID
  • Полная очистка очереди исходящих писем

    postsuper -d ALL
  • Удаление группы писем от определенного FROM (на примере MAILER-DAEMON):

    FreeBSD:
    mailq | grep 'MAILER-DAEMON' | awk '{print $1}' | xargs -I{} -n1 postsuper -d {}
    Linux:
    mailq | grep 'MAILER-DAEMON' | awk '{print $1}' | xargs -I{} -n1 /usr/sbin/postsuper -d {}
  • Удаление группы писем от определенного FROM в статусе REQUIRE:

    mailq | grep 'MAILER-DAEMON' | awk '{print $1}' | tr -d '*' | xargs -I{} -n1 postsuper -d {}
  • Для серверов с несколькими IP. Иногда бывает нужно, чтобы Postfix отправлят почту от конкретного IP. Редактируем

    /etc/postfix/master.cf:
     smtp      unix  -       -       n       -       -       smtp -o smtp_bind_address=11.22.33.44

main.cf

Директивы файла main.cf:

  • inet_interfaces. Postfix IP address bind configuration:

    # postconf -n inet_interfaces
    inet_interfaces = all
    inet_interfaces = all
    or
    inet_interfaces = loopback-only
    or
    inet_interfaces = 192.5.17.12,127.0.0.1
  • myhostname указывает полное доменное имя машины (fully-qualified domain name — FQDN), на которой функционирует Postfix. Используется в приветствие HELO, когда Postfix передает сообщения другим серверам (т.е. выступает в роли почтового клиента). По умолчанию, myhostname устанавливается в имя локальной машины.
  • mydestination. Сервер Postfix идентифицирует себя как место конечного назначения только для доменов, имена которых определены в параметре mydestination. Postfix также идентифицирует себя как место конечного назначения для адресов в форме user@[IP адрес], где указан один из IP адресов Postfix. В самом простом случае там должны быть указаны все возможные имена вашего сервера, чтобы локальная почта от ваших системных демонов приходила к вам, а не отбрасывалась

    mydestination = localhost.example.com, localhost, mail.example.com
  • myorigin — добавляется к адресу отправителя или получателя, если он указан не полностью, например root. Если значение myorigin не задано, то по умолчанию будет подставляться значение myhostname, например короткий адрес root превратиться в root@mail.example.com.
  • alias_maps = hash:/etc/aliases — перенаправление сообщений для root в другой почтовый ящик. Использование newaliases.
  • relay_domains указывает Postfix на необходимость приема почты для этих доменов несмотря на то, что данный сервер не является местом их конечного назначения.
  • virtual_mailbox_domains указывает Postfix, что он является местом конечного назначения для одного или нескольких доменов виртуальных почтовых ящиков.
  • virtual_mailbox_maps список почтовых ящиков. По умолчанию почтовые ящики имеют формат mbox, чтобы задать формат Maildir нужно добавить черту «/» в конец имени почтового ящика.
  • virtual_alias_maps служит для переадресации сообщений для обязательных пользователей.
  • smtpd_discard_ehlo_keywords: Postfix DSN DSN — Delivery Status Notifications, которая предоставляет отправителю почты уведомления о статусе его писем. Статусы могут быть — success, failure, delay, none.
  • sender_canonical_maps Изменение Return-Path (адрес отправителя). В main.cf добавляем строку sender_canonical_maps = hash:/etc/postfix/sender_canonical

    # nano /etc/postfix/sender_canonical
    apache@cz.host-telecom.com billing@example.com
    # postmap /etc/postfix/sender_canonical

Restrictions Postfix

  • mime_header_checks — проверка MIME заголовков для вложенных в email файлов.
  • header_checks — проверки применяются к заголовку сообщения
  • smtpd_relay_restrictions — это ограничение появилось в Postfix 2.10 По умолчанию имеет значение

    # postconf smtpd_relay_restrictions
    smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
  • disable_vrfy_command = yes — установленная в yes запрещает SMTP- команду VRFY, позволяет клиентам проверять существование получателя.

Возможности Postfix

  • Поддержка основанных на DNS белых списков (ранее поддерживались только черные списки — DNSBL) и возможность выборочной блокировки через фильтрацию по маске ответов от DNSBL и DNSWL серверов. Управление белыми списками организовано через опцию permit_rhswl_client, а фильтрация организована через reject_rhsbl_client (например, можно указать «reject_rhsbl_client zen.spamhaus.org=127.0.0.[1..10]»);
  • Возможность использования БД SQLite для хранения внутренних баз, таких как БД виртуальных пользователей, алиасы или списки доступа (в дополнение к таким типам хранилищ как btree, dbm и hash).
  • Поддержка опции «smtpd_reject_footer», позволяющей указать блок текста, который будет добавлен к отвергнутым сервером запросам (SMTP-ответ «reject»).
  • Поддержка длинных, не повторяющихся, идентификаторов элементов очереди сообщений, используемых в качестве имён файлов для сохраняемых в очереди сообщений. Наиболее важным достоинством не повторяющихся идентификаторов является упрощение анализа лог-файлов. Например, вместо идентификатора вида «0FCEE9247A9» будет использоваться более изощрённый вариант «3Ps0FS1Zhtz1PFjb», включающий все буквы алфавита и разделяющий регистр символов. По умолчанию длинные идентификаторы отключены, для их активации следует использовать опцию «enable_long_queue_ids»;
  • Поддержка системы кэширования в памяти Memcached для хранения кэшей систем verify и postscreen, получающих доступ к данным через сервер proxymap. При использовании Memcached возможно создание конфигураций, при которых несколько серверов совместно используют единый кэш при проверке валидности email-адресов или выборке из списков блокировки зомби-машин, рассылающих спам. Memcached также можно использовать для хранения баз для проверки по серым спискам. Настройка осуществляется через директиву memcache_table;
  • Переработана команда postconf: добавлен вывод предупреждений о неиспользуемых параметрах «name=value» в конфигурационных файлах main.cf и master.cf, что позволяет выявить опечатки в именах параметров; реализована поддержка динамических имён параметров, таких как имена, зависящие от элементов master.cf; в более дружественном для восприятия формате оформлен вывод настроек из main.cf и master.cf (postconf -nf, postconf -Mf); в «postconf -M» добавлена поддержка фильтрации вывода, например, «postconf -M inet»;
  • Реализована поддержка установки предельного времени обработки операций записи и чтения для клиента и сервера, что позволяет защититься от DoS-атак, манипулирующих большим числом вялотекущих соединений, при которых данные передаются очень медленно или читаются по одному байту. Если раньше таймаут задавался для системного вызова, то теперь его можно задать в привязке ко времени чтения/передачи отдельной записи, такой как сообщение с ответом SMTP-сервера. Настройка новых таймаутов осуществляется через директивы smtpd_per_record_deadline, smtp_per_record_deadline и lmtp_per_record_deadline;
  • В дополнение к ранее присутствующим настройкам smtpd_{client, helo, sender,recipient}_restrictions добавлена директива smtpd_relay_restrictions, которая позволяет снизить вероятность появления открытого релея из-за ошибок при определении правил блокирования спама. По умолчанию задействованы настройки для полного сохранения обратной совместимости (smtpd_relay_restrictions = permit_mynetworks, reject_unauth_destination; для новых установок smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination);
  • Добавлена поддержка проверочных таблиц (lookup table) «socketmap» в стиле Sendmail.
  • В директиве recipient_delimiter теперь возможно указание нескольких символов-разделителей, например, можно одновременно использовать как разделители «+» и «-«.
  • Добавлена опция postscreen_dnsbl_whitelist_threshold, позволяющая клиентам пропустить тесты postscreen (выполняет роль легковесного межсетевого экрана, предназначенного для первичного блокирования соединений от рассылающих спам зомби-машин) в зависимости от результатов проверки по белому списку через DNSBL. Применение postscreen_dnsbl_whitelist_threshold позволяет избавиться от заметных задержек в доставке почты от заведомо валидных почтовых систем, в которых повторные запросы не отправляются с одного и того же IP (задержка возникает из-за теста с использованием повторного реконнекта), например, так поступает Google.

    Источник

Запись опубликована в рубрике Postfix. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не спамер This plugin created by Alexei91