Постфикс (программное обеспечение)
Оригинальный автор(ы) | Витсе Венема в Исследовательском центре IBM Томаса Дж. Уотсона |
---|---|
Разработчик(и) | Венема и многие другие. |
Первоначальный выпуск | 14 декабря 1998 г |
Стабильная версия | 3.9.0 / 6 марта 2024 г |
Предварительный выпуск | 3.10-20240724 / 24 июля 2024 г |
Репозиторий | |
Написано в | С [1] |
Операционная система | Кросс-платформенный |
Тип | Агент по пересылке почты |
Лицензия | Публичная лицензия IBM или Публичная лицензия Eclipse |
Веб-сайт | www |
Postfix — это бесплатный (MTA) с открытым исходным кодом агент передачи почты , который маршрутизирует и доставляет электронную почту .
Он выпущен под лицензией IBM Public License 1.0, которая является лицензией свободного программного обеспечения . Альтернативно, начиная с версии 3.2.5, он доступен по лицензии Eclipse Public License 2.0 по выбору пользователя. [2]
Первоначально написанный в 1997 году Витсе Венемой из Исследовательского центра IBM Томаса Дж. Уотсона в Нью-Йорке и впервые выпущенный в декабре 1998 года. [3] Postfix продолжается с 2023 года. [update] будет активно развиваться его создателем и другими участниками. Программное обеспечение также известно под прежними названиями VMailer и IBM Secure Mailer .Название Postfix представляет собой смесь слов «post» (другое слово для «почты») и « buggfix » (другое программное обеспечение, вдохновившее на разработку Postfix).
Типичное развертывание
[ редактировать ]Будучи SMTP- сервером, Postfix реализует первый уровень защиты от спам-ботов и вредоносных программ . Администраторы могут комбинировать Postfix с другим программным обеспечением, которое обеспечивает фильтрацию спама и вирусов (например, Amavisd-new ), доступ к хранилищу сообщений (например, Dovecot ) или сложные SMTP политики доступа на уровне (например, postfwd , milter-regex , policyd- масса ).
В качестве SMTP- клиента Postfix реализует высокопроизводительный параллельный механизм доставки почты. Postfix часто комбинируется с программным обеспечением для создания списков рассылки (например, Mailman ).
Операционные системы
[ редактировать ]Postfix работает (или работал) на AIX , BSD , HP-UX , Linux , macOS , Solaris и, вообще говоря, на каждой Unix-подобной операционной системе, которая поставляется с C компилятором и предоставляет стандартную среду разработки POSIX . Это MTA по умолчанию для macOS , NetBSD , [4] RedHat / CentOS [5] и операционные системы Ubuntu . [6]
Архитектура
[ редактировать ]В этой статье или разделе используется цвет как единственный способ передать важную информацию. |
Postfix состоит из комбинации серверных программ, работающих в фоновом режиме, и клиентских программ, вызываемых пользовательскими программами или системными администраторами.
Ядро Postfix состоит из нескольких десятков серверных программ, работающих в фоновом режиме, каждая из которых обрабатывает один конкретный аспект доставки электронной почты. Примерами являются SMTP- сервер, планировщик , переписчик адресов и локальный сервер доставки. В целях предотвращения ущерба большинство серверных программ запускаются с фиксированными ограниченными привилегиями и завершают работу добровольно после обработки ограниченного числа запросов. Для экономии системных ресурсов большинство серверных программ завершают работу, когда они простаивают.
Клиентские программы работают вне ядра Postfix. пользователя Они взаимодействуют с серверными программами Postfix через инструкции по доставке почты в файле ~/.forward и через небольшие программы-шлюзы для отправки почты или запроса информации о состоянии очереди.
Другие программы предоставляют административную поддержку для запуска или остановки Postfix, запроса информации о состоянии, управления очередью или проверки или обновления файлов конфигурации.
- Желтые эллипсы
- Один из многих демонов Postfix, служащий одной цели. Такое разделение на множество более мелких частей программного обеспечения считается одной из причин, почему Postfix безопасен и стабилен.
- Синие коробки
- Синие прямоугольники представляют собой так называемые таблицы поиска . Таблица поиска состоит из двух столбцов (ключ и значение), содержащих информацию, используемую для управления доступом, маршрутизации электронной почты и т. д.
- Оранжевые коробки
- Оранжевые поля — это либо почтовые очереди, либо файлы. В любом случае электронные письма хранятся на постоянном носителе (например, на жестком диске).
- Белые облака
- Облака обозначают точки, в которых электронные письма попадают в Postfix или покидают его. Например, smtpd получает почту от других почтовых серверов или пользователей, тогда как smtp ретранслирует почту другим MTA.
Выполнение
[ редактировать ]Реализация Postfix использует безопасные подмножества языка C и POSIX системного API . Эти подмножества скрыты под уровнем абстракции, который содержит около 50% всего исходного кода Postfix и обеспечивает основу, на которой строятся все программы Postfix. Например, примитив «vstring» делает код Postfix устойчивым к переполнению буфера. [7] атаки, а примитив «безопасного открытия» делает код Postfix устойчивым к атакам по состоянию гонки в системах, реализующих POSIX. файловую систему API. Этот уровень абстракции не влияет на устойчивость к атакам кода, отличного от Postfix, например кода в системных или сторонних библиотеках.
Надежность
[ редактировать ]Концептуально Postfix управляет конвейерами процессов, которые передают ответственность за доставку сообщений и уведомление об ошибках от одного процесса к другому. Вся информация о «состоянии» сообщений и уведомлений сохраняется в файловой системе. Процессы в конвейере в основном работают без централизованного управления; эта относительная автономия упрощает восстановление после ошибок. Когда процесс терпит неудачу до завершения своей части транзакции файла или протокола, его предшественник в конвейере отступает и повторяет запрос позже, а его преемник в конвейере отбрасывает незавершенную работу. Многие демоны Postfix могут просто «умереть», столкнувшись с проблемой; они автоматически перезапускаются при поступлении следующего запроса на обслуживание. Такой подход делает Postfix очень устойчивым, пока операционная система или оборудование не выходят из строя катастрофически.
Производительность
[ редактировать ]Один единственный экземпляр Postfix работал со скоростью ~ 300 доставок сообщений в секунду. [8] через Интернет, работая на обычном оборудовании ( система Dell 1850 2003 года выпуска с контроллером MegaRAID с батарейным питанием и двумя SCSI диски). Эта скорость доставки на порядок ниже «внутреннего» предела в 2500 доставок сообщений в секунду. [8] это было достигнуто с помощью очереди почты на RAM-диске при доставке на « отбрасываемый » транспорт (с двухъядерной системой Opteron в 2007 году).
Почтовые системы, такие как Postfix и Qmail, достигают высокой производительности за счет доставки почты в параллельных сеансах. С помощью почтовых систем, таких как Sendmail и Exim , которые осуществляют по одной доставке за раз, высокой производительности можно добиться за счет параллельной отправки ограниченных пакетов почты, так что каждый пакет доставляется отдельным процессом. Postfix и Qmail требуют параллельной отправки в разные экземпляры MTA, как только они достигают внутреннего предела производительности или пределов производительности оборудования или операционной системы.
Приведенные выше темпы доставки являются в основном теоретическими. При массовой доставке фактическая скорость доставки в первую очередь зависит от политики получения почты получателя и репутации отправителя.
Базовая конфигурация
[ редактировать ]В файле main.cf хранятся параметры конфигурации Postfix, специфичные для сайта, а файл master.cf определяет процессы демона. [9] Учебное пособие по базовой настройке Postfix описывает основные настройки, которые необходимо учитывать каждому сайту, а в документе «Примеры стандартной конфигурации Postfix» обсуждаются параметры конфигурации для нескольких распространенных сред. Документ Postfix Address Rewriting описывает перезапись адресов и маршрутизацию почты. Полная коллекция документации находится в документации Postfix.
Более сложные реализации Postfix могут включать: интеграцию с другими приложениями, такими как SpamAssassin ; поддержка нескольких виртуальных доменных имен и использование баз данных, таких как MySQL, для управления сложными конфигурациями.
Опросы
[ редактировать ]Результаты сканирования Shodan : за март 2024 года [10] Postfix был обнаружен 2,7 миллиона раз, Exim — 3,0 миллиона раз. Некоторые сайты блокируют зонды Shodan, но неясно, повлияет ли это существенно на соотношение Postfix и Exim.
В десятикратно меньшем исследовании, опубликованном 1 марта 2024 года компанией E-Soft, Inc., [11] 0,15 миллиона почтовых серверов использовали Postfix, что делает его вторым после Exim с 0,23 миллиона. Это исследование часто цитируется, но оно конкретно ориентировано на домены, предоставляющие веб-сервисы.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Лекстрейт, Винсент (июль 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 г.
- ^ «Руководство по NetBSD. Глава 27. Почта и новости» . Проверено 10 мая 2010 г.
- ^ «ГЛАВА 24. ПОСТФИКС» .
- ^ «Постфикс» . Документация сообщества, Ubuntu Wiki . Проверено 9 марта 2012 г.
- ^ Онтаньон, Рамон Дж (10 июля 2001 г.). Безопасность Linux . Сан-Франциско: Сайбекс . п. 166. ИСБН 978-0-7821-2741-6 . Проверено 21 сентября 2011 г.
- ^ Jump up to: а б «Массовая рассылка» . Проверено 9 сентября 2012 г.
- ^ Postfix-Tutorial.com: Postfix, Courier/POP, SASL и Spamassassin – с администратором MySQL
- ^ «Анализ граней» . Поисковая система Шодан . Проверено 26 марта 2024 г.
- ^ «Опрос почтового (MX) сервера» . Securityspace.com . E-Soft, Inc., 1 марта 2024 г. Проверено 26 марта 2024 г.
Дальнейшее чтение
[ редактировать ]- Кайл Д. Дент (2003). Постфикс: Полное руководство . О'Рейли Медиа . ISBN 978-0-596-00212-1 .
- Ральф Хильдебрандт и Патрик Кеттер (2005). Книга Postfix: современный транспорт сообщений . Пресс без крахмала . ISBN 978-1-59327-001-8 .