Публикуван е релийз на проекта Mox 0.0.15, развиваващ комплексно решение за функционирането на пощенски сървъри, включващо всички компоненти, необходими за изпращане и получаване на електронна поща. Предложени са собствени реализации на SMTP и IMAP4 сървъри, система за филтриране на нежелано съдържание, както и уеб интерфейси за администратори и потребители. Кодът на проекта е написан на езика Go и се разпространява под MIT лиценз.
Целта на проекта е да създаде решение „всичко в едно“, позволяващо лесно стартиране на работещ пощенски сървър без трудоемка настройка и без необходимост от свързване на различни отделни услуги и приложения. Предполага се, че поради усложненията при внедряването и поддръжката на пощенски сървъри в живота потребителите отдават предпочитание на централизирани email провайдъри, което унищожава самата идея на електронната поща като децентрализирана услуга, изградена от множество собствени пощенски сървъри.
Mox дава възможност за 10 минути да настроите защитен пощенски сървър за своите домейни, поддържащ актуален стек от протоколи и без нужда от инсталиране на допълнителни зависимости. Актуализацията на софтуера на пощенския сървър е сведена до сваляне на новата версия на mox и рестартиране. Получаването и обновяването TLS-сертификати се извършват автоматично. За настройка и извършване на задачи, свързани с поддръжката, може да се използва уеб интерфейс, а за разширена настройка е предоставен конфигурационен файл.
За изключване на проблеми с безопасността, произтичащи от ниско ниво управление на паметта, в разработката се използва езикът Go. За поддържане на високо качество на кодовата база се прилага ръчно и автоматизирано тестване за съвместимост с популярни пощенски сървъри и клиенти, unit и fuzzing тестиране, както и изчерпателна документация на кода.
Основни функции на Mox:
- Поддръжка на протоколите SMTP и IMAP4.
- Използване на разширения SPF, DKIM и DMARC за идентификация на пощенски домейни, потвърдване на правомощия за изпращане и проверка на автентичността на съобщенията.
- Проследяване на репутацията на хостове, домейни и изпращачи. Използване на баесови класификатори, DNSBL и сиви списъци за филтриране на нежелани съобщения.
- Поддръжка на разширения за използване на Unicode и национални азбуки в имена и домейни.
- Автоматично получаване на TLS сертификати от удостоверяващи центрове, които поддържат ACME протокола, например, в Let’s Encrypt.
- Поддръжка на механизми DANE и MTA-STS за криптиране на входящи и изходящи съобщения върху SMTP с разширение STARTTLS.
- Вграден Webmail за четене и изпращане на имейли през браузър.
- Вграден уеб-интерфейс за администратор за управление на домейни и акаунти, настройка на SPF/DKIM/DMARC/TLSRPT/MTA-STS, преглед на статистика и промяна на параметри на конфигурационния файл.
- Наличие на http-сървър за предоставяне на статични файлове и пренасочване на заявки (обратен прокси).
- Предоставяне на HTTP/JSON API за изпращане/качване на писма и получаване на свързани със съобщенията събития.
- Експорт на метрики за системата за мониторинг Prometheus.
- Поддръжка на разширения за автоматична конфигурация на имейл клиенти (DNS SRV, https://autoconfig.домен, QR-код).
Сред измененията в новата версия:
- Добавена поддръжка на IMAP разширения:
- NOTIFY (RFC 5465) за проследяване на появата на съобщения,
- UIDONLY (RFC 9586) за запитване на съобщения по UID за намаляване на натоварването на сървъра.
- MULTISEARCH (RFC 7203) за търсене в пощенските кутии,
- PREVIEW (RFC 8970) за бърз преглед на съобщения,
- REPLACE (RFC 8508) за замяна на съдържанието в чернови на съобщения,
- MULTIAPPEND (RFC 3502) за добавяне на няколко съобщения наведнъж,
- METADATA (RFC 5464) за съхраняване на метаданни,
- INPROGRESS (RFC 9585) за предаване на информация за статуса на дълги операции,
- NAMESPACE (RFC 2342) за определяне на пространства от имена на пощенски кутии,
- WITHIN (RFC 5032) за търсене по времеви интервали,
- CREATE-SPECIAL-USE (RFC 6154) за създаване на специализирани пощенски кутии, като например ‘Входящи’ и ‘Изпратени’,
- SAVEDATE (RFC 8514) за проследяване на времето на запазване на съобщението в пощенската кутия.
- Добавена настройка за обработка на разделителите ‘+’ и ‘-’ в имейл адресите (you+anything@example.com и you-anything@example.com).
- Добавена настройка за забрана на промяна на паролата (само автогенерация на надеждна парола).
- Добавена настройка за отхвърляне на входящи доставки при възникване на грешки в SMTP транзакцията.
- В Webmail добавена бутон за изтегляне на съобщение в формат eml или mbox/maildir в архиви zip/tgz/tar, а също така бутони за маркиране на пощенската кутия като прочетена и създаване на допълнителни пощенски кутии.
Източник: opennet.ru
