Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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, для управления сложными конфигурациями.

История выпусков [ править ]

См. Также [ править ]

  • Список почтовых серверов
  • Сравнение почтовых серверов
  • Фильтрация электронной почты

Ссылки [ править ]

  1. ^ Lextrait, Винсент (июль 2010). "Маяк языков программирования, v10.3" . Архивировано из оригинального 30 мая 2012 года . Проверено 5 сентября 2010 года .
  2. ^ «Стабильный выпуск Postfix 3.2.5 и устаревшие выпуски 3.1.8, 3.0.12 и 2.11.11» . Январь 2018 . Проверено 30 января 2018 года .
  3. ^ Марков, Джон (декабрь 1998). «Совместное использование программного обеспечения, IBM выпустит план почтовой программы» . Проверено 17 сентября 2017 года .
  4. ^ "Обзор E-Soft MX" . securityspace.com . E-Soft Inc. 1 августа 2019 . Проверено 21 августа 2019 .
  5. ^ «Руководство по NetBSD. Глава 27. Почта и новости» . Проверено 10 мая 2010 .
  6. ^ «ГЛАВА 24. ПОСТФИКС» .
  7. ^ "Постфикс" . Документация сообщества, Ubuntu Wiki . Проверено 9 марта 2012 .
  8. ^ Hontañón, Рамон Дж (10 июля, 2001 г.). Безопасность Linux . Сан-Франциско: Sybex . п. 166. ISBN. 978-0-7821-2741-6. Проверено 21 сентября 2011 .
  9. ^ a b «Массовая рассылка» . Проверено 9 сентября 2012 .
  10. ^ Postfix-Tutorial.com: Postfix, Courier / POP, SASL и Spamassassin - с администратором MySQL
  11. ^ Объявления Postfix
  12. ^ «Устаревшие выпуски Postfix 2.10.3, 2.9.9, 2.8.17 и 2.7.16» . Postfix.org . Проверено 24 января 2014 .
  13. ^ "Стабильный выпуск Postfix 2.8.0" . Postfix.org . Проверено 19 сентября 2013 .
  14. ^ «Устаревшие выпуски Postfix 2.11.4, 2.10.6, 2.9.12 и 2.8.20» . Postfix.org . Проверено 29 апреля 2015 .
  15. ^ "Стабильный выпуск Postfix 2.9.0" . Postfix.org . Проверено 19 сентября 2013 .
  16. ^ "Стабильный выпуск Postfix 3.1.0" . Postfix.org . Проверено 21 ноября 2017 .
  17. ^ "Стабильный выпуск Postfix 2.10.0" . Postfix.org . Проверено 19 сентября 2013 .
  18. ^ "Стабильный выпуск Postfix 3.1.4 и устаревшие выпуски 3.0.8, 2.11.9" . Postfix.org . Проверено 20 ноября 2017 .
  19. ^ "Postfix 2.11.0-RC2 доступен с полной поддержкой DANE" . IETF.org . Проверено 29 апреля 2015 .
  20. ^ "Стабильный выпуск Postfix 2.11.0" . Postfix.org . Проверено 24 января 2014 .
  21. ^ "Стабильный выпуск Postfix 3.0.0" . Postfix.org . Проверено 29 апреля 2015 .
  22. ^ "Стабильный выпуск Postfix 3.1.0" . Postfix.org . Проверено 29 марта 2016 .
  23. ^ "Стабильный выпуск Postfix 3.2.0" . Postfix.org . Проверено 21 ноября 2017 .
  24. ^ "Стабильный выпуск Postfix 3.3.0" . Postfix.org . Проверено 21 февраля 2018 .
  25. ^ "Стабильный выпуск Postfix 3.4.0" . Postfix.org . Проверено 27 февраля 2019 .
  26. ^ "Стабильный выпуск 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