Представлен выпуск SMTP-сервера chasquid 1.13, при разработке которого акцент делается на простоту настройки и безопасность. Chasquid в основном рассчитан на использование в типовых проектах, в которых избыточна гибкость и функциональности Postfix и Exim. Код проекта написан на языке Go и распространяется под лицензией Apache 2.0.
Основные особенности:
- Упрощённая система настройки. Конфигурацию SMTP-сервера образует файл
chasquid.conf с базовыми параметрами и набор каталогов с именами обслуживаемых доменных имён, внутри которых размещаются связанные с доменом файлы для сопоставления email-адресов с пользователями, параметры БД для хранения базы пользователей, TLS-сертификатами и т.п. Для создания и редактирования базы пользователей для каждого домена применяется утилита chasquid-util. - Для фильтрации почты и отсеивания спама используется система хуков, позволяющих привязать обработчик, вызываемый на финальной стадии получения письма. Предоставляются следующие готовые обработчики: greylist для ведения «серых списков» (выдача временной ошибки на первый запрос от незнакомых серверов) при помощи greylistd, spamc и rspamc для блокировки спама при помощи Spamassassin и rspamd, clamdscan для фильтрации вирусов через ClamAV и dkimsign для DKIM-верификации при помощи driusan/dkim или dkimpy.
- Защита от ошибок конфигурации, приводящих к проблемам с безопасностью, таких как открытые релеи и аутентификация с открытым текстом.
- Наличие специализированного HTTP-сервера для мониторинга и отладки работы SMTP-сервера.
- Доступность готовых пакетов для дистрибутивов Debian, Ubuntu и Arch Linux.
- Поддержка интеграции с IMAP-сервером Dovecot для аутентификации пользователей.
- Возможность использования виртуальных почтовых доменов со своими базами пользователей и перенаправлений.
- Поддержка отбрасывания частей адреса, например, обработка «user+something@domain» как «user@domain».
- Поддержка расширения SMTPUTF8 (RFC 6531), позволяющего использовать символы национальных алфавитов в адресах электронной почты, именах хостов, названиях почтовых ящиков и SMTP-заголовках.
- Поддержка использования нескольких TLS-сертификатов. Обработка параметров TLS в привязке к доменам и защита от отката соединений к менее безопасным настройкам TLS.
- Упрощённая система получения сертификатов через сервис Let’s Encrypt.
- Поддержка проверок SPF (Sender Policy Framework) и MTA-STS (MTA Strict Transport Security).
- Добавлена защита от атак SMTP smuggling, позволяющих расщепить одно сообщение на несколько разных сообщений через использование нестандартной последовательности для разделения писем.
- Реализован класс пользователей, которые могут только получать письма, без возможности отправки.
- Запрещено указание в конфигурации пустых IP-адресов приёма соединений (параметры адреса должны быть явно заданы, в простейшем случае достаточно убрать комментарий с соответствующий настройки в файле конфигурации).
- В скрипт docker/add-user.sh добавлена поддержка получения email и пароля из переменных окружения.
Источник: http://www.opennet.ru/opennews/art.shtml?num=60568