Автор (ы) оригинала | Витсе Венема из Исследовательского центра IBM Томаса Дж. Ватсона |
---|---|
Разработчики) | Венема и многие другие |
изначальный выпуск | 14 декабря 1998 г . |
Стабильный выпуск | 3.5.9 / 17 января 2021 г . |
Предварительный выпуск | 3.6-20210224 / 24 февраля 2021 г . |
Репозиторий | |
Написано в | C [1] |
Операционная система | Кроссплатформенность |
Тип | Агент по пересылке почты |
Лицензия | Общественная лицензия IBM или Общественная лицензия Eclipse |
Интернет сайт | www |
Postfix является свободным и открытым исходным кодом передачи почты агента (МТ) , который направляет и обеспечивает электронную почту .
Он выпущен под лицензией IBM Public License 1.0, которая является лицензией на бесплатное программное обеспечение . В качестве альтернативы, начиная с версии 3.2.5, он доступен по лицензии Eclipse Public License 2.0 по выбору пользователя. [2]
Первоначально написанный в 1997 году Витсе Венема из Исследовательского центра IBM Thomas J. Watson в Нью-Йорке и впервые выпущенный в декабре 1998 года [3], Postfix с 2020 года продолжает [Обновить]активно развиваться его создателем и другими участниками. Программное обеспечение также известно под прежними названиями VMailer и IBM Secure Mailer .
В августе 2019 года исследование, проведенное E-Soft, Inc. [4], показало, что примерно 34% общедоступных почтовых серверов в Интернете используют Postfix, что делает его вторым по популярности почтовым сервером после Exim .
Типичное развертывание [ править ]
В качестве SMTP- сервера Postfix реализует первый уровень защиты от спам-ботов и вредоносных программ . Администраторы могут объединять Postfix с другим программным обеспечением , которое обеспечивает спам / вирус фильтрации (например, Amavisd новый ), сообщение-магазин доступа (например, Dovecot ) или комплекс SMTP -LEVEL доступа-политики (например, postfwd , policyd массой тела или Грейлистинг ) .
В качестве SMTP- клиента Postfix реализует высокопроизводительный механизм параллельной доставки почты. Postfix часто сочетается с программным обеспечением списков рассылки (например, Mailman ).
Операционные системы [ править ]
Postfix работает (или уже работал) в AIX , BSD , HP-UX , Linux , macOS , Solaris и, вообще говоря, в каждой Unix-подобной операционной системе, которая поставляется с компилятором C и предоставляет стандартную среду разработки POSIX . Это MTA по умолчанию для операционных систем macOS , NetBSD , [5] RedHat / CentOS [6] и Ubuntu . [7]
Архитектура [ править ]
Postfix состоит из комбинации серверных программ, работающих в фоновом режиме, и клиентских программ, которые запускаются пользовательскими программами или системными администраторами.
Ядро Postfix состоит из нескольких десятков серверных программ, работающих в фоновом режиме, каждая из которых обрабатывает один конкретный аспект доставки электронной почты. Примерами являются SMTP- сервер, планировщик , средство перезаписи адресов и локальный сервер доставки. В целях предотвращения повреждений большинство серверных программ запускаются с фиксированными ограниченными привилегиями и завершаются добровольно после обработки ограниченного количества запросов. Чтобы сохранить системные ресурсы, большинство серверных программ завершают свою работу, когда они бездействуют.
Клиентские программы работают вне ядра Postfix. Они взаимодействуют с серверными программами Postfix через инструкции по доставке почты в пользовательском файле ~ / .forward и через небольшие программы-«шлюзы» для отправки почты или запроса информации о статусе очереди.
Другие программы предоставляют административную поддержку для запуска или остановки Postfix, запроса информации о статусе, управления очередью или для проверки или обновления ее файлов конфигурации.
- Желтые эллипсы
- Один из многих демонов Postfix, служащих одной цели. Это разделение на множество более мелких программ считается одной из причин того, что Postfix безопасен и стабилен.
- Синие ящики
- Синие прямоугольники представляют собой так называемые справочные таблицы . Таблица поиска состоит из двух столбцов (ключ и значение), содержащих информацию, используемую для управления доступом, маршрутизации электронной почты и т. Д.
- Желтые коробки
- Желтые поля - это почтовые очереди или файлы. В любом случае сообщения электронной почты хранятся на постоянном носителе (например, на жестком диске).
- белые облака
- Облака обозначают точки, в которые электронная почта входит или покидает Postfix. Например, smtpd принимает почту от других почтовых серверов или пользователей, тогда как smtp передает почту другим MTA.
Реализация [ править ]
Реализация Postfix использует безопасные подмножества языка C и системного API POSIX . Эти подмножества скрыты под слоем абстракции, который содержит около 50% всего исходного кода Postfix и обеспечивает основу, на которой построены все программы Postfix. Например, примитив «vstring» делает код Postfix устойчивым к атакам переполнения буфера [8] , а примитив «безопасное открытие» делает код Postfix устойчивым к атакам состояния гонки в системах, реализующих API файловой системы POSIX . Этот уровень абстракции не влияет на устойчивость к атакам кода, отличного от Postfix, например кода в системных библиотеках или сторонних библиотеках.
Надежность [ править ]
Концептуально Postfix управляет конвейерамипроцессов, которые передают ответственность за доставку сообщений и уведомление об ошибках от одного процесса к другому. Вся информация о «состоянии» сообщений и уведомлений сохраняется в файловой системе. Процессы в конвейере работают в основном без централизованного управления; эта относительная автономия упрощает восстановление после ошибок. Когда процесс выходит из строя до завершения своей части транзакции файла или протокола, его предшественник в конвейере отключается и повторяет запрос позже, а его преемник в конвейере отбрасывает незавершенную работу. Многие демоны Postfix могут просто «умереть», столкнувшись с проблемой; они автоматически перезапускаются при поступлении следующего запроса на обслуживание. Такой подход делает Postfix очень устойчивым до тех пор, пока операционная система или оборудование не выходят из строя катастрофически.
Производительность [ править ]
Один единственный экземпляр Postfix синхронизировался со скоростью ~ 300 доставок сообщений в секунду [9] через Интернет и работал на стандартном оборудовании (система Dell 1850, выпущенная в 2003 году , с контроллером MegaRAID с батарейным питанием и двумя дисками SCSI ). Эта скорость доставки на порядок ниже «внутреннего» предела в 2500 доставок сообщений в секунду [9], который был достигнут с почтовой очередью на RAM-диске при доставке на « отбрасывающий » транспорт (с двухъядерной системой Opteron. в 2007).
Почтовые системы, такие как Postfix и Qmail, достигают высокой производительности за счет доставки почты в параллельных сеансах. С почтовыми системами, такими как Sendmail и Exim, которые устанавливают одно соединение за раз, высокая производительность может быть достигнута путем параллельной отправки ограниченных пакетов почты, так что каждый пакет доставляется отдельным процессом. Postfix и Qmail требуют параллельной отправки в разные экземпляры MTA, когда они достигают своего внутреннего предела производительности или пределов производительности оборудования или операционной системы.
Приведенные выше показатели доставки в основном являются теоретическими. При массовой доставке почты истинная скорость доставки в первую очередь определяется политикой получения почты получателем и репутацией отправителя.
Базовая конфигурация [ править ]
В файле main.cf хранятся параметры конфигурации Postfix для конкретного сайта, а в master.cf определяются процессы демона. [10] В руководстве по базовой настройке Postfix описаны основные параметры, которые необходимо учитывать каждому сайту, а в документе « Примеры стандартной конфигурации Postfix» обсуждаются параметры конфигурации для нескольких распространенных сред. Документ Postfix Address Rewriting описывает перезапись адресов и маршрутизацию почты. Полная коллекция документации находится в документации Postfix.
Более сложные реализации Postfix могут включать: интеграцию с другими приложениями, такими как SpamAssassin ; поддержка нескольких виртуальных доменных имен и использование таких баз данных, как MySQL, для управления сложными конфигурациями.
История выпусков [ править ]
Версия | Дата выпуска [11] | Существенные изменения | |
---|---|---|---|
Основной | Незначительный | ||
2.0 | |||
2.1 | |||
2.2 | |||
2.3 | |||
2,4 | |||
2,5 | 2.5.0 | 24 января 2008 г. | |
2.5.8 | 28 августа 2009 г. | Снято выпуск. | |
2.5.17 | 6 февраля 2012 г. | EOL 2.5 | |
2,6 | 2.6.0 | 12 мая 2009 года | |
2.6.3 | 2 августа 2009 г. | Необъявленный выпуск. | |
2.6.4 | 26 августа 2009 г. | Снято выпуск. | |
2.6.19 | 4 февраля 2013 г. | EOL 2.6 | |
2,7 | 2.7.0 | 13 февраля 2010 г. | |
2.7.16 | 16 января 2014 г. | EOL 2.7 [12] | |
2,8 | 2.8.0 | 20 января 2011 г. | Представлен демон postscreen, который находится перед основным постфиксом и действует как блокировщик зомби. Также: белый список DNS, поддержка SQLite [13] |
2.8.1 | 22 февраля 2011 г. | ||
2.8.2 | 21 марта 2011 г. | ||
2.8.3 | 9 мая 2011 года | ||
2.8.4 | 7 июля 2011 г. | ||
2.8.5 | 3 сентября 2011 г. | ||
2.8.6 | 24 октября 2011 г. | ||
2.8.7 | 7 ноября 2011 г. | ||
2.8.8 | 1 февраля 2012 г. | ||
2.8.9 | 5 марта 2012 г. | ||
2.8.10 | 24 апреля 2012 г. | ||
2.8.11 | 20 мая 2012 г. | ||
2.8.12 | 1 августа 2012 г. | ||
2.8.13 | 13 декабря 2012 г. | ||
2.8.14 | 4 февраля 2013 г. | ||
2.8.15 | 22 июня 2013 г. | ||
2.8.16 | 5 сентября 2013 г. | ||
2.8.17 | 16 января 2014 г. | ||
2.8.18 | 13 октября 2014 г. | ||
2.8.19 | 19 октября 2014 г. | ||
2.8.20 | 8 февраля 2015 г. | EOL 2,8 [14] | |
2,9 | 2.9.0 | 1 февраля 2012 г. | Поддержка Memcache, постепенная деградация [15] |
2.9.1 | 18 февраля 2012 г. | ||
2.9.2 | 24 апреля 2012 г. | ||
2.9.3 | 20 мая 2012 г. | ||
2.9.4 | 1 августа 2012 г. | ||
2.9.5 | 13 декабря 2012 г. | ||
2.9.6 | 4 февраля 2013 г. | ||
2.9.7 | 22 июня 2013 г. | ||
2.9.8 | 5 сентября 2013 г. | ||
2.9.9 | 16 января 2014 г. | ||
2.9.10 | 13 октября 2014 г. | ||
2.9.11 | 19 октября 2014 г. | ||
2.9.12 | 8 февраля 2015 г. | ||
2.9.13 | 12 апреля 2015 г. | ||
2.9.14 | 20 июля 2015 г. | ||
2.9.15 | 10 октября 2015 г. | EOL 2.9 [16] | |
2.10 | 2.10.0 | 11 февраля 2013 г. | Поддержка TLSv1.1 и TLSv1.2 [17] |
2.10.1 | 22 июня 2013 г. | ||
2.10.2 | 5 сентября 2013 г. | ||
2.10.3 | 16 января 2014 г. | ||
2.10.4 | 13 октября 2014 г. | ||
2.10.5 | 19 октября 2014 г. | ||
2.10.6 | 8 февраля 2015 г. | ||
2.10.7 | 12 апреля 2015 г. | ||
2.10.8 | 20 июля 2015 г. | ||
2.10.9 | 10 октября 2015 г. | ||
2.10.10 | 15 мая 2016 | EOL 2.10 [18] | |
2.11 | 2.11.0 | 15 января 2014 г. | Поддержка DANE [19] [20] |
2.11.1 | 7 мая 2014 | ||
2.11.2 | 13 октября 2014 г. | ||
2.11.3 | 19 октября 2014 г. | ||
2.11.4 | 8 февраля 2015 г. | ||
2.11.5 | 12 апреля 2015 г. | ||
2.11.6 | 20 июля 2015 г. | ||
2.11.7 | 10 октября 2015 г. | ||
2.11.8 | 15 мая 2016 | ||
2.11.9 | 1 января 2017 г. | ||
2.11.10 | 13 июн 2017 | ||
2.11.11 | 27 января 2018 г. | ||
3.0 | 3.0.0 | 8 февраля 2015 г. | Поддержка интернационализированных доменных имен и локальных частей адреса, как определено в RFC 6530 и связанных документах, динамически подключаемых библиотеках Postfix и подключаемых модулях баз данных, операции с несколькими таблицами поиска, псевдотаблицами, упрощающими реализацию простых вещей, и многое другое. [21] |
3.0.1 | 12 апреля 2015 г. | ||
3.0.2 | 20 июля 2015 г. | ||
3.0.3 | 10 октября 2015 г. | ||
3.0.4 | 21 февраля 2016 г. | ||
3.0.5 | 15 мая 2016 | ||
3.0.6 | 28 августа 2016 г. | ||
3.0.7 | 1 октября 2016 г. | ||
3.0.8 | 1 января 2017 г. | ||
3.0.10 | 13 июн 2017 | ||
3.0.11 | 28 октября 2017 г. | ||
3.0.12 | 27 января 2018 г. | ||
3.0.13 | 20 мая 2018 | ||
3.0.14 | 24 ноября 2018 г. | ||
3.0.15 | 26 февраля 2019 г. | ||
3.1 | 3.1.0 | 24 февраля 2016 г. | Упрощенная настройка гибкого управления ключами / сертификатами сервера TLS и SMTP, поддержка TTL положительного и отрицательного ответа DNS на постэкране, ограничение скорости SASL AUTH на SMTP-сервере, ограничение безопасности на количество запросов проверки адреса, список очереди JSON, доставка независимо от пункта назначения задержка ставки, в том числе. [22] |
3.1.1 | 15 мая 2016 | ||
3.1.2 | 28 августа 2016 г. | ||
3.1.3 | 1 октября 2016 г. | ||
3.1.4 | 1 января 2017 г. | ||
3.1.6 | 13 июн 2017 | ||
3.1.7 | 28 октября 2017 г. | ||
3.1.8 | 27 января 2018 г. | ||
3.1.9 | 20 мая 2018 | ||
3.1.10 | 24 ноября 2018 г. | ||
3.1.11 | 26 февраля 2019 г. | ||
3.1.12 | 30 марта 2019 г. | ||
3.1.13 | 29 июн 2019 | ||
3.1.14 | 22 сентября 2019 г. | ||
3.1.15 | 3 февраля 2020 г. | ||
3,2 | 3.2.0 | 28 февраля 2017 г. | Согласование эллиптических кривых с OpenSSL ≥ 1.0.2 , поддержка хранимых процедур для баз данных MySQL, cidr: поддержка таблиц для if / endif и отрицания, поддержка конфигурации Milter для каждого клиента , действия «PASS» и «STRIP» в header / body_checks, и больше. [23] |
3.2.2 | 13 июн 2017 | ||
3.2.3 | 24 сентября 2017 г. | ||
3.2.4 | 28 октября 2017 г. | ||
3.2.5 | 27 января 2018 г. | ||
3.2.6 | 20 мая 2018 | ||
3.2.7 | 24 ноября 2018 г. | ||
3.2.8 | 26 февраля 2019 г. | ||
3.2.9 | 30 марта 2019 г. | ||
3.2.10 | 29 июн 2019 | ||
3.2.11 | 22 сентября 2019 г. | ||
3.2.12 | 3 февраля 2020 г. | ||
3.2.13 | 12 марта 2020 г. | ||
3.2.14 | 18 апреля 2020 г. | ||
3.3 | 3.3.0 | 21 февраля 2018 г. | Прекращена поддержка устаревшего выпуска Postfix 2.11 [24] |
3.3.1 | 20 мая 2018 | ||
3.3.2 | 24 ноября 2018 г. | ||
3.3.3 | 26 февраля 2019 г. | ||
3.3.4 | 30 марта 2019 г. | ||
3.3.5 | 29 июн 2019 | ||
3.3.6 | 22 сентября 2019 г. | ||
3.3.7 | 3 февраля 2020 г. | ||
3.3.8 | 12 марта 2020 г. | ||
3.3.9 | 18 апреля 2020 г. | ||
3,4 | 3.4.0 | 27 февраля 2019 г. | Прекращена поддержка устаревшего выпуска Postfix 3.0 [25] |
3.4.1 | 7 марта 2019 г. | ||
3.4.2 | 10 марта 2019 г. | ||
3.4.3 | 10 марта 2019 г. | Одно из изменений Postfix 3.4.2 (LINUX5) отсутствовало. | |
3.4.4 | 14 марта 2019 г. | ||
3.4.5 | 30 марта 2019 г. | ||
3.4.6 | 29 июн 2019 | ||
3.4.7 | 22 сентября 2019 г. | ||
3.4.8 | 24 ноября 2019 г. | ||
3.4.9 | 3 февраля 2020 г. | ||
3.4.10 | 12 марта 2020 г. | ||
3.4.11 | 18 апреля 2020 г. | ||
3.5 | 3.5.0 | 16 марта 2020 г. | Прекращена поддержка устаревшего выпуска Postfix 3.1 [26] |
3.5.1 | 18 апреля 2020 г. | ||
3,6 | 19 апреля 2020 г. | ||
Легенда: Старая версия Старая версия, все еще поддерживается Последняя версия Последняя предварительная версия Будущий выпуск |
См. Также [ править ]
- Список почтовых серверов
- Сравнение почтовых серверов
- Фильтрация электронной почты
Ссылки [ править ]
- ^ Lextrait, Винсент (июль 2010). "Маяк языков программирования, v10.3" . Архивировано из оригинального 30 мая 2012 года . Проверено 5 сентября 2010 года .
- ^ «Стабильный выпуск Postfix 3.2.5 и устаревшие выпуски 3.1.8, 3.0.12 и 2.11.11» . Январь 2018 . Проверено 30 января 2018 года .
- ^ Марков, Джон (декабрь 1998). «Совместное использование программного обеспечения, IBM выпустит план почтовой программы» . Проверено 17 сентября 2017 года .
- ^ "Обзор E-Soft MX" . securityspace.com . E-Soft Inc. 1 августа 2019 . Проверено 21 августа 2019 .
- ^ «Руководство по NetBSD. Глава 27. Почта и новости» . Проверено 10 мая 2010 .
- ^ «ГЛАВА 24. ПОСТФИКС» .
- ^ "Постфикс" . Документация сообщества, Ubuntu Wiki . Проверено 9 марта 2012 .
- ^ Hontañón, Рамон Дж (10 июля, 2001 г.). Безопасность Linux . Сан-Франциско: Sybex . п. 166. ISBN. 978-0-7821-2741-6. Проверено 21 сентября 2011 .
- ^ a b «Массовая рассылка» . Проверено 9 сентября 2012 .
- ^ Postfix-Tutorial.com: Postfix, Courier / POP, SASL и Spamassassin - с администратором MySQL
- ^ Объявления Postfix
- ^ «Устаревшие выпуски Postfix 2.10.3, 2.9.9, 2.8.17 и 2.7.16» . Postfix.org . Проверено 24 января 2014 .
- ^ "Стабильный выпуск Postfix 2.8.0" . Postfix.org . Проверено 19 сентября 2013 .
- ^ «Устаревшие выпуски Postfix 2.11.4, 2.10.6, 2.9.12 и 2.8.20» . Postfix.org . Проверено 29 апреля 2015 .
- ^ "Стабильный выпуск Postfix 2.9.0" . Postfix.org . Проверено 19 сентября 2013 .
- ^ "Стабильный выпуск Postfix 3.1.0" . Postfix.org . Проверено 21 ноября 2017 .
- ^ "Стабильный выпуск Postfix 2.10.0" . Postfix.org . Проверено 19 сентября 2013 .
- ^ "Стабильный выпуск Postfix 3.1.4 и устаревшие выпуски 3.0.8, 2.11.9" . Postfix.org . Проверено 20 ноября 2017 .
- ^ "Postfix 2.11.0-RC2 доступен с полной поддержкой DANE" . IETF.org . Проверено 29 апреля 2015 .
- ^ "Стабильный выпуск Postfix 2.11.0" . Postfix.org . Проверено 24 января 2014 .
- ^ "Стабильный выпуск Postfix 3.0.0" . Postfix.org . Проверено 29 апреля 2015 .
- ^ "Стабильный выпуск Postfix 3.1.0" . Postfix.org . Проверено 29 марта 2016 .
- ^ "Стабильный выпуск Postfix 3.2.0" . Postfix.org . Проверено 21 ноября 2017 .
- ^ "Стабильный выпуск Postfix 3.3.0" . Postfix.org . Проверено 21 февраля 2018 .
- ^ "Стабильный выпуск Postfix 3.4.0" . Postfix.org . Проверено 27 февраля 2019 .
- ^ "Стабильный выпуск Postfix 3.5.0" . Postfix.org . Проверено 16 марта 2020 .
Дальнейшее чтение [ править ]
- Кайл Д. Дент (2003). Постфикс: полное руководство . O'Reilly Media . ISBN 978-0-596-00212-1.
- Ральф Хильдебрандт и Патрик Кёттер (2005). Книга Postfix: современный транспорт сообщений . Пресс без крахмала . ISBN 978-1-59327-001-8.
Внешние ссылки [ править ]
- Официальный веб-сайт
- Постфикс "как сделать" с примерами конфигурации и объяснениями
- Сервер делегирования политики Postfix
- Сервер делегирования политики Postfix
- Введение и анализ Postfix для безопасных сред (заархивированная версия)
- #postfix подключиться на freenode
- Обзор архитектуры Postfix