Postfix/Interna: Unterschied zwischen den Versionen
K Textersetzung - „[[Kategorie:/“ durch „[[Kategorie:“ |
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“ |
||
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''topic''' | '''topic''' - Kurzbeschreibung | ||
== Beschreibung == | == Beschreibung == | ||
== Installation == | == Installation == | ||
== | == Aufruf == | ||
=== Parameter === | === Parameter === | ||
=== Optionen === | === Optionen === | ||
=== | === Umgebung === | ||
=== | === Rückgabewert === | ||
== Konfiguration == | == Konfiguration == | ||
Zeile 16: | Zeile 16: | ||
== Dokumentation == | == Dokumentation == | ||
=== RFC === | === RFC === | ||
=== Man- | === Man-Page === | ||
=== Info-Pages === | === Info-Pages === | ||
=== Siehe auch === | === Siehe auch === | ||
Zeile 23: | Zeile 23: | ||
=== Projekt === | === Projekt === | ||
=== Weblinks === | === Weblinks === | ||
Zeile 52: | Zeile 30: | ||
= TMP = | = TMP = | ||
== Postfix hinter den Kulissen == | == Postfix hinter den Kulissen == | ||
Die Artikel [[Postfix | Die Artikel [[Postfix/Empfang]] und [[Postfix/Zustellung]] geben einen Überblick, wie Postfix-Server verarbeitet das Senden und Empfangen von E-Mails. | ||
* Diese Serverprozesse verlassen sich auf andere Serverprozesse, die Dinge hinter den Kulissen tun. | * Diese Serverprozesse verlassen sich auf andere Serverprozesse, die Dinge hinter den Kulissen tun. | ||
* Der Text Im Folgenden wird versucht, jeden Dienst in seinem eigenen Kontext zu visualisieren. | * Der Text Im Folgenden wird versucht, jeden Dienst in seinem eigenen Kontext zu visualisieren. | ||
Zeile 437: | Zeile 415: | ||
|} | |} | ||
* Der [http://www.postfix.org/postscreen.8.html postscreen(8) ]-Server kann Postfix "vor" gestellt werden [http://www.postfix.org/smtpd.8.html smtpd(8) ]-Prozesse. Sein Zweck ist es, Verbindungen von der zu akzeptieren Netzwerk und um zu entscheiden, mit welchen SMTP-Clients kommuniziert werden darf Postfix. Laut dem Jahresbericht 2008 von MessageLabs sind 81 % der alle E-Mails waren Spam und 90 % davon wurden von Botnets gesendet; bis 2010, diese Zahlen waren 92 % bzw. 95 %. Während [http://www.postfix.org/postscreen.8.html Postscreen(8) ]hält die Zombies fern, es bleiben mehr [http://www.postfix.org/smtpd.8.html smtpd(8) ]-Prozesse verfügbar für seriöse Kunden. <br/>[http://www.postfix.org/postscreen.8.html postscreen(8) ]verwaltet eine temporäre Zulassungsliste für Clients, die seine Tests bestehen; indem zugelassenen Clients erlaubt wird, Tests zu überspringen, [http://www.postfix.org/postscreen.8.html postscreen(8) ]minimiert seine Auswirkungen auf den legitimen E-Mail-Verkehr. <br/>Der [http://www.postfix.org/postscreen.8.html postscreen(8) ]-Server ist mit Postfix 2.8 und verfügbar später. Um die Implementierung einfach zu halten, [http://www.postfix.org/postscreen.8.html postscreen(8) ]-Delegates DNS Allow/Denylist-Lookups für [http://www.postfix.org/dnsblog.8.html dnsblog(8)-Serverprozesse ]und delegiert die TLS-Kryptografie/Entschlüsselung an [http://www.postfix.org/tlsproxy.8.html tlsproxy(8)-Serverprozesse ]. Diese Delegierung ist für den Remote-SMTP-Client unsichtbar. | * Der [http://www.postfix.org/postscreen.8.html postscreen(8) ]-Server kann Postfix "vor" gestellt werden [http://www.postfix.org/smtpd.8.html smtpd(8) ]-Prozesse. Sein Zweck ist es, Verbindungen von der zu akzeptieren Netzwerk und um zu entscheiden, mit welchen SMTP-Clients kommuniziert werden darf Postfix. Laut dem Jahresbericht 2008 von MessageLabs sind 81 % der alle E-Mails waren Spam und 90 % davon wurden von Botnets gesendet; bis 2010, diese Zahlen waren 92 % bzw. 95 %. Während [http://www.postfix.org/postscreen.8.html Postscreen(8) ]hält die Zombies fern, es bleiben mehr [http://www.postfix.org/smtpd.8.html smtpd(8) ]-Prozesse verfügbar für seriöse Kunden. <br/>[http://www.postfix.org/postscreen.8.html postscreen(8) ]verwaltet eine temporäre Zulassungsliste für Clients, die seine Tests bestehen; indem zugelassenen Clients erlaubt wird, Tests zu überspringen, [http://www.postfix.org/postscreen.8.html postscreen(8) ]minimiert seine Auswirkungen auf den legitimen E-Mail-Verkehr. <br/>Der [http://www.postfix.org/postscreen.8.html postscreen(8) ]-Server ist mit Postfix 2.8 und verfügbar später. Um die Implementierung einfach zu halten, [http://www.postfix.org/postscreen.8.html postscreen(8) ]-Delegates DNS Allow/Denylist-Lookups für [http://www.postfix.org/dnsblog.8.html dnsblog(8)-Serverprozesse ]und delegiert die TLS-Kryptografie/Entschlüsselung an [http://www.postfix.org/tlsproxy.8.html tlsproxy(8)-Serverprozesse ]. Diese Delegierung ist für den Remote-SMTP-Client unsichtbar. | ||
{| | class="wikitable sortable" | {| | class="wikitable sortable" |
Aktuelle Version vom 12. November 2024, 18:43 Uhr
topic - Kurzbeschreibung
Beschreibung
Installation
Aufruf
Parameter
Optionen
Umgebung
Rückgabewert
Konfiguration
Dateien
Anwendung
Sicherheit
Dokumentation
RFC
Man-Page
Info-Pages
Siehe auch
Links
Projekt
Weblinks
TMP
Postfix hinter den Kulissen
Die Artikel Postfix/Empfang und Postfix/Zustellung geben einen Überblick, wie Postfix-Server verarbeitet das Senden und Empfangen von E-Mails.
- Diese Serverprozesse verlassen sich auf andere Serverprozesse, die Dinge hinter den Kulissen tun.
- Der Text Im Folgenden wird versucht, jeden Dienst in seinem eigenen Kontext zu visualisieren.
- Wie Davor sind Namen gefolgt von einer Zahl Postfix-Befehle oder Server Programme, während nicht nummerierte Namen innerhalb schattierter Bereiche darstellen Postfix-Warteschlangen.
- Der residente Master(8) -Server ist der Supervisor, der behält ein Auge auf das Wohlergehen des Mailsystems Postfix.
- Es ist typisch beim Systemstart mit dem Befehl "postfix start" gestartet und läuft weiter, bis das System ausfällt.
- Der Master(8) -Server ist verantwortlich für das Starten von Postfix-Serverprozessen zum Empfangen und E-Mail-Zustellung und für den Neustart von Servern, die vorzeitig beendet werden wegen irgendwelchen problemen.
- Der Master(8) -Server ist ebenfalls verantwortlich zum Durchsetzen der Serverprozess-Zählerlimits, wie in der angegeben master.cf Konfigurationsdatei
- Das Bild unten gibt die Programmhierarchie beim Start von Postfix.
- Nur ein Teil der Post Verarbeitung von Daemon-Prozessen werden angezeigt.
postfix(1) | ||||||||||||
| | | ||||||||||||
Postfix-Skript(1) | ||||||||||||
|
| |
|
|||||||||||
postsuper(1) | Meister(8) | Postlog(1) | ||||||||||
|
| |
|
|||||||||||
smtpd(8) | qmgr (8) | lokal(8) |
- Der anvil(8) -Server implementiert die Client-Verbindung und Anforderungsrate Begrenzung für alle smtpd(8) -Server. Das TUNING_README Dokument bietet Anleitungen zum Umgang mit fehlerhaften SMTP-Clients. Das anvil(8) ist in Postfix Version 2.2 und höher verfügbar.
Netzwerk | -> | smtpd(8) | <-> | Amboss(8) |
- Die bounce(8) , defer(8) und trace(8) werden jeweils verwaltet ihre eigenen Warteschlangen-Verzeichnisbäume mit Protokolldateien pro Nachricht. Postfix verwendet diese Informationen beim Senden von „fehlgeschlagen“, „verzögert“ oder „erfolgreich“ Benachrichtigungen über den Zustellstatus an den Absender.
Der Trace(8) -Dienst implementiert auch die Unterstützung für Postfix "Mail senden -bv" und "sendmail -v" Befehle, die Berichte darüber erzeugen, wie Postfix liefert Mail und ist mit Postfix Version 2.1 verfügbar und später. Siehe DEBUG_README zum Beispiel.
aufräumen(8) | -> | qmgr (8) Postfix Warteschlange | -> | Lieferung Agenten | ||
^ | | | in | | in | ||||
(Nicht-) Lieferung Notiz | <- | prall(8) aufschieben(8) Spur(8) | <- | Warteschlange Ich würde, Empfänger, Status | ||
|
||||||
Pro- Botschaft logfiles |
- Die flush(8) -Server führen Protokolle pro Ziel und Implementieren Sie sowohl ETRN als auch "sendmail -qRdestination", wie beschrieben im ETRN_README . Dies verschiebt ausgewählte Warteschlangendateien aus die Warteschlange zurück zur eingehenden Warteschlange und fordert deren Lieferung. Der flush(8) -Dienst ist mit der Postfix-Version verfügbar 1.0 und höher.
eingehend ^ aufgeschoben | ||||||||||
^ | | ||||||||||
smtpd(8) sendmail(1) nach(1) | - | Ziel spülen | -> | bündig(8) | <- | Aufgeschoben Ziel, Warteschlange Ich würde | - | Lieferung Agenten, qmgr (8) | ||
|
||||||||||
Pro Ziel- nation Protokolle |
- Die Proxymap(8) -Server bieten Read-Only und Read-Write Tabellensuche Dienst für Postfix-Prozesse. Dies überwindet Chroot-Einschränkungen, reduziert die Anzahl der offenen Nachschlagetabellen, indem eine geöffnete gemeinsam genutzt wird Tabelle zwischen mehreren Prozessen und implementiert Single-Updater Tische.
- Der scache(8) -Server verwaltet den Verbindungs-Cache für der Postfix smtp(8) -Client. Wenn Verbindungscaching aktiviert ist für ausgewählten Zielen, trennt der SMTP(8) -Client die Verbindung nicht unmittelbar nach einer Mail-Transaktion, sondern gibt die Verbindung zu der Verbindungs-Cache-Server, der die Verbindung offen hält für a begrenzte Zeit. Der smtp(8) -Client fährt mit einigen fort andere E-Mail-Zustellungsanforderung. Inzwischen kann das jeder smtp(8) -Prozess Fragen Sie den scache(8) -Server nach dieser zwischengespeicherten Verbindung und verwenden Sie sie für die Postzustellung. Als Sicherheitsmaßnahme begrenzt Postfix die Anzahl wie oft eine Verbindung wiederverwendet werden kann.
Beim Zustellen von E-Mails an ein Ziel mit mehreren E-Mail-Servern Verbindungs-Caching kann helfen, einen nicht antwortenden Server zu überspringen, und damit die Lieferung drastisch beschleunigen. Zwischenspeichern von SMTP-Verbindungen ist in Postfix-Version 2.2 und höher verfügbar. Mehr Informationen zu dieser Funktion finden Sie im CONNECTION_CACHE_README .
/-- | SMTP(8) | --> | Internet | |||
qmgr (8) | | | | | v | |||||
\-- | SMTP(8) | |||||
^ | | ||||||
schach(8) |
Ein Postfix smtp(8) -Client kann eine TLS-verschlüsselte Verbindung wiederverwenden (mit " smtp_tls_connection_reuse = yes"). Dies kann stark reduzieren den Overhead des Verbindungsaufbaus und verbessert die Nachrichtenübermittlung Preise. Nachdem ein Postfix smtp(8) -Client eine Verbindung zu einem entfernten SMTP herstellt server und sendet Klartext-EHLO- und STARTTLS-Befehle, die smtp(8) Client fügt wie gezeigt einen tlsproxy(8) -Prozess in die Verbindung ein unter.
Nachdem die E-Mail-Transaktion abgeschlossen ist, wird der Postfix- smtp(8) -Client gibt die smtp(8) -to -tlsproxy(8) -Verbindung zum scache(8) Server, der die Verbindung für eine begrenzte Anzahl offen hält Zeit. Der smtp(8) -Client fährt mit einer anderen Mail-Zustellung fort Anfrage. Inzwischen kann jeder Postfix smtp(8) -Client den scache(8) Server für diese zwischengespeicherte Verbindung und verwenden Sie sie für die E-Mail-Zustellung erneut.
/-- | SMTP(8) | --> | tlsproxy(8) | --> | Internet | |||
qmgr (8) | | | | | v | |||||||
\-- | SMTP(8) | |||||||
^ | | ||||||||
schach(8) |
- Die showq(8) -Server listen den Status der Postfix-Warteschlange auf. Dies ist der Warteschlangenauflistungsdienst, der die Arbeit für mailq(1) erledigt und Postqueue(1) -Befehle.
Ausgabe | <- | mailq (1) Post- Warteschlange(1) | <- | showq(8) | <- | Postfix Warteschlange |
- Die spawn(8) -Server führen auf Anfrage Nicht-Postfix-Befehle aus, mit dem Client, der über Socket oder FIFO mit dem Befehl verbunden ist Standard-Eingabe-, Ausgabe- und Fehlerströme. Sie finden Beispiele für seine Verwendung im SMTPD_POLICY_README .
- Der tlsmgr(8) -Server wird ausgeführt, wenn TLS (Transport Layer Sicherheit, früher bekannt als SSL) ist in Postfix smtp(8) aktiviert Client oder smtpd(8) -Server. Dieser Prozess hat zwei Aufgaben:
- Pflegen Sie den Pseudo-Zufallszahlengenerator (PRNG). wird verwendet, um die TLS-Engines im Postfix smtp(8) -Client oder smtpd(8) Serverprozesse. Der Zustand dieses PRNG wird periodisch gespeichert eine Datei und wird gelesen, wenn tlsmgr(8) startet.
- Pflegen Sie den optionalen Postfix smtp(8) -Client oder smtpd(8) Server-Caches mit TLS-Sitzungsschlüsseln. Gespeicherte Schlüssel können sich verbessern Leistung durch Reduzierung der Berechnungsmenge zu Beginn von eine TLS-Sitzung.
TLS-Unterstützung ist in Postfix Version 2.2 und höher verfügbar. Informationen zur Postfix-TLS-Implementierung finden Sie in TLS_README dokumentieren.
Netzwerk -> | smtpd(8) | <---Samen--- <-Sitzung-> | tlsmgr(8) | ---Samen---> <-Sitzung-> | SMTP(8) | -> Netzwerk | |||||||||||
|
| |
|
||||||||||||||||
smtpd Sitzung Zwischenspeicher | PRNG Zustand Datei | smtp Sitzung Zwischenspeicher |
- Der verify(8) -Server überprüft, ob es sich um einen Absender oder Empfänger handelt Adresse zustellbar ist, bevor der smtpd(8) -Server sie akzeptiert. Das Der verify(8) -Server fragt einen Cache mit den Ergebnissen der Adressüberprüfung ab. Wenn kein Ergebnis gefunden wird, fügt der verify(8) -Server eine Sonde ein Nachricht in die Postfix-Queue und verarbeitet die Statusaktualisierung ab ein Zustellungsagent oder Warteschlangenmanager. Dieser Vorgang ist in der ADDRESS_VERIFICATION_README dokumentieren. Der Verify(8) -Dienst ist mit der Postfix-Version verfügbar 2.1 und höher.
-> | Sonde Botschaft | -> | Postfix Post Warteschlange | |||||||
Netzwerk | -> | smtpd(8) | <-> | verifizieren(8) | ||||||
| in | ||||||||||
<- | Sonde Status | <- | Postfix Lieferung Agenten | -> Lokal -> Netzwerk | ||||||
^ | in | ||||||||||
Adresse Überprüfung Zwischenspeicher |
- Der postscreen(8) -Server kann Postfix "vor" gestellt werden smtpd(8) -Prozesse. Sein Zweck ist es, Verbindungen von der zu akzeptieren Netzwerk und um zu entscheiden, mit welchen SMTP-Clients kommuniziert werden darf Postfix. Laut dem Jahresbericht 2008 von MessageLabs sind 81 % der alle E-Mails waren Spam und 90 % davon wurden von Botnets gesendet; bis 2010, diese Zahlen waren 92 % bzw. 95 %. Während Postscreen(8) hält die Zombies fern, es bleiben mehr smtpd(8) -Prozesse verfügbar für seriöse Kunden.
postscreen(8) verwaltet eine temporäre Zulassungsliste für Clients, die seine Tests bestehen; indem zugelassenen Clients erlaubt wird, Tests zu überspringen, postscreen(8) minimiert seine Auswirkungen auf den legitimen E-Mail-Verkehr.
Der postscreen(8) -Server ist mit Postfix 2.8 und verfügbar später. Um die Implementierung einfach zu halten, postscreen(8) -Delegates DNS Allow/Denylist-Lookups für dnsblog(8)-Serverprozesse und delegiert die TLS-Kryptografie/Entschlüsselung an tlsproxy(8)-Serverprozesse . Diese Delegierung ist für den Remote-SMTP-Client unsichtbar.
Zombie | ||||||||
\ | ||||||||
Zombie | - | tlsproxy(8) | - | - | smtpd(8) | |||
\ | / | |||||||
Sonstiges | --- | Postscreen(8) | ||||||
/ | \ | |||||||
Sonstiges | - | - | smtpd(8) | |||||
/ | ||||||||
Zombie |
- Der postlogd(8) -Server bietet eine Alternative zu Syslog Protokollierung, die die Standardeinstellung bleibt. Diese Funktion ist verfügbar mit Postfix Version 3.4 oder höher und unterstützt die folgenden Modi:
- Protokollierung in Datei, die ein Usability-Problem mit adressiert MacOS und eliminiert Informationsverluste, die durch systemd-Ratenbegrenzungen verursacht werden.
Befehle oder Dämonen | |||||
-> | postlogd(8) | -> | /Pfad/zur/Datei | ||
- Protokollierung auf stdout, wodurch eine Syslog-Abhängigkeit beseitigt wird wenn Postfix in einem Container läuft.
Befehle oder Dämonen | stdout geerbt von "postfix start-fg" | |||
-> | postlogd(8) | -> | ||
Siehe MAILLOG_README für Details und Einschränkungen.