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. Вы же можете использовать для своих задач любой тариф и любую ОС, которые по вашему мнению подойдут именно вам. Конкретных рекомендаций нет - сервер должен быть подходящим под вашу задачу.
Подготовительная часть
В данной статье мы будем использовать домен mail.virtualdc.ru как пример для почтового сервера, который в свою очередь будет обслуживать домен virtualdc.ru. Вы же должны поменять домен почтового сервера и обслуживаемый домен на свои собственные.
Первоначальные настройки DNS
Для начала мы должны настроить DNS таким образом, чтобы прямая и обратная зона для нашего домена mail.virtualdc.ru возвращали корректные значения.
NSLOOKUP для прямой зоны
NSLOOKUP для обратной зоны
Обратите внимание на то, что обратная зона возвращает корректное имя домена. В нашем случае это mail.virtualdc.ru. Если запись обратной зоны не корректна (не соответствует прямой зоне), то почта работать не будет.
Далее мы должны настроить так называемую 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 сервера)
Значение записи SFP очень важно для корректной доставки почты в Входящие (Inbox) а не в СПАМ (Junk). Существует очень много вариантов реализации этой записи, мы же с вами остановились на универсальном.
После внесения записей в DNS, проверяем их корректность
Установка iRedMail
Подключаемся к серверу по SSH и вводим следующие команды:
После начинается установка почтового сервера и открывается следующий диалог, в котором нажимаем Yes
Место для хранения почтовых ящиков можете не менять, или указать собственное расположение на сервере. Мы не меняем.
Выбираем web сервер. Вариантов не много, или с WEB интерфейсом живем, или без него. Выбираем NGINX.
Выбираем базу данных. Рекомендуем использовать MySQL.
Указываем пароль для пользователя root базы данных (не пароль от сервера)
Добавляем первый почтовый домен, в нашем случае 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 Labs:
Last updated
Was this helpful?