Меню

Настройка postfix master cf

Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.

Настройка почтового шлюза на базе Postfix

Обзор

В интернете существует большое количество «статей», которые очень упрощают процесс использованием директивы «relayhost = internalsmtp.example.com». В данном случае возникает проблема с тем, что шлюз незнает ничего о внутренний адресах (даже в случае если он настроен на прием почты только для домена @example.com). Может возникнуть, и обязательно возникнет ситуация во время спам атаки, когда будет идти поток писем на неверные адреса, которые внешний шлюз перешлет на внутренний почтовый сервер, тот потратит время на обработку, отклонит письмо и отправит обратно на шлюз и т.д. Большое количество таких сообщений существенно снизят производительность почтового сервера.

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

Настройка

В данной статье мы не будем рассматривать установку Postfix, так как данный сервер легко устанавливается под большинство дистрибутивов, и вы можете найти большое количество статей, посвященных данному действию.

/etc/postfix/main.cf

Как должно быть понятно из названия, это основной конфигурационный файл Postfix.

Совет: Команда ниже покажет вам все конфигурационные директивы, значения которых отличаются от дефолтных:

Так как на шлюзе требуется только пересылка почты, отключаем локальную доставку сообщений (Замечание: пустое значение конфигурациооной директивы означает её отключение):

Установите директиву myorigin в значение домена, на который пересылается почта:

Директива mynetworks = определите сети, которым разрешено выполнять пересылку через данный сервер. Обычно сюда включают только внутреннюю локальную сеть, или вообще только IP внутреннего почтового сервера:

Данная секция предотвращает прием сообщений для адресов вида username@subdomain.example.com to match. Мы явно определим домены, для которых необходимо принимать почту в директиве relay_domains ниже.

relay_domains = в данной директиве определяем домены, для которых необходимо принимать почту.

smtpd_recipient_restrictions = контролируем действия сервера после команды RCPT TO.

transport_maps = указываем связь между доменами и SMTP серверами, на которые будет пересылаться почта.

relay_recipient_maps = указатель на файл, который будет содержать спискок адресов электронной почты, для которых Postfix будет принимать сообщения.

show_user_unknown_table_name = в установленном значении no возвращает сообщение «User unknown» если адрес электронной почты не найден. Используется в связке с relay_recipient_maps.

Хотя локальная доставка почты отлючена, почтовый шлюз должен принимать почты для адресов postmaster и abuse. Для этого определите виртуальные алиасы.

/etc/postfix/master.cf

Данный файл определяет определяет обслуживаемые Postfix службы. Для полного отключения локальной доставки, отредактируйте данный файл и вставьте символ # в начале следующей строки:

/etc/postfix/virtual

В случае типичной настройки Postfix файл /etc/aliases используется для пересылки почты на другие аккаунты или внешние адреса. Однако, так как локальная доставка отключена, модификация файла etc/aliases не принесет результатат. Поэтому нам нужно использовать файл /etc/postfix/virtual.

Читайте также:  Видеорегистратор prestigio roadrunner 525 настройка

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

/etc/postfix/transport

Данный файл определяет отношения между доменами и серверами, куда должна пересылаться почта для данных доменов.

/etc/postfix/relay_recipients

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

Заполняем файл relay_recipients адресами из Active Directory

Данный скрипт требует установленного perl и модуля Net::LDAP.

Создаем базы

Для завершения нам необходимо сделать хэшированные базы данных из наполненных нами файлов:

Заметка: помните, что необходимо перехэшировать базу после каждого изменения файла..

Перезапуск Postfix

Предпочитаемый способ для того, чтобы Postfix перечитал конфигурационные файлы следующий:

Проверка

Как вы можете видеть из следующего примера, данная конфигурация работает:

Полезные ссылки:

Надоели беспомощные отечественные врачи с устаревшим оборудованием. Я рекомендую обратиться в Medical Travel GmbH и выбрать клинику за границей по своему вкусу и денежным возможностям.

Источник

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

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

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

Для Centos:

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

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

Для Debian/Ubuntu:

Для Debian 8:

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

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

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

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

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

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

Создаём БД:

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

Centos:

Debian/Ubuntu:

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

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

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

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

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

Читайте также:  Не удается установить настройки безопасности для файла hosts

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

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

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

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

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

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

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

Для Debian/Ubuntu:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Centos:

Debian/Ubuntu:

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

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

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

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

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

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

Источник

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

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

На этом этапе мы рассмотрим настройку почтового сервера с виртуальными пользователями и хранением паролей от почтовых ящиков в файле. Этот метод несложен и не требует много действий в консоли, но если вы планируете заводить больше 10–15 почтовых ящиков, управлять ими будет не очень удобно — для этого лучше подойдёт второй вариант настройки с хранением паролей в базе данных.

Читайте также:  Netis dl4311 настройка как роутер

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

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

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

Debian/Ubuntu:

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

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

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

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

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

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

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

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

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

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

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

Centos:

Debian/Ubuntu:

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

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

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

Создаём почтовый ящик

Команда запросит пароль и подтверждение, придумываем его и вводим. На выходе увидим следующую строку:

Обязательно скопируйте её, это пароль от ящика в зашифрованном виде.

Далее открываем файл с пользователями /etc/dovecot/users — если его нет, то создайте его с помощью команды touch /etc/dovecot/users — и вносим туда имя почтового ящика, наш сгенерированный пароль и номера uid (5000) и gid (5000) через двоеточие в следующем формате:

Теперь создадим файл получателей локальной почты:

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

В нашем примере формат файла псевдонимов следующий:

Письма, отправленные на admin@mailtest.fvds.ru, будут перенаправляться на admin.mailtest@ya.ru. Почтовые ящики можно использовать любые, здесь для примера используется admin@mailtest.fvds.ru. Вы указываете тот почтовый ящик, который у вас создан на сервере и с которого нужно настроить переадресацию, и тот, на который хотите получать письма.

Далее в файле /etc/postfix/virtual_recipients укажем созданный почтовый ящик в таком виде:

Проиндексируем базу пользователей postfix :

После каждого изменения файлов /etc/postfix/virtual_recipients и /etc/postfix /virtual_alias_recipients выполняйте их переиндексацию, чтобы данные обновились:

Источник