Почтовый сервер Лаборатории МБК
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Роман Бородин a32a0ca420 Версия 0.16.1 2 days ago
src/tegu Версия 0.16.1 2 days ago
.gitignore реализация хранения параметров 1 month ago
LICENSE Initial commit 1 month ago
README.md Изменение описания 1 month ago

README.md

Тегу

Почтовый сервер Лаборатории МБК

Система представляет из себя движок, написанный на языке Go (сервер SMTP, сервер IMAP, WEB панель администрирования).

Список воплощённых функций:

  • Собственная реализация сервера SMTP
  • Собственная реализация сервера IMAP
  • Доставка писем на сторонний сервер по протоколу LMTP (например, Dovecot) или доставка в собственное хранилище maildir
  • WEB панель администрирования
  • Подключение неограниченного количества каталогов LDAP. Каталоги могут быть абсолютно разных стандартов (OpenLDAP, 389 Directory Server, MS AD...).
  • Тонкая настройка атрибутов LDAP для подключения к каталогам любой сложности.
  • Поддержка псевдонимов почтовых ящиков, списков перенаправления (списки рассылки), почтовых групп (группы с адресом email позволяют доставить письмо всем их членам).
  • Содержание неограниченного количества почтовых доменов. Для каждого домена может быть подключён один и более каталогов LDAP.
  • Мастер-пользователи почты (те кто имеют доступ ко всем ящикам) определяются членством в группе каталога LDAP.
  • Поддержка проверки SPF
  • Поддержка технологии GreyList (временный отказ незнакомому отправителю). Данная технология срезает до 80% нежелательной корреспонденции. Возможно исключить проверку для списка доменов отправителя.
  • Поддержка DNS Black List. Данная технология позволяет отказать в обслуживании отправителям, сервера которых были скомпрометированы в глобальной сети Интернет.
  • Подпись DKIM для исходящих сообщений
  • Защита от перебора пароля с баном IP (SMTP, IMAP, WEB)

Инструкция

Установка

Скачанный исполняемый файл кидаем в любую папку (например в /opt/tegu/sbin). Чтобы можно было запускать от непривилегированного пользователя, необходимо выполнить:

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

[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 указываем системные пользователя и группу, от которых планируется запуск сервера. Далее необходимо включить и запустить юнит:

systemctl enable tegu.service
systemctl start tegu.service

Настройка

После установки необходимо зайти WEB-браузером на порт 8888 (например, http://127.0.0.1:8888) и авторизоваться под администратором (логин admin) с паролем, указанным в конфиге в параметре adminPassword. В разделе Settings необходимо указать основные настройки. В разделе LDAP Connections необходимо добавить подключение (или несколько) к серверу LDAP. После настройки необходимо перезапустить сервер. Порты SSL станут доступны, если файлы сертификата и ключа существуют и доступны для чтения по указанным в настройках путям.

Правила обработки входящих писем

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

Лицензия

Продукт распространяется под лицензией GPL версии 3. Ознакомиться с текстом лицензии можно по адресу:

https://www.gnu.org/licenses/gpl-3.0.ru.html