qmail
Оригинальный автор(ы) | Дэниел Дж. Бернштейн |
---|---|
Финальный выпуск | 1.03 / 15 июня 1998 г |
Репозиторий | кр |
Написано в | С |
Операционная система | Unix-подобный |
Тип | Агент по пересылке почты |
Лицензия | общественное достояние [1] |
Веб-сайт | кр |
Финальный выпуск | 1.06 / 30 ноября 2007 г |
---|---|
Репозиторий | netqmail |
Веб-сайт | netqmail |
Стабильная версия | 4.2.29а / 26 февраля 2024 г |
---|---|
Веб-сайт | фехком |
Стабильная версия | 1.09 / 6 мая 2024 г |
---|---|
Репозиторий | github |
Веб-сайт | notqmail |
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] и протокол быстрой почты (QMQP), сетевой протокол, предназначенный для совместного использования очередей электронной почты между несколькими хостами. [5]
Модульность
[ редактировать ]qmail — почти полностью модульная система, в которой каждая основная функция отделена от других основных функций. Любую часть системы qmail легко заменить другим модулем, если новый модуль сохраняет тот же интерфейс, что и исходный.
Споры
[ редактировать ]Награда за безопасность и уязвимость Георгия Гунински
[ редактировать ]В 1997 году Бернштейн предложил вознаграждение в размере 500 долларов США тому, кто первым опубликует поддающуюся проверке дыру в безопасности в последней версии программного обеспечения. [6]
В 2005 году исследователь безопасности Георгий Гунински обнаружил целочисленное переполнение в qmail . На 64-битных платформах в конфигурациях по умолчанию с достаточным количеством виртуальной памяти доставка огромных объемов данных определенным компонентам qmail может позволить удаленное выполнение кода. Бернштейн не согласен с тем, что это практическая атака, утверждая, что никакое реальное развертывание qmail не будет уязвимо. Настройка ограничений ресурсов для компонентов qmail снижает уязвимость. [7]
1 ноября 2007 года Бернштейн увеличил награду до 1000 долларов США. [1] На слайд-презентации на следующий день Бернштейн заявил, что в qmail-1.03 десятилетней давности было четыре «известных ошибки», ни одна из которых не была «дырами в безопасности». Он охарактеризовал найденную Гунински ошибку как «потенциальное переполнение непроверяемого счетчика». «К счастью, рост счетчика был ограничен памятью и, следовательно, конфигурацией, но это была чистая удача». [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 ).
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б «Некоторые мысли о безопасности после десяти лет существования qmail 1.0» (PDF) . Проверено 1 декабря 2007 г.
- ^ Объявление о notqmail
- ^ «Информация для дистрибьюторов» .
Настоящим я помещаю пакет qmail (в частности, qmail-1.03.tar.gz с контрольной суммой MD5 622f65f982e380dbe86e6574f3abcb7c) в общественное достояние. Вы можете модифицировать пакет, распространять модифицированные версии и т. д.
- ^ «Протокол быстрой передачи почты (QMTP)» . 1 февраля 1997 года . Проверено 6 мая 2023 г.
- ^ «QMQP: протокол быстрой организации очереди почты» . Проверено 6 мая 2023 г.
- ^ «Гарантия безопасности qmail» . Проверено 5 октября 2007 г.
- ^ Георгий Гунинский. «Совет по безопасности Георгия Гунинского № 74, 2005 г.» . Проверено 5 октября 2007 г.
- ^ «Некоторые мысли о безопасности после десяти лет существования qmail 1.0 [Слайд-презентация]» (PDF) . Проверено 17 января 2008 г.
- ^ « [oss-security] Удаленное выполнение кода в qmail (CVE-2005-1513)» — MARC» . marc.info . Проверено 03 марта 2021 г.
- ^ «Жизнь с qmail; История» . Проверено 1 декабря 2007 г.
- ^ "netqmail" . netqmail.org . Проверено 03 марта 2021 г.
- ^ Водрей, Грегори М.; Мур, Кейт (1996). «Расширяемый формат сообщений для уведомлений о статусе доставки» . www.tools.ietf.org . дои : 10.17487/RFC1894 . Проверено 03 марта 2021 г.
- ^ Водрей, Грегори М.; Мур, Кейт (2003). «Расширяемый формат сообщений для уведомлений о статусе доставки» . www.tools.ietf.org . дои : 10.17487/RFC3464 . Проверено 03 марта 2021 г.
- ^ Моен, Рик (октябрь 2006 г.). «О Qmail, поддельной почте и записях SPF» . Linux Gazette (131).
- ^ «Бернштейн публикует код в общественное достояние» . Проверено 30 ноября 2007 г.
Внешние ссылки
[ редактировать ]- Официальный сайт , поддерживается автором.
- qmail.org , поддерживается Рассом Нельсоном.
- qmail-LDAP-UI — qmail-LDAP-UI — это веб-инструмент администрирования пользователей.
- Qmailtoaster – распространяет RPM-файлы для соответствующих дистрибутивов для быстрой и простой установки qmail. Имеет вики и список рассылки.
- pkgsrc qmail и qmail-run — пара простых в установке кроссплатформенных исходных пакетов qmail, включенных в pkgsrc.
- Раздел qmail в FAQTS , обширной базе знаний, созданной пользователями qmail.
- qmailWiki — относительно новая вики о qmail, размещенная на Inter7.
- Сайт JMSimpson qmail. Полезная информация о qmail, включая пояснения и исправления, от Джона М. Симпсона (регулярно обновляется).
- Неофициальная ошибка qmail и список пожеланий
- Доставка сообщений очереди qmail (PHP)
- qmail-distributions — патчи qmail, объединенные в простые в использовании дистрибутивы.
- Заметки Роберто по qmail - инструкции по qmail и соответствующему программному обеспечению на английском и итальянском языках. Включен большой патч, который регулярно обновляется.