stringtranslate.com

qmail

qmail — это агент передачи почты (MTA), работающий в Unix . Он был написан в декабре 1995 года Дэниелом Дж. Бернштейном как более безопасная альтернатива популярной программе Sendmail . Исходный код qmail, изначально не требующий лицензии , позже был передан автором в общественное достояние . [3]

Функции

Безопасность

На момент своей первой публикации qmail был первым агентом транспорта почты, обеспечивающим безопасность; с тех пор были опубликованы другие MTA , обеспечивающие безопасность . Самый популярный предшественник qmail, Sendmail , не был разработан с целью обеспечения безопасности и в результате стал постоянной мишенью для злоумышленников. В отличие от sendmail, qmail имеет модульную архитектуру, состоящую из взаимно не доверяющих компонентов; например, компонент прослушивателя SMTP в qmail запускается с учетными данными , отличными от учетных данных администратора очередей или отправителя SMTP. qmail также был реализован с помощью безопасной замены стандартной библиотеки C и, как следствие, не был уязвим для переполнения стека и кучи , атак на строку формата или условий временной гонки файлов .

Производительность

На момент своего выпуска qmail был значительно быстрее, чем Sendmail, особенно для задач массовой почты, таких как серверы списков рассылки. qmail изначально был разработан как способ управления большими списками рассылки.

Простота

На момент появления qmail конфигурация Sendmail была общеизвестно сложной, тогда как qmail был прост в настройке и развертывании.

Инновации

qmail поощряет использование нескольких нововведений в почте (некоторые из них созданы Бернштейном, другие нет):

Майлдир
Бернштейн изобрел формат Maildir для qmail, который разбивает отдельные сообщения электронной почты на отдельные файлы. В отличие от стандартного де-факто формата mbox , в котором все сообщения хранятся в одном файле, Maildir позволяет избежать многих проблем с блокировкой и параллелизмом и может безопасно предоставляться через NFS . qmail также доставляет сообщения в почтовые ящики mbox.
Почтовые ящики с подстановочными знаками
qmail представил концепцию подстановочных знаков, управляемых пользователем. По умолчанию почта, адресованная «user- wildcard » на хостах qmail, доставляется в отдельные почтовые ящики, что позволяет пользователям публиковать несколько почтовых адресов для списков рассылки и управления спамом.

qmail также представляет протокол быстрой передачи почты (QMTP), протокол передачи электронной почты, который обеспечивает более высокую производительность, чем простой протокол передачи почты (SMTP), фактический стандарт; [4] и Quick Mail Queuing Protocol (QMQP), сетевой протокол, предназначенный для разделения очередей электронной почты между несколькими хостами. [5]

Модульность

qmail — почти полностью модульная система, в которой каждая основная функция отделена от других основных функций. Любую часть системы qmail легко заменить другим модулем, если новый модуль сохраняет тот же интерфейс, что и исходный.

Споры

Награда за безопасность и уязвимость Георгия Гунински

В 1997 году Бернштейн предложил вознаграждение в размере 500 долларов США тому, кто первым опубликует поддающуюся проверке дыру в безопасности в последней версии программного обеспечения. [6]

В 2005 году исследователь безопасности Георгий Гунински обнаружил в qmail целочисленное переполнение . На 64-битных платформах в конфигурациях по умолчанию с достаточным количеством виртуальной памяти доставка огромных объемов данных определенным компонентам qmail может позволить удаленное выполнение кода. Бернштейн не согласен с тем, что это практическая атака, утверждая, что никакое реальное развертывание qmail не будет уязвимо. Настройка ограничений ресурсов для компонентов qmail снижает уязвимость. [7]

1 ноября 2007 года Бернштейн увеличил награду до 1000 долларов США. [1] На слайд-презентации на следующий день Бернштейн заявил, что в qmail-1.03 десятилетней давности было 4 «известных ошибки», ни одна из которых не была «дырами в безопасности». Он охарактеризовал найденную Гунински ошибку как «потенциальное переполнение непроверяемого счетчика». «К счастью, рост счетчика был ограничен памятью и, следовательно, конфигурацией, но это была чистая удача». [8]

19 мая 2020 года Qualys опубликовал рабочий эксплойт для уязвимости Гунински [9] , но авторы эксплойта заявляют, что им было отказано в вознаграждении, поскольку он содержит дополнительные ограничения окружающей среды.

Частота обновлений

Базовый пакет qmail не обновлялся уже много лет. [10] Новые функции изначально предоставлялись сторонними патчами, из которых наиболее важные на тот момент были собраны в один мета-патч под названием netqmail . [11]

Соответствие стандартам

qmail не был разработан как замена Sendmail и не во всех ситуациях ведет себя точно так же, как Sendmail . В некоторых случаях эти различия в поведении стали поводом для критики. Например, подход qmail к возвращенным сообщениям (формат, называемый QSBMF) отличается от стандартного формата уведомлений о статусе доставки , указанного IETF в RFC 1894, [12], который тем временем был усовершенствован до черновика стандарта как RFC 3464, [13] и рекомендован в Спецификация SMTP .

Более того, некоторые функции qmail подверглись критике за усложнение пересылки почты; например, механизм доставки «подстановочных знаков» и конструкция безопасности qmail не позволяют ему отклонять сообщения от поддельных или несуществующих отправителей во время транзакций SMTP. [14] В прошлом эти различия могли привести к тому, что qmail вел себя по-другому, когда его использовали в качестве ретранслятора спама, хотя современные методы доставки спама меньше подвержены влиянию отказов.

Статус авторских прав

qmail был выпущен в общественное достояние в ноябре 2007 года. [15] До ноября 2007 года qmail был безлицензионным программным обеспечением , с разрешением на распространение в исходной форме или в предварительно скомпилированной форме («пакет var-qmail») только в том случае, если были соблюдены определенные ограничения (в первую очередь связанные с совместимостью). Это необычное лицензионное соглашение сделало qmail несвободным в соответствии с некоторыми правилами (например, DFSG ) и вызвало споры.

qmail — единственный широко распространенный агент передачи сообщений общедоступного программного обеспечения ( MTA ).

Смотрите также

Рекомендации

  1. ^ ab «Некоторые мысли о безопасности после десяти лет существования qmail 1.0» (PDF) . Проверено 1 декабря 2007 г.
  2. ^ Объявление о notqmail
  3. ^ «Информация для дистрибьюторов». Настоящим я помещаю пакет qmail (в частности, qmail-1.03.tar.gz с контрольной суммой MD5 622f65f982e380dbe86e6574f3abcb7c) в общественное достояние. Вы можете изменять пакет, распространять модифицированные версии и т. д.
  4. ^ «Протокол быстрой передачи почты (QMTP)» . 1 февраля 1997 года . Проверено 6 мая 2023 г.
  5. ^ «QMQP: Протокол быстрой организации очереди почты» . Проверено 6 мая 2023 г.
  6. ^ «Гарантия безопасности qmail» . Проверено 5 октября 2007 г.
  7. ^ Георгий Гунинский. «Совет по безопасности Георгия Гунинского № 74, 2005 г.» . Проверено 5 октября 2007 г.
  8. ^ «Некоторые мысли о безопасности после десяти лет существования qmail 1.0 [Слайд-презентация]» (PDF) . Проверено 17 января 2008 г.
  9. ^ "'[oss-security] Удаленное выполнение кода в qmail (CVE-2005-1513)' - MARC" . marc.info . Проверено 03 марта 2021 г.
  10. ^ «Жизнь с qmail; История» . Проверено 1 декабря 2007 г.
  11. Ссылки _ netqmail.org . Проверено 03 марта 2021 г.
  12. ^ Водрей, Грегори М.; Мур, Кейт (1996). «Расширяемый формат сообщений для уведомлений о статусе доставки». www.tools.ietf.org . дои : 10.17487/RFC1894 . Проверено 03 марта 2021 г.
  13. ^ Водрей, Грегори М.; Мур, Кейт (2003). «Расширяемый формат сообщений для уведомлений о статусе доставки». www.tools.ietf.org . дои : 10.17487/RFC3464 . Проверено 03 марта 2021 г.
  14. ^ Моен, Рик (октябрь 2006 г.). «О Qmail, поддельной почте и записях SPF». Linux Gazette (131).
  15. ^ «Бернштейн публикует код в общественное достояние» . Проверено 30 ноября 2007 г.

Внешние ссылки