Перейти к содержимому

Postfix

Настройка

По умолчанию, Postfix пытается посылать почту в напрямую используя, запросы к DNS, в частности записи типа MX.

relay_domains список доменов, на которые разрешена пересылка писем
relayhost имя и порт сервера для пересылка на него писем

Если имя заключено в квадратные скобки [] — то Postfix не предпринимает попытку поиска записей типа MX.

Псевдонимы

Для псевдонимов (Aliases) требуется инициализации БД (файл с расширением  «.db«)

Файл Команда
/etc/aliases newaliases

Если возникает ошибка

Нужно установить переменную:/etc/postfix/main.cf

Маскарад адресов

Address masquerading

Замена одного домена или адреса другим, удобно использовать, если нужно скрыть внутренние домены при отправке почты на внешние адреса./etc/postfix/main.cf

/etc/postfix/generic

Компиляция  «generic.db»:

Postfix Address Rewriting

Размер сообщения

/etc/postfix/main.cf

Задается в Байтах, значение по умолчанию  «10240000»

Копирование всей почты

Отправка скрытых копий всех писем (Blind carbon copy) на определенный адрес./etc/postfix/main.cf

В данном примере использован локальный адрес:  «bcc@localhost.localdomain»

Команды

Проверка синтаксиса postfix -c ПУТЬ_К_ФАЙЛУ_НАСТРОЕК_main.cf check
Состояние очереди postqueue -c ПУТЬ_К_ФАЙЛУ_НАСТРОЕК_main.cf -p
Обработка очереди немедленно postqueue -c ПУТЬ_К_ФАЙЛУ_НАСТРОЕК_main.cf -f
Очистка очереди postsuper -c ПУТЬ_К_ФАЙЛУ_НАСТРОЕК_main.cf -d ALL
Тест адресации postmap -q address@domail.ru ldap:/etc/postfix/ldap-users.cf

Работа с несколькими экземплярами

При решении некоторых задач можно воспользоваться возможностью работы с несколькими экземплярами (instance) сервера.

Для работы нужно добавить такие строки:/etc/postfix/main.cf

в переменной  «multi_instance_directories» указывается экземпляры программы, в примере использованы следующие:

  • «/etc/postfix-mx»
  • «/etc/postfix-1»
  • «/etc/postfix-n»

Для того, чтобы при запуске/останове и перезапуске Postfix и по команде

нужно параметре  «multi_instance_wrapper» нужно указать имя группы ( «ИМЯ_ГРУППЫ») в куда входя нужные экземпляров программы.

Также для того, чтобы разрешить работу с несколькими экземплярами можно использовать команду

Для управления служит программа  «postmulti».

Примеры:

Создание postmulti -I ИМЯ_ЭКЗЕМПЛЯРА -G ИМЯ_ГРУППЫ -e create
Активация postmulti -i ИМЯ_ЭКЗЕМПЛЯРА -e enable
Управление экземпляром postmulti -i ИМЯ_ЭКЗЕМПЛЯРА -p КОМАНДА

Managing multiple Postfix instances on a single host

Безопасность

mynetworks список подсетей с которых разрешена отправка через этот сервер
disable_vrfy_command = yes Клиент, подключившийся к серверу, может командой  vrfy user@domain.ru определить, существует ли заданный адрес в системе
show_user_unknown_table_name = no При попытке клиента отправить письмо несуществующему пользователю по умолчанию сервер выдаст  550 (reject) с сообщением  user unknown in local recipient table (или другой таблице). Отключаем, пусть сервер сообщает  user unknown
smtpd_helo_required = yes Требуем от клиента приветствия (HELO/EHLO). Все, кто подключается, должны представляться
smtpd_helo_restrictions= permit_mynetworks, permit_sasl_authenticated, reject_invalid_hostname, reject_non_fqdn_hostname, reject_invalid_helo_hostname, reject_unknown_helo_hostname Ограничения для этапа  HELO/EHLO. Применяются к имени хоста, его IP-адресу и приветствию  HELO/EHLO:
Разрешаем доверенные сети
Разрешаем тем, кто прошёл аутентификацию
Отбрасываем неправильное (несуществующее) имя хоста
Отбрасываем не полностью определённое доменное имя хоста
Отбрасываем, если хост по HELO/EHLO не имеет А или МХ записи
smtpd_sender_restrictions= reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unlisted_sender, permit_mynetworks, permit_sasl_authenticated Ограничения для этапа MAIL FROM. Применяется ко всему предыдущему + имя отправителя:
Отбрасываем не полностью определённое имя отправителя
Отбрасываем отправителя с несуществующего домена
Отбрасываем несуществующих отправителей
Проверяем отправителя. Если с нашего домена, то проверим, находится ли он в доверенной сети или прошёл аутентификацию
Разрешаем отправлять с доверенных сетей
Разрешаем отправлять прошедшим аутентификацию
smtpd_recipient_restrictions= reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unlisted_recipient, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination reject_invalid_hostname Ограничения для этапа RCPT TO. Применяется к предыдущему + имя получателя:
reject, если получатель отсутствует в списке нашего домена или списке пересылки. Чтобы сервер не стал открытым  relay
smtpd_data_restrictions= reject_unauth_pipelining, reject_multi_recipient_bounce Ограничения для этапа DATA:
Отвергаем запрос, когда клиент посылает команды SMTP раньше времени
reject клиента с пустым именем отправителя, который отправляет сразу нескольким получателям
smtpd_etrn_restrictions= permit_mynetworks, permit_sasl_authenticated, reject Ограничиваем клиентов, которые могут запрашивать очистку очереди сообщений

Пример

Пример для вставки в файл  «main.cf»

Таблицы:/etc/postfix/helo_restrictions

/etc/postfix/sender_access

Скрипт для компиляции таблиц:/etc/postfix/!update_db.sh

Интеграция с другими программами

AMaViSd-new

AMaViSd-new — интерфейс между MTA и сканером вирусов/фильтром содержанияmain.cf

master.cf

ClamAV

Для работы через ClamSMTPdmain.cf

master.cf

«/etc/clamsmtpd.conf»

Dovecot

Dovecot/etc/postfix/main.cf

/etc/postfix/master.cf

SpamAssassin

Эта настройка позволяет работать с SpamAssassin без использования AMaViSd-new

В файл  «/etc/postfix/master.cf» нужно добавить

  1. Для  «smtp» и  «submission» строку: -o content_filter=spamassassinпример:… smtp inet n — y — — smtpd -o content_filter=spamassassin … submission inet n — y — — smtpd -o content_filter=spamassassin …
  2. В конец файла:spamassassin unix — n n — — pipe user=debian-spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
  3. Выполнить:postfix reloadилиservice postfix reload

SSL

Пример настройки работы по порту 587, с использованием сертификатов Let’s Encrypt:/etc/postfix/main.cf

Опубликовано вLinux

Ваш комментарий будет первым

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

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