Exim

Exim
Логотип программы Exim
Тип почтовый сервер
Разработчик Philip Hazel[вд]
Написана на Си[2]
Операционная система Unix-подобная операционная система
Первый выпуск 1995
Последняя версия
Репозиторий git.exim.org/exim.git
Лицензия GNU GPL[3]
Сайт exim.org (англ.)

Exim (от англ. EXperimental Internet Mailer[4]) — агент пересылки сообщений, используемый в операционных системах семейства Unix. Первая версия была написана в 1995 году Филиппом Гейзелом (Philip Hazel) для использования в качестве почтовой системы в Кембриджском Университете. Exim распространяется под лицензией GPL, и каждый может свободно скачать его, использовать и модифицировать. Следует отметить, что версия 4 существенно отличается от версии 3[4].

Exim придерживается дизайна sendmail, где один процесс контролирует всю работу MTA. Такой монолитный дизайн считается небезопасным, но у 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]

Примечания

[править | править код]
  1. [exim-announce Exim 4.98 released] — 2024.
  2. The exim Open Source Project on Open Hub: Languages Page — 2006.
  3. http://exim.org/exim-html-4.84/doc/html/spec_html/ch-introduction.html
  4. 1 2 Hazel, 2003, p. xiii.
  5. [https://web.archive.org/web/20120202030340/http://www.exim.org/lurker/message/20101210.164935.385e04d0.en.html Архивная копия от 2 февраля 2012 на Wayback Machine Re: [exim-dev] Remote root vulnerability in Exim]
  6. 1 2 Hazel, 2003, p. 27.
  7. Exim's interfaces to mail filtering. Дата обращения: 16 сентября 2012. Архивировано 19 октября 2012 года.
  8. CVE-2019-10149. Дата обращения: 10 июня 2019. Архивировано 29 июня 2019 года.
  9. Выполнение кода в Exim. Дата обращения: 10 июня 2019. Архивировано 6 августа 2020 года.

Литература

[править | править код]
  • Philip Hazel. The Exim SMTP Mail Server: Official Guide for Release 4. — UIT Cambridge, 2003. — 595 с. — ISBN 9780954452902.