Введение
Почтовый сервер Tegu (далее ПО) предназначен для организации сервиса электронной почты (email).
Сервер получил Свидетельство о государственной регистрации № 2020661802 и распространяется в соответствии с условиями лицензии GNU GPL3 .
1. Инструкция по установке почтовой системы
1.1. Настройка доменной зоны
Хост
mail.test A 95.163.87.32 test MX 10 mail.test
Sender Policy Framework (SPF)
test TXT v=spf1 mx -all
Технология Domain-based Message Authentication, Reporting and Conformance (DMARC)
_dmarc.test TXT v=DMARC1; p=quarantine; rua=mailto:abuse@test.tegu.online
Сразу же отправляем запрос мантейнеру доменной зоны для настройки обратной зоны:
MAIL FROM: Иванов Иван <iivanov@mbk-lab.ru> RCPT TO: <адрес мантейнера> Прошу прописать следующую запись PTR в системе DNS: 95.163.87.32 -> mail.test.tegu.online.
1.2. Установка ОС
Установка сервера описана на примере ОС ALTLinux. Возможен выбор любой другой ОС.
Скачать дистрибутив здесь: https://www.basealt.ru/go/downloads/download-alt-server/
Для работы почтового сервера при установке операционной системы не нужны никакие дополнительные компоненты (можно отключить все).
[root@localhost ~]# ip route default via 95.163.87.1 dev ens19 10.199.199.0/24 dev ens18 proto kernel scope link src 10.199.199.84 95.163.87.0/24 dev ens19 proto kernel scope link src 95.163.87.32 [root@localhost ~]# cat /etc/resolv.conf # Generated by resolvconf # Do not edit manually, use # /etc/net/ifaces/<interface>/resolv.conf instead. Nameserver 10.199.199.1
1.3. Установка Почтового сервера Tegu
Скачать здесь: https://mbk-lab.ru/download/
wget https://git.mbk-lab.ru/attachments/9ab74262-c5aa-4667-a9fe-24353e0e8de3 -O tegu-0.15.0-altlinux-amd64.tar.gz
Исполняемый файл может находиться в любой папке. К примеру, /opt/tegu/sbin
Создаем каталоги:
# mkdir /opt/tegu # mkdir /opt/tegu/sbin # mkdir /opt/tegu/ssl # mkdir /opt/tegu/dkim # mkdir /opt/tegu/var
Присваиваем владельцев:
# chown mail:mail /opt/tegu/var # chown mail:mail /opt/tegu/ssl # chown mail:mail /opt/tegu/dkim
Присваиваем права:
# chmod 700 /opt/tegu/var # chmod 500 /opt/tegu/ssl # chmod 500 /opt/tegu/dkim
Распаковываем программу в рабочий каталог:
# tar xvzf tegu-0.15.0-altlinux-amd64.tar.gz -C /opt/tegu/sbin/
Чтобы разрешить серверу, запущенному от непривилегированного пользователя, слушать на привилегированных портах, необходимо выполнить:
setcap CAP_NET_BIND_SERVICE=+eip /opt/tegu/sbin/tegu
Для запуска через 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
Во время первого запуска сервер будет искать свой файл конфигурации в следующем порядке:
/etc/tegu.conf ~/tegu.conf
Если файл не найден, то он будет создан по пути ~/tegu.conf со следующим содержанием:
[global] dataDir = /opt/tegu/data [WEB] adminPassword = <пароль администратора>
Можно заранее создать этот файл вручную, но важно, чтобы папка dataDir была доступна для записи пользователю, от которого запускается сервер.
Запускаем сервис:
# systemctl enable tegu.service Created symlink /etc/systemd/system/multi-user.target.wants/tegu.service → /etc/systemd/system/tegu.service. # systemctl start tegu.service
Читаем лог сервера:
# journalctl -f -u tegu -n 100 окт 05 15:38:26 localhost systemd[1]: Started Tegu. MBK-Lab Mail Server.
Если сервер не стартовал, необходимо вернуться на шаг 1, проверить настройки
или обратиться в поддержку по адресу: dev@mbk-lab.ru
Если все сделано правильно, то сервер стартует и мы переходим к его настройке.
2. Инструкция по настройке и администрированию системы
2.1. Интерфейс настройки и администрирования
Настройка сервера производится с помощью веб-интерфейса, который доступен по порту 8888 вашего сервера.
В нашем случает адрес выглядит так: http://95.163.87.32:8888
Для авторизации используйте логин admin и пароль из конфигурационного файла /etc/tegu.conf
2.2. Меню “Settings”
- Server name (used in banner and HELO/EHLO) – имя сервера для сессий SMTP.
- IP SMTP server listen on – адреса интерфейсов, на котором работает сервер (либо 0.0.0.0 для работы на всех интерфейсах).
- Port SMTP server listen on – порт сессий SMTP.
- Port SMTPS (SSL) server listen on – порт сессий SMTP c SSL (SSL станет доступным, если файлы сертификата и ключа существуют и доступны для чтения. См. Path to SSL certificate. Следует обратить внимание, что по умолчанию установлен непривилегированный номер для того, чтобы исключить попытку взлома несконфигурированного сервера).
- Max number of simultaneous SMTP connections – максимальное количество SMTP подключений. По умолчанию 100.
- Enable LMTP delivery (IMAP server starts otherwise. Restart required) – включить доставку почты на LMTP (к примеру, дополнительный Dovecot).
- LMTP host connect to – хост LMTP.
- LMTP port connect to – порт LMTP хоста.
- IP IMAP server listen on – адрес, на котором слушает IMAP.
- Port IMAP server listen on – порт, на котором слушает IMAP.
- Port IMAPS (SSL) server listen on – адрес, на котором слушает IMAP с SSL.
- Max number of simultaneous IMAP connections – максимальное количество соединений IMAP. По умолчанию 1000.
- Canonical name for INBOX (show in WEB panel) – имя папки по умолчанию для Входящих.
- Archive folder – имя папки по умолчанию для Архива.
- Drafts folder – имя папки по умолчанию для Черновика.
- Junk folder – имя папки по умолчанию для Спама.
- Sent folder – имя папки по умолчанию для Отправленных.
- Trash folder – имя папки по умолчанию для Корзины.
- Message size in MB – максимальный разрешенный размер почтового сообщения. По умолчанию 30Mb.
- Local domains (one per line) – список обслуживаемых сервером почтовых доменов.
- Smarthosts (one per line. formats: domain.com/user:pass@host:port or domain.com/host:port) – для каждого из обслуживаемых доменов можно указать релей, через который осуществляется доставка.
- Full allowed IPs (one per line) – список IP-адресов, с которых допускается отправка писем без авторизации.
- Allow empty sender email for full-allowed IPs – разрешение отправки сообщений почтовым клиентом без заполнения поля MAIL FROM (как правило, используется оборудованием).
- Root path for maildir – путь к каталогу maildir.
- Directory for work data – путь к рабочему каталогу (сервер хранит там оперативные глобальные настройки, а также очереди).
- Directory for DKIM keys – путь к приватному ключу DKIM (публичный ключ должен быть опубликован в зоне DNS).
- DKIM selector – селектор DKIM (кодовое слово для подписи, которое должно соответствовать указанному в зоне DNS).
- Path to SSL certificate – путь к публичному ключу SSL.
- Path to SSL private key – путь к приватному ключу SSL.
- Master-user login separator – разделитель, используемый при вводе мастер-логина (обычно *).
- Sender domains greylist ignore (one per line) – список доменов, для которых отключена технология GreyList.
- Server/sender greylist record lifetime (hours) – время жизни email-адреса в списке GreyList.
- Server/sender whitelist record lifetime (hours) – время жизни email-адреса в списке WhiteList.
- Clean expired greylist records interval (seconds) – период обновления базы GreyList.
- DNSBL “listed at” threshold – порог срабатывания блокировки по количеству черных списков, в которых найден адрес отправителя. По умолчанию 3. Если адрес был замечен в черных списках, но порог не превышен, письмо доставляется, при этом в тему добавляется x-blacklisted с указанием всех списков, где он был найден.
- Enable authentication security – включение функции блокировки в случае ошибок авторизации пользователей (на все службы SMTP, IMAP и HTTP).
- Max failed authentication attempts – максимальное количество допустимых ошибок авторизации.
- Block senders with SPF fail result – включение возможности обслуживания клиентов, даже не прошедших SPF проверку (как правило, используется оборудованием).
- Enable Greylist – включение функции GreyList.
- Enable DNSBL checks – включение DNSBL проверки.
2.3. Меню “LDAP connections”
- Connection name – имя соединения (произвольное).
- Local domain name – домен, к которому относится данное соединение.
- LDAP connection URIs (one per line)
- BindDN
- Password
- Base DN.
- objectClass for user.
- Attr for mailbox e-mail – произвольное имя поля, которое сервер будет искать в LDAP для того, чтобы трактовать его как email.
- Attr for mailbox quota in MB – произвольное имя поля, которое сервер будет искать в LDAP для того, чтобы трактовать его как максимальный размер ящика (механизм пока не реализован).
- User memberOf attr – если отношения групп и пользователей указываются в объекте пользователей, то здесь указываем имя поля, содержащего группы, к которым принадлежит пользователь.
- Use groups – если группы могут иметь email, то этот параметр включает механизм доставки писем всем членам этих групп:
- objectClass for group;
- Attr for group name – имя поля, содержащего имя группы;
- Attr for group email – имя поля, содержащего email группы;
- Attr for group members – имя поля, указывающего на членов групп;
- Group member attr contains DN – в поле, указывающем на членов групп, могут быть DN членов или только имена этих членов
- Attr for user RDN – если в поле, указывающем на членов групп, содержатся имена, то здесь указываем имя поля (например, uid или cn) для поиска этих членов по их именам.
- Use mailbox alias (redirect list) – использовать ли списки перенаправления
- objectClass for alias;
- Attr for alias email – имя поля, содержащего email списка;
- Attr for email redirect to – имя поля, содержащего адреса email, на которые необходимо перенаправить письма (email могут быть локальными или внешними).
- Use mailbox alternative email – использовать ли дополнительные email для ящиков
- Attr for mailbox alternative email – имя поля объекта пользователя, содержащего альтернативные email.
- Attr for group name of master-users – имя поля, содержащего имя группы мастер-пользователей (может совпадать с “Attr for group name”).
- Group name of master-users – имя группы мастер-пользователей.