Exim (от англ. EXperimental Internet Mailer[4]) — агент пересылки сообщений, используемый в операционных системах семейства Unix. Первая версия была написана в 1995 году Филиппом Гейзелом (Philip Hazel) для использования в качестве почтовой системы в Кембриджском Университете. Exim распространяется под лицензией GPL, и каждый может свободно скачать его, использовать и модифицировать. Следует отметить, что версия 4 существенно отличается от версии 3[4].
Exim придерживается дизайна sendmail, где один процесс контролирует всю работу . Такой монолитный дизайн считается небезопасным, но у Exim прекрасная история безопасности и для версии 4.xx. крайне редки критические уязвимости[5].
Exim 4 спроектирован для систем, имеющих постоянное подключение к сети, поэтому в нём нет сложных механизмов работы с очередью, через которую должны проходить все сообщения. В настройке по умолчанию Exim пытается немедленно доставить сообщение. При большой нагрузке на сервере режим немедленной доставки может быть временно выключен[6].
Особенности
- Полностью свободный MTA.
- Поддержка виртуальных доменов.
- Очень гибкая система фильтрации почты, основанная на собственных списках контроля доступа (ACL). Позволяет применять множество правил на каждом этапе SMTP-сессии.
- Система отладки, позволяющая эмулировать входящее соединение с полным выводом всей логики обработки письма, кроме оконечной доставки сообщения.
- Поддержка SMTP-аутентификации с использованием множества различных бэкэндов, таких, как LDAP, Dovecot SASL, Cyrus и т. д.
- Поддержка большого списка антивирусного ПО, такого как ClamAV, KAV и т. д.
- Поддержка большого списка антиспамового ПО, такого как Spamassassin, DCC и т. д.
- Поддержка современных видов подписи и верификации почты, таких как SPF, DKIM и DMARC.
- Поддержка протоколов SOCKS, PROXY, LDAP, DNSSEC, DANE.
- Формат конфигурационного файла, позволяющий использовать макросы, переменные, выполнения по условию и сложные выражения с обращением к внешним источникам данных (файлы и БД), имеющий приемлемый уровень читаемости (в отличие, например, от конфигурационного файла Sendmail)
- Поддержка фильтров доставки как в стандартном формате Sieve, так и в более гибком собственном формате[7].
Недостатки
- Работа с почтовой очередью не оптимизирована[6].
- Монолитный дизайн — один процесс управляет всем.
Для некоторых версий, которые в настоящее время распространены на многих компьютерах, обнаружены уязвимости CVE-2019-10149 (подвержены версии начиная с версии 4.87 по 4.91 включительно)[8] и CVE-2018-6789 (Уязвимые версии: 4.90, 4.89.1, 4.89, 4.87.1, 4.82.1, 4.88, 4.83, 4.82, 4.80.1, 4.80, 4.85, 4.84, 4.85.2, 4.84.2, 4.86.2, 4.86, 4.87)[9]
Примечания
Ссылки
Литература