iRedMail - корпоративная почта

Инструкция по развертыванию корпоративной почты с использованием iRedMail

Вместо предисловия

Когда речь заходит о корпоративной почте, чаще всего на ум приходят какие-то коммерческие On-line сервисы почтовых сообщений, например от Google, Yandex или Mail.ru. Или же коммерческие Standalone решения от Micorosoft или Kerio.

Не всегда использование сторонних сервисов оправдано технически, и уж тем более не всегда оправдано экономически.

В данной статье мы рассмотрим установку и настройку корпоративного почтового сервера на базе свободного open source ПО iRedMail

Требования к почтовой системе:

  • Конфиденциальность - все данные хранятся на собственном/арендном VPS или выделенном сервере. Доступ к ним есть только у вас.

  • Открытый код - тут все понятно. Есть возможность изучить код, чтобы понять как работает ПО.

  • Бесплатное ПО - тут все понятно. За использование программным обеспечением платить не нужно.

  • Безопасность - использование почтовых служб через безопасные соединение (POP3 / IMAP / SMTP через TLS, веб-почта с HTTPS). Электронные письма, если это возможно, при передаче шифруются с использованием TLS. Пароли хранятся в SSHA512 или BCRYPT (BSD).

  • Web-интерфейс - управление почтой, папками, фильтрами и прочим через удобный UI.

  • АнтиСПАМ и АнтиВИРУС - SpamAssassin, ClamAV, SPF, DKIM, серые списки, белые списки, черные списки. Помещение обнаруженного спама на карантин в базу данных SQL для дальнейшего изучения.

  • Web-интерфейс администратора - управление почтовой системой через WEB интерфейс.

Требования к серверу

Как таковых требований к аппаратной составляющей не предъявляется, единственное что указано на сайте iRedMail - минимум 2Gb оперативной памяти для небольшого почтового сервера.

В тоже время, если вы планируете использовать средства групповой работы, такие как общие календари, общие контакты и ActiveSync - рекомендуется выделять для почтовой системы 16Gb оперативной памяти.

В нашем примере, чтобы выбрать "золотую середину", мы будем использовать VPS сервер по тарифу [2021] Standard у которого 4 x 2,8GHz vCPU \ 8Gb vRAM \ 80Gb NVMe. В качестве ОС мы будем использовать CentOS 7. Вы же можете использовать для своих задач любой тариф и любую ОС, которые по вашему мнению подойдут именно вам. Конкретных рекомендаций нет - сервер должен быть подходящим под вашу задачу.

Подготовительная часть

Первоначальные настройки DNS

Для начала мы должны настроить DNS таким образом, чтобы прямая и обратная зона для нашего домена mail.virtualdc.ru возвращали корректные значения.

Прямая зона настраивается на ваших DNS серверах, которые предоставляются хостингом или регистратором.

Обратная зона настраивается на DNS серверах хостинга, который предоставляет вам услугу VPS или выделенного сервера.

NSLOOKUP для прямой зоны

NSLOOKUP для обратной зоны

Далее мы должны настроить так называемую MX (Mail Exchange ) запись которая будет указывать всем остальным почтовым серверам местонахождение нашего сервера.

У MX записи есть следующие значения:

  • Имя домена - в нашем случае virtualdc.ru. или @ (в зависимости от DNS сервера)

  • Приоритет - в нашем случае 10 (да, почтовых серверов может быть несколько, и у каждого может быть свой приоритет на обработку писем)

  • Тип записи - MX

  • Значение записи - mail.virtualdc.ru. (точка в конце имени домена обязательна)

После внесения записей в DNS, проверяем их корректность

После нужно настроить SPF записи, которые указывают всем остальным почтовым серверам на соответствие домена отправителя почтовому серверу. Более подробно об SPF можно прочитать в Wikipedia, ну а мы продолжим настройку.

SPF запись это простая TXT запись в DNS, которая имеет следующие значения:

  • Имя записи - в нашем случае virtualdc.ru. или @ (в зависимости от DNS сервера)

  • TTL (опционально) - в нашем случае это 3600

  • Тип - TXT

  • Значение - "v=spf1 mx -all" (наличие кавычек зависит от типа DNS сервера)

После внесения записей в DNS, проверяем их корректность

Установка iRedMail

Подключаемся к серверу по SSH и вводим следующие команды:

После начинается установка почтового сервера и открывается следующий диалог, в котором нажимаем Yes

Приветствие установщика

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

Место расположения почтовых ящиков

Выбираем web сервер. Вариантов не много, или с WEB интерфейсом живем, или без него. Выбираем NGINX.

Выбор WEB сервера

Выбираем базу данных. Рекомендуем использовать MySQL.

Выбор базы данных

Указываем пароль для пользователя root базы данных (не пароль от сервера)

Пароль для root в mysql

Добавляем первый почтовый домен, в нашем случае virtualdc.ru

Добавляем первый почтовый домен

Задаем пароль для администратора почтового сервера

Задаем пароль для администратора почтового сервера

Выбираем устанавливаемые компоненты

Выбор компонентов почтового сервера

По окончанию конфигурации получаем следующий вывод:

Нажимаем Y и начинается установка.

В процессе установки появится подобный диалог, везде нажимаем Y

По завершению установки вы получите следующее сообщение

После презагрузки пробуем зайти по всем установленным компонентам

Вход в web-интерфейс почты https://mail.virtualdc.ru/mail/

Вход в панель администратор https://mail.virtualdc.ru/iredadmin/

Вход в SOGo https://mail.virtualdc.ru/SOGo/

Вход в netdata https://mail.virtualdc.ru/netdata/

На этом первоначальная настройка почтового сервера завершена. Но сервер еще НЕ готов к работе.

SSL сертификат

Следующим логичным пунктом настройки будет установка SSL сертификата. И тут мы встаем на распутье - какой SSL использовать? Есть как минимум два варианта, коммерческий SSL или SSL бесплатный.

Вариант с само-подписанным сертификатом мы не рассматриваем, но он также имеет право на жизнь.

Какой вариант выбрать, решать только вам, мы же в данной статье будем использовать коммерческий SSL сертификат Sectigo PositiveSSL. Тем же, кто решил пойти по пути бесплатного SSL, рекомендуем ознакомиться с официальной документацией по установке SSL сертификата Let`s Encrypt.

Итак, используя коммерческий SSL сертификат мы опустим процедуру его получения, примем как факт то, что у нас есть сам сертификат с цепочкой ca-bundle и секретный ключ.

Перемещаем их на наш почтовый сервер, для примера сертификат и ключ кладем в директорию /tmp. После делаем резервную копию текущих сертификата и ключа:

После этого перемещаем наш сертификат и ключ на место старых сертификатов:

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

Переходим в web-интерфейс и проверяем что SSL сертификат работает:

Проверка SSL
Информация об установленном сертификате

Не лишним будет пройти проверку в SSL Labs:

Оценка безопасности сервера

Last updated

Was this helpful?