0

modoboa

Modoboa почтовый сервер

31.01.2023

Связка из Postfix и Dovecot плюс стандартный обвес из антивируса, антиспама и прочих утилит.

Доменные имена и DNS-зона

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

Итак:

  • it-31.ru – используемый домен
  • mk-52 – почтовый сервер, полное доменное имя (FQDN) mk-52.it-31.ru
  • email – псевдоним для более удобного обращения к почте, в данном случае мы выбрали email, так как mail уже используеся нами для другого сервера.
  • 203.0.113.25 – IP-адрес почтового сервера

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

@ IN MX 10 mk-52
email IN CNAME mk-52
mk-52 IN A 203.0.113.25

Обратите внимание, что в качестве MX-записи мы используем реальное имя сервера, а не IP-адрес и не запись псевдонима.

Также сразу добавим SPF и DMARС-записи:

@ IN TXT "v=spf1 +a +mx ~all"
_dmarc TXT "v=DMARC1; p=none; rua=mailto:report@it-31.ru"

SPF-запись говорит о том, что почту могут отправлять узлы указанные в A и MX-записях домена, остальным узлам, скорее всего, почту отправлять запрещено, но прямого указания блокировать таких отправителей нет. DMARC предписывает не предпринимать никаких действий и только присылать отчеты на указанный ящик. Впоследствии, отладив работу сервера, эти правила следует изменить на более строгие, подробнее об этом можно прочитать в нашей статье:

Настраиваем свой почтовый сервер. Что нужно знать. Ликбез

Затем просим провайдера или хостера, предоставившего нам выделенный IP-адрес добавить в обратную зону PTR-запись:

25.113.0.203 IN PTR mk-52.it-31.ru.

Еще раз напомним, PTR-запись создается владельцем IP-адреса и содержит имя сервера фактически отправляющего почту с этого адреса.

Перед тем, как приступать к дальнейшим настройкам следует убедиться, что работают как минимум A и MX-записи.

Предварительная настройка сервера

Так как мы работаем с системами на базе Debian, то для установки выбрали актуальный на текущий момент Debian 11, но вы можете использовать также Debian 10 или Ubuntu начиная с версии 18.04 LTS. Установку следует производить в чистую систему, поэтому следует выполнить минимальную установку Debian или заказать сервер в минимальной конфигурации. Для этого можете воспользоваться нашими руководствами:

Linux – начинающим. Установка и первоначальная настройка Debian 11 для сервера
Linux – начинающим. Установка и первоначальная настройка Ubuntu 22.04 LTS для сервера

Для начала правильно установим часовой пояс:

timedatectl set-timezone Europa/Moscow

Получить список зон можно командой:

timedatectl list-timezones

Теперь установим имя хоста:

hostnamectl set-hostname mk-52.it-31.ru

Важно – в данной команде следует указать полное имя сервера – FQDN.

Затем установим СУБД и необходимые зависимости:

apt install git postgresql

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

Установка и базовая настройка Modoboa

Перейдем в домашнюю директорию с клонируем git-репозиторий со скриптами установки.

cd ~
git clone https://github.com/modoboa/modoboa-installer

Теперь перейдем в директорию со скриптами и создадим файл настроек для будущей установки:

cd modoboa-installer
python3 ./run.py --stop-after-configfile-check it-31.ru

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

Теперь откроем файл installer.cfg и отредактируем в нем некоторые секции.

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

[general]
hostname = email.%(domain)s

В нашем случае имя сервера будет email.

По умолчанию предполагается использование самоподписанного сертификата, поэтому сразу переключаем на получение через Let’s Encrypt. Для успешного выполнения данной операции у вас должна существовать A или CNAME запись для выбранного имени сервера. Крайне желательно сделать ее заранее, чтобы изменения успели распространиться по системе DNS.

[certificate]
generate = true
type = letsencrypt

[letsencrypt]
email = admin@it-31.ru

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

Также проверяем следующую секцию и убеждаемся, что выбрана СУБД PostgrSQL:

[database]
engine = postgres
host = 127.0.0.1
install = true

Сохраняем изменения и переходим к установке.

 python3 ./run.py  it-31.ru

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

По окончании установки скрипт укажет нам адрес административной панели и учетные данные для входа: admin:password.

Но не будем спешить, а выполним настройку ClamAV для возможности скачивать обновления антивирусных баз, так как официальные сервера не доступны из РФ. Откройте файл /etc/clamav/freshclam.conf и закомментируйте в нем все строки начинающиеся на DatabaseMirror, а затем добавьте ниже строку:

DatabaseMirror https://pivotal-clamav-mirror.s3.amazonaws.com

После чего следует удалить файл freshclam.dat и перезапустить службу:

rm -f /var/lib/clamav/freshclam.dat
systemctl restart clamav-freshclam

На этом установка и начальная настройка сервера закончена.

Начало работы. Административная часть

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

При желании можете переключиться на новый административный интерфейс v2.

Но что вам потребуется сделать первым делом – это сменить пароль администратора с password на что-либо сложное и надежное.

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

Следующим шагом будет создание почтового домена в разделе Домены, по умолчанию домен не создается. На страничке создания домена можно сразу задать квоты и лимиты, по умолчанию они не устанавливаются. Также обязательно установите флаг Enable DKIM signing и укажите селектор и длину ключа. Если это единственный сервер, то селектор можно оставить по умолчанию, если же серверов в домене несколько, то у каждого должен быть свой уникальный селектор ключа.

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

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

Панель администратора домена отличается отсутствием настроек сервера и разделом домены только на чтение (виден только собственный домен), фактически все управление сводится к разделу Пользователи. Также добавились ссылки на веб-почту, календари и контакты. Создадим нового пользователя, это несложно, достаточно просто указать адрес ящика.

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

Настройка DKIM-записи

Откройте раздел Домены и перейдите к нужному домену и в информации о нем в строке DKIM key нажмите Show key.

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

modoboa-install-debian-ubuntu-012.png

В общем случае DNS запись должна выглядеть следующим образом:

modoboa._domainkey TXT "v=DKIM1;k=rsa;p=MIIBIjANBgk...iJPQIDAQAB"

Это позволит серверам-получателям проверить подлинность отправителя и существенно повысит вероятность успешной доставки почты адресату.

Начало работы. Пользовательская часть

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

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

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

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

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

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

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

В целом Modoboa, если не считать примитивный и практически непригодный к использованию веб-интерфейс, позволяет очень быстро и просто развернуть почтовый сервер, который уже через 10 минут будет готов к работе. Если вы предпочитаете использовать почтовые клиенты и хотите при этом иметь полноценную админку, то к нему однозначно стоит присмотреться.

Свежие комментарии

Подписка

Лучшие статьи

Рубрики

Популярное

Keycloak
Previous Story

Установка Keycloak и PostgeSQL в Linux

asterisk
Next Story

Asterisk в контейнере Docker

Latest from Blog

Поиск и замена URL в MYSQL

Используйте сценарии MySQL для поиска и замены URL-адресов в базе данных Другой способ поиска и замены старых URL-адресов в базе данных – использование сценариев MySQL. Этот метод очень полезен, если у вас

POSTGRESQL 16 + CЕРВЕР 1С X64 И 1С 8.3.24

Для начала, в какой среде будем работать: Наша задача: Предполагается, что Debian на который мы установим как PostgreSQL так и Сервер 1С установлен (Установка по умолчанию). Для начала проверим «локаль»: Как видим

HADOOP

Hабор инструментов для разработки программ и обеспечения среды для их запуска в распределенной среде. Позволяет создавать большие кластеры и упрощает процесс управления ими. Является одним из элементов конвейеров обработки больших данных. Разработан на Java фондом Apache

Обновление mySQL с версии 5.7 до 8.0

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

11 советов по настройке файла wp-config.php

Скорость: Отключите сохраненные версии… Сейчас! Функция сохранения версий записей включена по умолчанию, но может привести к значительному “раздуванию” базы данных. Сохраненные версии существуют для того, чтобы вы могли откатиться к предыдущей версии записи,
Go toTop