Exim

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Exim
Логотип программы Exim

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

Exim придерживается дизайна sendmail, где один процесс контролирует всю работу MTA. Такой монолитный дизайн считается небезопасным, но у Exim прекрасная история безопасности и для версии 4.xx. крайне редки критические уязвимости[2].

Exim 4 спроектирован для систем, имеющих постоянное подключение к сети, поэтому в нём нет сложных механизмов работы с очередью, через которую должны проходить все сообщения. В настройке по умолчанию Exim пытается немедленно доставить сообщение. При большой нагрузке на сервере режим немедленной доставки может быть временно выключен[3].

Особенности

  • Полностью свободный MTA.
  • Поддержка виртуальных доменов.
  • Очень гибкая система фильтрации почты, основанная на собственных списках контроля доступа (ACL). Позволяет применять множество правил на каждом этапе SMTP-сессии.
  • Система отладки, позволяющая эмулировать входящее соединение с полным выводом всей логики обработки письма, кроме оконечной доставки сообщения.
  • Поддержка SMTP-аутентификации с использованием множества различных бэкэндов, таких, как LDAP, Dovecot SASL, Cyrus и т. д.
  • Поддержка большого списка антивирусного ПО, такого как ClamAV, KAV и т. д.
  • Поддержка большого списка антиспамового ПО, такого как Spamassassin, DCC и т. д.
  • Поддержка современных видов подписи и верификации почты, таких как SPF, DKIM и DMARC.
  • Поддержка протоколов SOCKS, PROXY, LDAP, DNSSEC, DANE.
  • Формат конфигурационного файла, позволяющий использовать макросы, переменные, выполнения по условию и сложные выражения с обращением к внешним источникам данных (файлы и БД), имеющий приемлемый уровень читаемости (в отличие, например, от конфигурационного файла Sendmail)
  • Поддержка фильтров доставки как в стандартном формате Sieve, так и в более гибком собственном формате[4].

Недостатки

  • Работа с почтовой очередью не оптимизирована[3].
  • Монолитный дизайн — один процесс управляет всем.

Для некоторых версий, которые в настоящее время распространены на многих компьютерах, обнаружены уязвимости CVE-2019-10149 (подвержены версии начиная с версии 4.87 по 4.91 включительно)[5] и 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)[6]

Примечания

  1. 1,0 1,1 Hazel, 2003, p. xiii.
  2. [http://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]
  3. 3,0 3,1 Hazel, 2003, p. 27.
  4. Exim's interfaces to mail filtering. Дата обращения: 16 сентября 2012. Архивировано 19 октября 2012 года.
  5. CVE-2019-10149. Дата обращения: 10 июня 2019. Архивировано 29 июня 2019 года.
  6. Выполнение кода в Exim. Дата обращения: 10 июня 2019. Архивировано 6 августа 2020 года.

Ссылки

Литература