Linux postfix smtp server

Postfix

Postfix является агентом передачи почты (MTA) в Ubuntu по умолчанию. Он разработан чтобы быть быстрым, простым в администрировании и безопасным. Он совместим с MTA sendmail. Этот раздел описывает как установить и настроить postfix. Здесь также разъясняется как сделать его SMTP сервером, использующим безопасные соединения (для безопасной передачи сообщений).

Это руководство не рассматривает настройку виртуальных доменов postfix. Для получения информации по виртуальным доменам и другим расширенным настройкам смотрите Ссылки.

Установка

Для установки postfix выполните следующую команду:

sudo apt-get install postfix

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

Базовая настройка

Для настройки postfix, выполните следующую команду:

sudo dpkg-reconfigure postfix

Будет запущен пользовательский интерфейс. На каждом экране выбирайте следующие значения:

Замените mail.example.com на домен, для которого вы настраиваете email, 192.168.0.0/24 на актуальную подсеть и маску для вашего почтового сервера и steve на соответствующее имя пользователя.

Теперь самое время решить какой формат почтового ящика вы хотите использовать. По умолчанию postfix использует формат mbox. Вместо непосредственного редактирования файла конфигурации вы можете использовать команду postconf для настройки параметров postfix. Параметры будут сохранены в файле /etc/postfix/main.cf. В дальнейшем если вы решите переконфигурировать отдельные параметры вы можете как запустить команду, так и вручную поправить файл.

Для настройки формата почтового ящика для Maildir:

sudo postconf -e 'home_mailbox = Maildir/'

Это поместит новую почту в /home/username/Maildir, поэтому вам потребуется настроить вашего агента доставки почты (MDA) на использование этого же каталога.

Аутентификация SMTP

SMTP -AUTH позволяет клиенту идентифицировать себя через механизм аутентификации (SASL). Транспортный уровень безопасности (TLS) будет использоваться для шифрования процесса аутентификации. После аутентификации SMTP сервер позволит клиенту передавать почту.

1. Настройте Postfix на SMTP -AUTH с использованием SASL (Dovecot SASL):

sudo postconf -e 'smtpd_sasl_type = dovecot' sudo postconf -e 'smtpd_sasl_path = private/auth-client' sudo postconf -e 'smtpd_sasl_local_domain =' sudo postconf -e 'smtpd_sasl_security_options = noanonymous' sudo postconf -e 'broken_sasl_auth_clients = yes' sudo postconf -e 'smtpd_sasl_auth_enable = yes' sudo postconf -e 'smtpd_recipient_restrictions = \ permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'

2. Далее создайте или получите цифровой сертификат для TLS. Смотрите подробности в разделе Сертификаты. Этот пример также использует Центр сертификации (CA). Для информации по созданию сертификатов CA смотрите раздел Центр сертификации.

Читайте также:  Desktop settings in linux

Почтовым агентам пользователей (MUA), подключающимся к вашему почтовому серверу через TLS, потребуется распознать сертификат, используемый для TLS. Это может быть сделано либо с использованием сертификата от коммерческого центра сертификации, либо с самоподписанным сертификатом, который пользователи вручную установили. Для TLS между MTA (почтовыми агентами передачи) сертификаты никогда не подтверждаются без дополнительного соглашения с контролирующими организациями. Поэтому для таких соединений, если локальные политики этого не требуют, нет резона не использовать самоподписанные сертификаты. Смотрите подробности в разделе Создание самоподписанного сертификата.

3. Как только у вас появился сертификат, настройте Postfix на использование TLS шифрования как для входящей, так и для исходящей почты:

sudo postconf -e 'smtp_tls_security_level = may' sudo postconf -e 'smtpd_tls_security_level = may' sudo postconf -e 'smtp_tls_note_starttls_offer = yes' sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/server.key' sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/server.crt' sudo postconf -e 'smtpd_tls_loglevel = 1' sudo postconf -e 'smtpd_tls_received_header = yes' sudo postconf -e 'myhostname = mail.example.com'

4. Если вы используете собственный Центр сертификации, для подписи сертификата введите:

sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'

Опять же, для подробностей смотрите раздел Сертификаты.

После выполнения всех команд Postfix настроен на SMTP -AUTH и самоподписанный сертификат создан для TLS шифрования.

Начальная настройка postfix закончена. Выполните следующую команду для перезапуска сервиса postfix:

sudo /etc/init.d/postfix restart

Postfix поддерживает SMTP -AUTH как описано в RFC2554. Он основан на SASL. Однако все-таки необходимо настроить аутентификацию перед тем, как вы сможете использовать SMTP -AUTH.

Настройка SASL

Postfix поддерживает две реализации SASL: Cyrus SASL и Dovecot SASL. Чтобы разрешить Dovecot SASL, требуется установить пакет dovecot-common. Для этого из терминала введите следующее:

sudo apt-get install dovecot-common

Далее вам потребуется отредактировать /etc/dovecot/dovecot.conf. В секции auth default снимите комментарий с опции socket listen и измените ее следующим образом:

Чтобы позволить использовать SMTP -AUTH клиентам Outlook, в секции auth default файла /etc/dovecot/dovecot.conf добавьте «login»:

После того, как Dovecot настроен, перезапустите его:

sudo /etc/init.d/dovecot restart

Почтовый стек доставки

Другой опцией настройки Postfix для SMTP -AUTH является использование пакета mail-stack-delivery (ранее он назывался dovecot-postfix). Этот пакет установит Dovecot и настроит Postfix для его использования совместно с SASL аутентификацией и как агента доставки почты (MDA). Пакет также настроит Dovecot для IMAP , IMAPS, POP3 и POP3S.

Читайте также:  Linux which users are connected

Вы можете захотеть или не захотеть использовать IMAP , IMAPS, POP3 , или POP3S на вашем почтовом сервере. Например, если вы настраиваете свой сервер в качестве почтового шлюза, фильтра спама и вирусов и т.п. В этом случае возможно будет проще использовать вышеприведенные команды для настройки Postfix на SMTP _AUTH.

Чтобы установить пакет, введите в терминале:

sudo apt-get install mail-stack-delivery

У вас теперь рабочий почтовый сервер, но существует несколько опций, которые вы, возможно, захотите изменить в дальнейшем. Например, пакет использует сертификат и ключ от ssl-cert пакета, и в рабочей среде, вы должны использовать сертификат и ключ, сгенерированный для хоста. Смотрите радел Сертификаты для дополнительных деталей.

После того, как вы получили заказанный сертификат для сервера, замените следующую опцию в /etc/postfix/main.cf:

smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key
sudo /etc/init.d/postfix restart

Тестирование

Настройка SMTP -AUTH завершена. Теперь самое время проверить настройки.

Чтобы убедиться, что SMTP -AUTH и TLS работают правильно, выполните следующую команду:

После установления соединения с почтовым сервером postfix введите:

Если среди прочего вы увидите следующие строки, все работает замечательно. Введите quit для выхода.

250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME

Решение проблем

Эта секция описывает несколько общих способов определения причин возникающих проблем.

Отказ от режима chroot

Пакет postfix в Ubuntu по умолчанию устанавливается в окружении chroot из соображений безопасности. Это может дополнительно усложнить процесс поиска решения проблем.

Для отключения функционирования chroot, найдите следующую строку в файле настроек /etc/postfix/master.cf:

После этого вам придется перезапустить Postfix для использования новых настроек. Из терминал введите следующее:

sudo /etc/init.d/postfix restart

Файлы журналов

Postfix посылает все сообщения в журнал /var/log/mail.log. Однако сообщения об ошибках и предупреждения могут иногда теряться в нормальном журнале, поэтому они отдельно сохраняются в /var/log/mail.err и /var/log/mail.warn соответственно.

Читайте также:  Forticlient vpn linux настройка

Для просмотра сообщений журнала в режиме реального времени вы можете использовать команду tail -f:

Количество деталей, записываемых в журнал, может быть увеличено. Ниже приведено несколько опций настройки для увеличения уровня детализации некоторых областей, описанных выше.

1. Для увеличения TLS активности журнала, установите опции smtpd_tls_loglevel значение от 1 до 4.

sudo postconf -e 'smtpd_tls_loglevel = 4'

2. Если вы испытываете трудности с отправкой или приемом почты отдельного домена, вы можете включить его в параметр debug_peer_list.

sudo postconf -e 'debug_peer_list = problem.domain'

3. Вы можете увеличить детализацию любого сервиса Postfix редактированием /etc/postfix/master.cf, добавив -v после соответствующей записи. Для примера изменим запись smtp:

Важно помнить, что после внесения изменений настроек журналирования процессов, Postfix требуется перезапустить для восприятия новой конфигурации:

sudo /etc/init.d/postfix reload

4. Для увеличения количества информации в журнале при поиске проблем с SASL, вы можете установить следующие опции в /etc/dovecot/dovecot.conf:

auth_debug=yes auth_debug_passwords=yes
sudo /etc/init.d/dovecot reload

Некоторые опции выше могут серьезно увеличить объем информации, передаваемой в файлы журналов. Не забывайте возвращать уровень детализации журналов к нормальному значению после решения проблем. Затем перезапустите соответствующий сервис, чтобы изменения настройки вступили в силу.

Ссылки

Администрирование сервера Postfix может быть очень сложной задачей. В какой-то момент вам может потребоваться обратиться к сообществу Ubuntu для более квалифицированной помощи.

Хорошее место задать вопрос по сопровождению Postfix и влиться в сообщество Ubuntu Server, это IRC канал #ubuntu-server на freenode. Вы также можете отправить сообщение на один из интернет форумов.

Для погружения в информацию по Postfix очень рекомендуется прочитать The Book of Postfix.

Наконец сайт Postfix также содержит много информации по всем возможным опциям настройки.

Кроме того страница Ubuntu Wiki Postfix содержит дополнительную информацию.

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2018 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Источник

Оцените статью
Adblock
detector