Тегу
Почтовый сервер Лаборатории МБК
Система написана на языке Go (сервер SMTP, сервер IMAP, WEB панель администрирования).
Список воплощённых функций:
- Собственная реализация сервера SMTP
- Собственная реализация сервера IMAP
- Доставка писем на сторонний сервер по протоколу LMTP (например, Dovecot) или доставка в собственное хранилище maildir
- WEB панель администрирования
- Локальная база пользователей, групп, перенаправлений
- Поддержка псевдонимов почтовых ящиков, списков перенаправления (списки рассылки), почтовых групп (группы с адресом email позволяют
доставить письмо всем их членам), вложенности почтовых групп
- Содержание неограниченного количества почтовых доменов
Для каждого домена может быть подключена одна и более БД пользователей и групп
- Мастер-пользователи почты (те кто имеют доступ ко всем ящикам) определяются членством в группе
- Поддержка квоты размера ящика IMAP
- Поддержка белых и чёрных списков отправителей для входящих писем
- Поддержка проверки SPF
- Поддержка технологии GreyList (временный отказ незнакомому отправителю)
Данная технология срезает до 80% нежелательной корреспонденции. Возможно исключить проверку для списка доменов отправителя.
- Поддержка DNS Black List
Данная технология позволяет отказать в обслуживании отправителям, сервера которых были скомпрометированы в глобальной сети Интернет
- Поддержка антивирусной проверки. Сетевое подключение к антивирусу по протоколу Milter.
- Поддержка проверки на спам. Сетевое подключение к антиспаму по протоколу Milter. Количество очков спама в заголовке письма теперь можно
обработать через условие правил обработки входящих писем
- Подпись DKIM для исходящих сообщений. Управление ключами из Панели управления сервером
- Защита от перебора пароля с баном IP (SMTP, IMAP, WEB)
- Модульная архитектура для БД пользователей и групп, хранилищ почты, обработчика очереди сообщений
Инструкция
Установка
Скачанный архив распаковываем в любую папку (например в /opt/).
Папку с версией (tegu-x.x.x) переименовывем в tegu.
Чтобы можно было запускать от непривилегированного пользователя, необходимо выполнить:
setcap CAP_NET_BIND_SERVICE=+eip /opt/tegu/sbin/tegu
/opt/tegu/sbin/tegu - путь до исполняемого файла.
Во время первого запуска сервер будет искать свой файл конфигурации в следующем порядке:
- /etc/tegu.conf
- ~/tegu.conf
Если файл не найден, то он будет создан по пути ~/tegu.conf
со следующим содержанием:
[global]
dataDir = /opt/tegu/data
[Log]
debug = false
[WEB]
adminPassword = admin
Можно заранее создать этот файл вручную, но важно, чтобы папка dataDir
была доступна для записи пользователю, от которого запускается сервер.
Для запуска через systemd необходимо добавить файл /etc/systemd/system/tegu.service следующего содержания:
[Unit]
Description=Tegu. MBK-Lab Mail Server
[Service]
ExecStart=/opt/tegu/sbin/tegu
User=mail
Group=mail
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
В User и Group указываем системные пользователя и группу, от которых планируется запуск сервера.
Устанавливаем права на каталоги:
chown -R mail. /opt/tegu/{data,certs,dkim}
chmod 750 /opt/tegu/{data,certs,dkim}
mail - пользователь, от которого запускаем сервер.
Далее необходимо включить и запустить юнит:
systemctl enable tegu.service
systemctl start tegu.service
Настройка
После установки необходимо зайти WEB-браузером на порт 8888 (например, http://127.0.0.1:8888) и авторизоваться под администратором (логин admin)
с паролем, указанным в конфиге в параметре adminPassword
.
В разделе Настройки
необходимо указать основные настройки.
В разделе Провайдеры БД пользователей
необходимо добавить подключение (или несколько) к базе пользователей, групп и перенаправлений.
В разделе Хранилища почты
необходимо добавить хранилище (или несколько) почты.
В разделе Очередь SMTP
необходимо настроить обработчик очереди SMTP.
После настройки необходимо перезапустить сервер.
Порты SSL станут доступны, если файлы сертификата и ключа существуют и доступны для чтения по указанным в настройках путям.
Правила обработки входящих писем
Для настройки правил необходимо авторизоваться в WEB-панели под почтовой учётной записью. Каждому пользователю доступны только его правила.
Лицензия
Продукт распространяется под лицензией GPL версии 3.
Ознакомиться с текстом лицензии можно по адресу:
https://www.gnu.org/licenses/gpl-3.0.ru.html