Postfix
Vývojář | IBM |
---|---|
Aktuální verze | 3.9.0 (7. března 2024) |
Operační systém | GNU/Linux BSD macOS UN*X |
Vyvíjeno v | C |
Typ softwaru | Mail Transfer Agent a svobodný software |
Licence | Eclipse Public License 2.0 IBM Public License |
Web | www |
Některá data mohou pocházet z datové položky. |
Postfix je počítačový program pro unixové systémy pro přepravu elektronické pošty (MTA).
Původ a filosofie Postfixu
Postfix napsal Wietse Venema, známý svými bezpečnostními nástroji a dokumenty, které popisují zabezpečení. Program vznikl roku 1998 jako open source software, tj.program s otevřeným zdrojovým kódem. Firma IBM Research sponzorovala původní uvedení a podporuje i jeho neustálý vývoj. IBM nazývá tento balíček Secure Mailer. Základní principy Postfixu jsou:
- Spolehlivost
- Postfix obratně prokazuje svou sílu zejména při práci ve vysokém zatížení. Mnoho softwarových systémů se např. projevuje nepředvídatelně, když jím dojde paměť nebo diskový prostor. Postfix detekuje takové podmínky a místo zhoršení situace nabídne možnost systému se vzpamatovat.
- Zabezpečení
- Postfix zavádí proti útočníkům několik obranných vrstev. Při návrhu Postfixu byl použit princip nejmenších oprávnění, takže jednotlivé procesy běží s nejnižší sadou oprávnění (privilegií). Procesy s vyšším oprávněním nikdy nedůvěřuji neprivilegovaným procesům. Postfix umožňuje deaktivovat nepotřebné moduly, což má za následek jednodušší instalaci a vyšší bezpečnost.
- Výkon
- Postfix byl navržen pro dosažení vysokého výkonu, ale s předpokladem, že jeho rychlost neomezí jiné systémy. Speciálními technikami omezuje jak počet nových procesů, které je nutné vytvořit, tak i počet přístupů k systému souborů potřebných pro zpracování zprávy.
- Flexibilita
- Systém Postfix je složen z různých programů a podsystémů. Tímto přístupem lze dosáhnout vysokou pružnost. Všechny části lze upravovat pomocí jednoduchých konfiguračních souborů.
- Snadné použití
- Postfix je z pohledu nastavení a správy velice jednoduchý balíček pro zpracování zpráv. Pracuje s jednoduchými konfiguračními soubory a vyhledávacími tabulkami zajišťujícími překlad adres a předávání zpráv.
- Kompatibilita se sendmailem
- Postfix může plně nahradit Sendmail v systému aniž by se změny dotkly uživatelů a aniž by byla narušena funkce aplikací. Postfix podporuje konvence Sendmailu jako /etc/aliases a soubory .forward. Postfix podporuje téměř všechny původní argumenty příkazové řádky Sendmailu.
Role Postfixu
Postfix je Mail Transfer Agent, zpracovává předávání zpráv mezi servery a lokálně v rámci systému. Nezajišťuje komunikaci POP ani IMAP. Jako MTA Postfix přijímá a odesílá zprávy elektronické pošty přes síť protokolem SMTP. V případě místního dodání může lokální agent Postfixu ukládat zprávy přímo do úložiště zpráv nebo je předávat specializovanému programu pro doručení pošty.
Zabezpečení Postfixu
E-mailové systémy jsou vystavované útokům, protože už samotný princip jejich činnosti vyžaduje příjem dat z nedůvěryhodných zdrojů. Každá dobrá strategie zabezpečení obsahuje více ochranných vrstev. Postfix řeší zabezpečení aktivním a vícevrstvým přístupem. Architektura Postfixu omezuje nebezpečnost zranitelných míst pro případ, kdyby byly nalezeny chyby návrhu nebo kódu, jež by v monolitickém programu mohly vytvářet velmi citlivá místa.
Modulární návrh
Každý proces běží s minimálním oprávněním postačujícím k vykonání jeho úlohy. Postfix běží s minimálním množstvím privilegií. Procesy, které nejsou zapotřebí, lze na Postfixu vypnout, takže nemohou být zneužity.
Prostředí a procesy
Ve většině případu nevyžaduje doručování pošty unixový proces prostředí, když jej však konfigurace používá, Postfix informace před jejich umístěním do proměnných prostředí „desinfikuje“. Postfix se snaží odstranit všechny škodlivé znaky, které mohou mít pro prostředí zvláštní význam, a potom údaje prostředí teprve zpřístupní.
Většinu procesů Postfixu uskutečňuje známý a důvěryhodný řídicí démon. Neběží jako uživatelské podřízené procesy, takže jsou imunní vůči bezpečnostním potížím vyplývajícím z dědičných vztahů nadřazený-podřazený a komunikací. Tyto útoky, které používají signály, sdílenou paměť, otevřené soubory a další typy meziprocesové komunikace, jsou vůči Postfixu v zásadě bezmocné.
Komponenty Postfixu
Architektura Postfixu se liší od monolitických systémů výrazným způsobem. Postfix rozděluje úlohy na jednotlivé funkce v různých programech, které se pak starají o konkrétní činnost. Většina těchto programů jsou démony. Nejprve se spustí démon master a ten volá většinu ostatní procesů podle potřeby. Démony, které volá master, zpracovávají své přidělené úkoly a pak se ukončí. Mohou se ukončit po zadaném časovém úseku nebo po zpracování určitého nejvyššího počtu požadavků. Řídicí démon je trvale rezidentní a své konfigurační informace přebírá při spuštění ze souboru main.cf a master.cf
Jednotlivé procesy systému postfix:
smtpd
SMTP server – přijímá zprávy na portu 25sendmail
– přebírá zprávy ze standardního vstupupostdrop
– zprávu ze standardního vstupu uloží do souboru v adresáři/var/spool/postfix/maildrop
pickup
– sleduje zprávy v adresáři/var/spool/postfix/maildrop
a předává je programu cleanupcleanup
– kanonizuje zprávy; pro přepis adres používátrivial-rewrite
trivial-rewrite
– přepisuje, verifikuje a resolvuje adresy; resolvování vrací čtveřici (transportní mechanismus, nexthop, příjemce, příznaky)qmgr
– správce front:active
– zrovna doručované zprávyincoming
– fronta zpráv od programucleanup
deferred
– fronta zpráv čekajících na další pokus o doručenícorrupt
– poškozené zprávyhold
– pozdržené zprávy
local
– provádí lokální doručení, včetně zpracování souboru.forward
smtp
– SMTP klient, provádí doručení protokolem SMTPpipe
– spouští programy, které slouží k doručení zprávbounce
– připojuje záznam do per-message logudefer
– připojuje záznam do per-message logutrace
– připojuje záznam do per-message logumaster
– pouští jednotlivé programy systému postfix podle potřeby
Literatura
- D.DENT, Kyle. Postfix kompletní průvodce. Praha: Grada, 2005. ISBN 80-247-1029-3.
Související články
- Mail Transfer Agent (MTA)
Externí odkazy
- Obrázky, zvuky či videa k tématu Postfix na Wikimedia Commons
- http://www.abclinuxu.cz/clanky/site/stavime-postovni-server-3-instalace-zakladni-konfigurace-postfixu – obecný popis konfigurace Postfixu
- http://www.root.cz/clanky/stavime-mailovy-server-postfix/ – konfigurace Postfixu v OpenBSD
- http://wiki.centos.org/HowTos/postfix – konfigurace pro RHEL/CentOS (anglicky)
- https://web.archive.org/web/20110626224215/http://setahost.com/installing-postfix-as-a-default-mail-sending-program-with-php/ – Instalaci a konfiguraci serveru a klienta Postfix.
Média použitá na této stránce
Autor: Denny-pug, Licence: CC BY-SA 3.0
Der modulare Aufbau von Postfix zeigt sich in der dargestellten Grafik. In dieser finden sich vier Elementtypen:
Gelbe Ellipsen: Sie stehen für je einen Daemon, welchem genau eine Aufgabe zugeordnet wurde. Aus dieser Modularität heraus erklärt sich die große Sicherheit und Stabilität, die Postfix auszeichnet.
Blaue Kästen: Die blauen Kästen stehen für sogenannte Lookup tables (postfix maps). Sie enthalten in zwei Spalten Informationen, die zur Weiterverarbeitung von E-Mails herangezogen werden können. Dies kann eine Zugriffsliste (engl. access) sein, die darüber bestimmt, ob die E-Mail angenommen wird oder nicht, zum Umschreiben des Adressaten bzw. Senders oder auch der weitere Weg (engl. transport), den eine E-Mail nehmen soll.
Orangene Kästen: Die orangen Kästen stehen zum einen für sogenannte Warteschlangen (engl. queues), bei der E-Mails physisch auf dem Datenträger (zumeist Festplatte oder einem NFS Laufwerk) abgelegt werden, oder aber für Endzustellung, zum Beispiel eine Mailbox eines Benutzers (Beispiel: /var/mail/benutzername).
Weiße Wolken: Sie stehen für den möglichen Eintritt oder auch das Verlassen des Postfix Systems. Als Beispiel auf der linken Seiten den SMTPD Daemon, welcher für die Annahme von E-Mails über den TCP Port 25 zuständig ist (soweit nicht anders konfiguriert). Auf der rechten Seite dagegen gibt es den SMTP Daemon, der für das Weitergeben von E-Mails an andere SMTP zuständig ist.This image has been released into the public domain by its creator and original copyright holder. This applies worldwide. As such you are entirely free to reproduce it, create derivative works, or make commercial use of it as you see fit, without any requirement to give the creator credit. However, as a courtesy, a link back to http://www.inf.sgsp.edu.pl/pub/MALUNKI/ would be appreciated.
In case this is not legally possible: