Меню

Настройка smtp сервера postfix



Настройка SMTP-авторизации в Postfix

Данная настройка позволит запрашивать логин с паролем при отправке сообщений. В данном примере аутентификация реализована при помощи dovecot.

Без шифрования

а) если используем CentOS / Red Hat:

yum install dovecot

б) если используем Ubuntu / Debian:

apt-get install dovecot-imapd dovecot-pop3d

Открываем конфигурационный файл Postfix:

smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

* где smtpd_sasl_path — путь до плагина аутентификации по механизму SASL; smtpd_sasl_auth_enable — разрешает или запрещает аутентификацию по механизму SASL; smtpd_sasl_type — тип плагина, который используется для SASL-аутентификации; smtpd_relay_restrictions — правила разрешения и запрета использования MTA при пересылке.

Открываем настройки аутентификации в dovecot:

и приводим опцию service auth к следующему виду:

service auth <
.
unix_listener /var/spool/postfix/private/auth <
mode = 0660
user = postfix
group = postfix
>
.
>

* если соответствующей секции unix_listener нет, то ее нужно создать.

Отключаем требование ssl для аутентификации:

Настройки аутентификации приводим к следующему виду:

auth_mechanisms = plain login

В этом же файле проверяем, что снят комментарий со следующей строки:

Перезапускаем сервис Postfix:

systemctl restart postfix

systemctl enable dovecot

systemctl start dovecot

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

Аутентификация с помощью виртуальных пользователей

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

Открываем конфигурационный файл dovecot:

Находим секцию passdb и приводим ее к виду:

passdb <
# driver = pam
driver = passwd-file
args = scheme=SHA1 /etc/dovecot/passwd
.
>

* в моем случае было закомментировано использование pam драйвера и добавлены опции driver и args. В данном примере они указывают на использование в качестве базы логинов и паролей — файл /etc/dovecot/passwd.

Создаем хэш для пароля первого пользователя:

doveadm pw -s sha1 | cut -d ‘>’ -f2

* система запросит пароль — вводим его дважды.

Полученный хэш имеет, примерно, такой вид:

Копируем его и создаем файл:

* в данном примере user@dmosk.ru — имя виртуального пользователя; tMoWsjKKoenYg7+SLRB8GXZQY38= — хэш нашего пароля.

Задаем права на файл с базой логинов и паролей:

chown dovecot: /etc/dovecot/passwd

chmod 600 /etc/dovecot/passwd

systemctl restart dovecot

Настройка SSL-шифрования

В конфигурационный файл postfix добавляем:

smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem
smtpd_tls_key_file = /etc/ssl/private/dovecot.pem
smtpd_use_tls = yes
smtpd_tls_auth_only = yes

Добавляем в master.cf:

smtps inet n — n — — smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject

Источник

Настройка почтового сервера SMTP Postfix для локальной отправки email сообщений в Ubuntu и Debian Linux

В этой статье мы рассмотрим установку почтового сервера Postfix в дистрибутиве Ubuntu или Debian Linux. Если вы используете CentOS, воспользуйтесь руководством для этой ОС. Эта настройка позволит вам отправлять email сообщения из ваших локальных приложений, размещенных на сервере без использования авторизации.

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

Обновление кэша пакетов

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

Для начала настройки необходимо обновить кэш пакетов операционной системы. В терминале введите следующую команду для выполнения обновления кэша:

Установка и настройка почтового агента Postfix

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

Во время автоматической настройки пакета Postfix выберите пункт «Интернет-сайт«:

Читайте также:  Samba сервер настройка авторизации

Укажите имя домена, от которого будет отправляться почта.

После установки проверьте статус демона Postfix, для этого введите команду:

Результат работы команды проверки статуса должен быть похож на приведенный ниже:

Откройте для редактирования конфигурационный файл Postfix:

Если у вас не работает команда nano, установите редактор командой apt-get install nano или воспользуйтесь другим редактором.

В конфигурационном файле main.cf найдите строку:

Измените значение inet_interfaces на localhost

Параметр inet_interfaces указывает на каких сетевых интерфейсах postfix должен ожидать соединений. По умолчанию MTA Postfix слушает на всех активных сетевых интерфейсах. Вы можете переопределить значение inet_interfaces , указав IP адрес (либо доменное имя) нужного сетевого интерфейса.

*MTA — агент пересылки электронной почты (сервер электронной почты)

Внимание: при настройках из данной статьи не рекомендуется указывать значением ваш внешний IP адрес в inet_interfaces. Иначе ваш почтовый сервер может быть использован для массовой рассылки злоумышленниками.

Далее найдите следующие строки:

Измените их так, чтобы значение каждой из них соответствовало тому, которое приведено в следующем листинге:

На этом редактирование файла конфигурации Postfix завершено. Сохраните файл main.cf. Теперь необходимо перезапустить сервер Postfix:

Для корректной работы почты необходимо установить имя хоста в то, которое указано в настройках почтовой системы:

Для того, чтобы почта успешно доставлялась адресатам, необходимо, чтобы для домена отправки была задана корректная PTR запись. Обычно редактирование PTR-записей осуществляется службой поддержки компании, у которой вы приобретаете IP-адреса для сервера.

Проверка работы почтового сервера

Проверим работу почтового сервера командой в консоли:

Вместо info@mail.ru укажите рабочий электронный адрес, на котором вы можете проверить почту.

Настройка переадресации с локального ящика сервера на внешний ящик

Переадресация настраивается с помощью файла /etc/aliases. Рассмотрим создания правила для переадресации локальной почты для root на внешний почтовый ящик. Откройте файл /etc/aliases для редактирования:

Если другие приложения не создавали свои записи, то содержимое файла должно выглядеть так:

Внесите в файл дополнительную строку для настройки переадресации:

Для применения новых данных введите в консоли команду:

Теперь сообщения направленные пользователю root будут отправляться на указанный e-mail. При настроенной локальной отправке вы должны внимательно отслеживать активность вредоносных приложений, которые пытаются взломать вашу систему. Как только это произойдет, ваш хост начнет участвовать в спам-сети и скоро попадет в черные списки серверов, рассылающих спам, а ваши пользователи перестанут получать почтовые сообщения от вас.

Для повышения безопасности вашего почтового сервера читайте наше руководство по дальнейшей настройке Postfix для защиты от несанкционированного использования.

Все больше сайтов отказываются от локальной отправки почты в пользу использования сервисов надежной доставки почтовых сообщений, которые предоставляют ведущие почтовые системы — Yandex, Mail.RU, Google. Это не только гарантирует доставку почты, но и уменьшает шанс сервера попасть в черные списки сайтов, рассылающих спам.

Если вы хотите использовать серверы почтовых систем для обслуживания отправки почты, воспользуйтесь следующими статьями:

Предпочитаете сервисы Yandex? Тогда читайте соответствующее руководство для подключения своего домена к инфраструктуре Yandex.

Источник

Установка и настройка почтового сервера postfix с хранением почтовых паролей в БД

Мы уже рассказывали о том, как провести подготовительные работы и настроить почтовый сервер с хранением данных пользователей в файле. Теперь рассмотрим второй вариант и разберёмся, как настраивать почтовый сервер с виртуальными пользователями и хранением информации в базе данных.

Установка веб-сервера и сервера БД

Если на сервере уже установлен веб-сервер и БД mysql/mariadb , то установку пакетов нужно пропустить и перейти к пункту «Устанавливаем и настраиваем postfixadmin».

Читайте также:  Outlook 2010 настройка удаления писем с сервера

Для Centos:

Устанавливаем пароль root , на все вопросы жмём enter , при запросе нового пароля (шаг 2) придумываем и вводим новый пароль для пользователя root:

Запускаем веб-сервер и включаем автозагрузку:

Запускаем сервер БД и включаем автозагрузку:

Для Debian/Ubuntu:

Для Debian 8:

При установке в Debian 8 и Ubuntu 16.04 нужно будет также придумать и указать, какой пароль root будет у БД:

В Ubuntu 18.04 и Debian 9 пароль пользователя root указывается пустой при установке.

Запускаем веб-сервер и включаем автозагрузку:

Запускаем сервер БД и включаем автозагрузку:

Устанавливаем и настраиваем postfixadmin

Postfixadmin — это веб-интерфейс управления почтовым сервером. В нём можно создать почтовые домены и почтовые ящики.

Создаём БД:

Подключаемся к консоли mysql , используя пароль пользователя root в mysql :

В консоли mysql вводим следующие команды:

Centos:

Debian/Ubuntu:

Символическая ссылка должна вести в директорию сайта (укажите путь до своего сайта), если на сервере нет сайтов, то нужно оставить текущую команду:

Создаем локальный файл конфигурации:

И вставляем в него следующий код, предварительно заменив пароль от БД и почтовый домен на свои:

Далее переходим по адресу: http://ВАШ_ПОЧТОВЫЙ_ДОМЕН/postfixadmin/setup.php

После чего откроется страница с проверкой настроек — все параметры должны быть OK.

Если по итогам проверки есть замечания, их нужно устранить. Если замечаний нет, придумайте и введите пароль установки в форме внизу страницы (пароль должен содержать обязательно 2 цифры и быть длиннее 5 символов), нажмите кнопку — « Generate password hash ». Страница обновится и появится хеш, который выделен красным:

Полученный хеш указываем в локальном файле настроек — /usr/share/postfixadmin/config.local.php . Нужно заменить значение строки (3 строка):

Перезагружаем страницу и теперь можем создать учётную запись администратора:

Пишем в первой строке пароль от установки, который вводили ранее, и указываем почтовый ящик root@ВАШ_ПОЧТОВЫЙ_ДОМЕН и пароль к нему, если все сделано правильно, то пользователь будет добавлен:

Создаём почтовый домен, в интерфейсе postfixadmin — http://ВАШ_ПОЧТОВЫЙ_ДОМЕН/postfixadmin/login.php . Переходим в меню: Список доменов — Новый домен — и создаём почтовый домен.

Создаём почтовый ящик: Обзор — Создать ящик :

Устанавливаем и настраиваем postfix

Устанавливаем postfix на сервер:

Для Centos (обычно в Centos 7 он уже установлен):

Для Debian/Ubuntu:

Далее отобразится окно, где нужно выбрать Internet Site:

И в следующем окне указать ваш домен, с которого будет отправляться почта:

Запускаем и добавляем в автозагрузку службу postfix:

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

Конфигурация будет добавлена в файл /etc/postfix/main.cf .

В конец файла /etc/postfix/master.cf добавляем следующие строки:

Для Centos в конец этого же файла нужно добавить:

Для Debian/Ubuntu в конец этого же файла нужно добавить:

Создадим директорию для хранения файлов подключения к mysql :

Создадим файлы конфигурации mysql:

В созданный файл добавляем:

В созданный файл добавляем:

В созданный файл добавляем:

В созданный файл добавляем:

В созданный файл добавляем:

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

Вот пример выполнения команды:

Если у вас есть платный сертификат на домен с не истекшим сроком действия, используйте его. Файлы сертификата нужно разместить в директории /etc/postfix/certs/ и заменить имена файлов на свои в конфигурационном файле postfix /etc/postfix/main.cf в следующих строках:

Читайте также:  Настройка 443 web сервера

Проверить корректность настроек postfix можно через команду:

Перезапустим службу, чтобы применились настройки:

Устанавливаем и настраиваем dovecot

Centos:

Debian/Ubuntu:

Активируем службу и добавляем в автозапуск:

Создаём локальный файл настроек:

Открываем файл текстовым редактором и указываем в нём следующие настройки:

И внесём в него следующие настройки:

Сертификат используется тот, что генерировали при настройке postfix, если используете свой сертификат, то нужно указать путь до него в следующих строках конфигурационного файла dovecot /etc/dovecot/local.conf :

Перезапускаем службу, чтобы применились настройки:

Источник

Отправка почты от Postfix через почтовый сервер Яндекса

В данной статье мы разберем ситуацию, при которой есть необходимость отправлять почту со своего сервера на Postfix, но через почту яндекса (использовать его в качестве smarthost). При этом, необходимо настроить возможность использования нескольких учетных записей. Инструкция подойдет под любой дистрибутив системы UNIX, на котором можно установить Postfix. Почтовая система Яндекса используется лишь для примера — по сути, по данному принципу можно настроить и пересылку почты через другие почтовые системы.

Требования

Нам необходимо иметь почтовые учетные записи в Яндексе. При отправке писем мы будем использовать правила аутентификации на серверах последнего с использованием данных учетных записей.

Настройка Postfix

Открываем конфигурационный файл postfix:

Добавим следующие строки:

relayhost =
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/private/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_type = cyrus
smtp_sasl_mechanism_filter = login
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/private/sender_relay
smtp_tls_CAfile = /etc/postfix/ca.pem
smtp_use_tls = yes

  • relayhost — сервер, через который нужно отправлять почту. Мы будем использовать отдельные правила, поэтому оставляем данный параметр с пустым значением.
  • smtp_sasl_auth_enable — включение аутентификации на стороне клиента.
  • smtp_sasl_password_maps — указывает на файл, в котором хранится база связок логин/пароль.
  • smtp_sasl_security_options — опции SASL. noanonymous указывает на запрет анонимной аутентификации.
  • smtp_sasl_type — задает плагин SASL для аутентификации.
  • smtp_sasl_mechanism_filter — перечисляет механизмы проверки пользователя и пароля.
  • smtp_sender_dependent_authentication — включает зависящую от отправителя аутентификацию, отключает кэширование SMTP-соединения.
  • sender_dependent_relayhost_maps — указание на список адресов и почтовых серверов, через которые нужно отправлять письма на эти адреса.
  • smtp_tls_CAfile — файл с сертификатом Яндекса.
  • smtp_use_tls — указывает, использовать ли TLS для SMTP.

Создаем каталог для конфигов:

Создаем файл с правилами пересылки сообщений:

* в данном примере мы все сообщения, отправляемые от домена yandex.ru переправляем через сервер smtp.yandex.ru.

Создаем файл с настройкой привязки логинов и паролей:

root@yandex.ru root@yandex.ru:password1
info@yandex.ru info@yandex.ru:password2

* в данном примере мы создаем 2 учетные записи для аутентификации на яндексе. При отправке писем от root@yandex.ru необходимо авторизоваться на сервере яндекса от этой же учетной записи с паролем password1. Соответственно, при отправке письма от info@yandex.ru — с паролем password2.

Создаем карты для данных файлов:

Получаем сертификат от Яндекса, для этого выполняем запрос:

openssl s_client -starttls smtp -crlf -connect smtp.yandex.ru:25

. на экран будет выведена различная информация — нам нужна вся, что заключена между ——BEGIN CERTIFICATE—— и ——END CERTIFICATE——. Копируем ее и создаем файл сертификата:

——BEGIN CERTIFICATE——
MIIGazCCBVOgAwIBAgIQcUU9mJXW4OUs5Gf0JfLtsjANBgkqhkiG9w0BAQsFADBf
.
nRG0DfdqYIuPGApFORYe
——END CERTIFICATE——

systemctl restart postfix

Обратите внимание на 2 момента:
1) так как яндекс может обслуживать почту для любых доменов, не обязательно должен использоваться домен yandex.ru.
2) отправка сообщения должна идти строго от того пользователя, под которым идет авторизация на yandex. В противном случае, подключение не пройдет проверку и завершится ошибкой.

Проверка

Для проверки можно использовать консольную команду mail.

Источник

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

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

Adblock
detector