Введение
Почтовый сервер Tegu (далее ПО) предназначен для организации сервиса электронной почты (email).
Сервер получил Свидетельство о государственной регистрации № 2020661802 и распространяется в соответствии с условиями лицензии GNU GPL3 .
1. Структура программного обеспечения
Структурно сервер состоит из следующих подсистем:
- Служба приёма/отправки сообщений.
- Служба доступа к почтовым ящикам пользователей.
- Служба администрирования сервера.
- Система обработки входящих писем в соответствии с правилами.
- Система защиты от перебора паролей.
- Серый список отправителей.
- Чёрные списки адресов серверов.
- Система проверки политики домена для отправителя.
- Цифровая криптографическая подпись исходящих писем.
2. Функции частей программного обеспечения
Назначение и функции подсистем ПО следующие:
2.1. Служба приёма/отправки сообщений
Назначение: отправка исходящих сообщений и приём входящих сообщений.
Подсистема обрабатывает входящие и исходящие сообщения, обрабатывает очереди, функционирует по протоколу SMTP/SMTPS.
2.2. Служба доступа к почтовым ящикам пользователей
Назначение: интерфейс с почтовыми программами пользователей.
Подсистема осуществляет:
- доступ к каталогам писем;
- чтение писем;
- изменение их атрибутов;
- поиск писем по критерию;
- перемещение писем;
- удаление писем.
Подсистема функционирует по протоколам IMAP/IMAPS, SMTP/SMTPS.
2.3. Служба администрирования сервера
Назначение: реализация интерфейса управления администратора системы и пользователей.
Подсистема реализует:
- доступ к панели управления сервером;
- изменение параметров;
- настройку подключений к каталогам LDAP;
- изменение алгоритмов обработки почты.
Подсистема функционирует по протоколу HTTP/HTTPS.
2.4. Система обработки входящих писем в соответствии с правилами
Назначение: настройка алгоритмов обработки почты.
Подсистема осуществляет:
- изменение каталога назначения для писем;
- пересылку и отправку копий писем на другие адреса;
- запрет доставки писем.
2.5. Система защиты от перебора паролей
Назначение: функция защиты сервера от перебора паролей (Brute-force).
Подсистема реализует подсчёт количества неудачных попыток авторизации с группировкой по IP и заперт доступа тем, кто превысил порог.
2.6. Серый список отправителей
Назначение: функция защиты сервера от спама.
Подсистема реализует:
- отказ в получении писем от новых отправителей и запоминание (помещение в базу greylisted);
- ожидание повторной попытки отправки (в этом случае сервер перемещает адрес из списка greylisted в список whitelisted и принимает сообщение без задержки).
2.7. Чёрные списки адресов серверов отправителей
Назначение: функция защиты сервера согласно спискам DNSBL-служб.
Подсистема реализует:
- подсчёт количества списков, в которых находится адрес отправителя;
- пометку о нахождении этого адреса в этих списках в случаях, если количество списков не превышает заданный в настройках порог;
- отказ в получении писем в случаях, если количество списков превысило заданный в настройках порог.
2.8. Система проверки политики домена для отправителя
Назначение: функция защиты на основе данных контроллера домена.
Подсистема реализует проверку, разрешено ли отправлять от IP-адреса и email-адреса отправителя для домена отправителя и т.п.
2.9. Цифровая криптографическая подпись исходящих писем
Добавление к исходящим письмам цифровой подписи для подтверждения их источника.
3. Методы и средства разработки программного обеспечения
Tegu представляет собой асинхронный сервер, написанный на языке Go (GoLang).
На нем в полном объеме, согласно RFC, реализованы службы SMTP, IMAP, WEB панель администрирования.
Сервер для работы не требует дополнительных компонентов.
4. Операционная система
Откомпилированные сборки выпускаются для ОС Debian, ALTLinux, RedOS, Astra Linux.
Архитектурно сервер является кроссплатформенным и написан таким образом, что, имея исходный код, он может быть откомпилирован под любую операционную систему и аппаратную архитектуру.