Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
centos:mail_c7:mta_1 [10.10.2014 12:43. ] – Postfix MTA unter CentOS7 manpage von master-Daemon eingefügt. #Postfix #CentOS7 django | centos:mail_c7:mta_1 [18.11.2024 19:10. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
{{: | {{: | ||
- | Die nachfolgende Beschreibung zeigt, wie man unter CentOS 7.x einen Postfix-Mailserver **MTA**((**M**ail **T**ransport **A**gent)) aufsetzen und sicher betreiben kann. | + | Die nachfolgende Beschreibung zeigt, wie man unter CentOS 7.x einen Postfix-Mailserver **MTA**((**M**ail **T**ransport **A**gent)) aufsetzen und sicher betreiben kann. Die Installation und Konfiguration des aktuellen stable Release **Postfix 3.x** wird nachfolgend ab __**[[centos: |
<WRAP round important> | <WRAP round important> | ||
Zeile 21: | Zeile 21: | ||
Bevor wir uns in das Design und Konfiguration unseres Mailservers stürzen, werfen wir noch einen Blick auf die (möglichen) Mitspieler in Form von Servern, Diensten, Protokolle und Ports, die uns beim Verarbeiten der elektronischen begegnen werden. | Bevor wir uns in das Design und Konfiguration unseres Mailservers stürzen, werfen wir noch einen Blick auf die (möglichen) Mitspieler in Form von Servern, Diensten, Protokolle und Ports, die uns beim Verarbeiten der elektronischen begegnen werden. | ||
- | < | + | <uml> |
skinparam defaultFontName Courier | skinparam defaultFontName Courier | ||
- | state " | + | state " |
state "MUA (Mail User Agent)" | state "MUA (Mail User Agent)" | ||
sender : Anwender erstellt eine Nachricht | sender : Anwender erstellt eine Nachricht | ||
Zeile 33: | Zeile 33: | ||
state " | state " | ||
dns_anfragen : │ | dns_anfragen : │ | ||
- | dns_anfragen : ├-- (Reverse) Auflösen einer IP-Adresse | + | dns_anfragen : ├── |
dns_anfragen : │ zu einem Hostnamen | dns_anfragen : │ zu einem Hostnamen | ||
- | dns_anfragen : ├-- Abfrage des zuständigen Mailservers | + | dns_anfragen : ├── |
dns_anfragen : │ zu einer Domäne | dns_anfragen : │ zu einer Domäne | ||
- | dns_anfragen : └-- Auflösen von Hostnamen zu IP-Adressen | + | dns_anfragen : └── |
dns_anfragen : . | dns_anfragen : . | ||
} | } | ||
Zeile 119: | Zeile 119: | ||
note left of sender | note left of sender | ||
=========================================== | =========================================== | ||
- | From: django@mailserver.guru | + | From: django@nausch.org |
To: michael@nausch.org | To: michael@nausch.org | ||
Subject: Terminbestätigung | Subject: Terminbestätigung | ||
Zeile 137: | Zeile 137: | ||
==== Beschreibung ==== | ==== Beschreibung ==== | ||
- | Wie wir der oben stehenden Skizze entnehmen können, sind im Verlauf einer eMail-Verarbeitung viele Mailsysteme und Dienste/ | + | Wie wir der oben stehenden Skizze entnehmen können, sind im Verlauf einer eMail-Verarbeitung viele Mailsysteme und Dienste/ |
Zuerst wollen wr aber noch einen gezielten Blick auf die Begrifflickeiten, | Zuerst wollen wr aber noch einen gezielten Blick auf die Begrifflickeiten, | ||
Zeile 178: | Zeile 178: | ||
Bevor wir uns nun mit den einzelnen Modulen, Daemons und/oder Delivery-Agents befassen, werfen wir zum besseren Verständnis dieser Komponenten erst einfach mal einen Blick unter die Motorhaube unseres 12-Zylinders. ;) | Bevor wir uns nun mit den einzelnen Modulen, Daemons und/oder Delivery-Agents befassen, werfen wir zum besseren Verständnis dieser Komponenten erst einfach mal einen Blick unter die Motorhaube unseres 12-Zylinders. ;) | ||
- | <uml width=910 title=" | + | {{page>centos:mail_c7:postfix& |
- | + | ||
- | state " | + | |
- | qmqp : QMQP-Modul | + | |
- | + | ||
- | state "/ | + | |
- | sendmail | + | |
- | sendmail : " | + | |
- | + | ||
- | state "MTA - MTA Verkehr" | + | |
- | smtp_in : TCP/IP - Port 25 | + | |
- | + | ||
- | state "MUA - MSA Verkehr" | + | |
- | submission : TCP/IP - Port 587 | + | |
- | + | ||
- | state " | + | |
- | lmtp_24 : (Mail Delivery Agent) | + | |
- | lmtp_24 : Dovecot IMAP-Server | + | |
- | lmtp_24 : TCP/IP - Port 24 | + | |
- | + | ||
- | state " | + | |
- | smtp_25 : (Mail Transport Agent) | + | |
- | smtp_25 : andere SMTP-Server (Relayhosts) | + | |
- | smtp_25 : im Internet bzw. Intranet | + | |
- | smtp_25 : TCP/IP - Port 25 | + | |
- | + | ||
- | state " | + | |
- | mailman : Weitergabe der eMail | + | |
- | mailman : an Mailinglisten / wie Mailman | + | |
- | mailman : oder via UUCP ... | + | |
- | + | ||
- | state " | + | |
- | mailbox : Postfix - Queue | + | |
- | mailbox : " | + | |
- | mailbox : lokale Zustellung | + | |
- | + | ||
- | state master { | + | |
- | state " | + | |
- | maildrop : └── maildrop | + | |
- | + | ||
- | state " | + | |
- | pickup : └── pickup | + | |
- | + | ||
- | state " | + | |
- | anvil : └── | + | |
- | + | ||
- | state " | + | |
- | dnsblog : └── | + | |
- | + | ||
- | state " | + | |
- | tlsproxy : └── | + | |
- | + | ||
- | state " | + | |
- | postscreen : └── | + | |
- | + | ||
- | state " | + | |
- | verify : └── | + | |
- | + | ||
- | state " | + | |
- | tlsmgr: └── | + | |
- | + | ||
- | state " | + | |
- | scache: └── | + | |
- | + | ||
- | state " | + | |
- | qmqpd: └── | + | |
- | + | ||
- | state " | + | |
- | discard: └── | + | |
- | + | ||
- | state " | + | |
- | error : ├── error | + | |
- | error : └── retry | + | |
- | + | ||
- | state " | + | |
- | virtual: └── | + | |
- | + | ||
- | state " | + | |
- | cleanup : └── cleanup | + | |
- | + | ||
- | state " | + | |
- | showq : └── | + | |
- | + | ||
- | state " | + | |
- | rewrite : └── trivial-rewrite | + | |
- | + | ||
- | state " | + | |
- | bounce : ├── bounce | + | |
- | bounce : ├── defer | + | |
- | bounce : └── trace | + | |
- | + | ||
- | state " | + | |
- | smtpd : └── smtpd | + | |
- | + | ||
- | state " | + | |
- | incoming : └── incoming | + | |
- | + | ||
- | state " | + | |
- | hold : └── hold | + | |
- | + | ||
- | state " | + | |
- | corrupt : └── corrupt | + | |
- | + | ||
- | state " | + | |
- | active : └── active | + | |
- | + | ||
- | state " | + | |
- | deferred : └── deferred | + | |
- | + | ||
- | state " | + | |
- | qmgr : └── qmgr | + | |
- | + | ||
- | state " | + | |
- | flush : └── flush | + | |
- | + | ||
- | state " | + | |
- | resolve : └── resolve | + | |
- | + | ||
- | state " | + | |
- | local : └── local | + | |
- | + | ||
- | state " | + | |
- | pipe : └── pipe | + | |
- | + | ||
- | state " | + | |
- | lmtp : └── lmtp | + | |
- | + | ||
- | state " | + | |
- | smtp_out : └── smtp | + | |
- | + | ||
- | state " | + | |
- | proxymap : ├── proxymap | + | |
- | proxymap : └── proxywrite | + | |
- | } | + | |
- | + | ||
- | | + | |
- | | + | |
- | + | ||
- | qmqp -right-> qmqpd | + | |
- | | + | |
- | | + | |
- | + | ||
- | anvil --> smtpd | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | qmqpd --> cleanup | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | | + | |
- | qmgr --> deferred | + | |
- | qmgr --> active | + | |
- | qmgr --> hold | + | |
- | qmgr --> corrupt | + | |
- | | + | |
- | | + | |
- | qmgr --> local | + | |
- | qmgr -right-> smtp_out | + | |
- | qmgr --> pipe | + | |
- | qmgr --> lmtp | + | |
- | qmgr -left-> virtual | + | |
- | | + | |
- | error --> qmgr | + | |
- | flush --> qmgr | + | |
- | showq --> qmgr | + | |
- | | + | |
- | + | ||
- | lmtp --> lmtp_24 | + | |
- | | + | |
- | | + | |
- | pipe --> mailman | + | |
- | local --> mailbox | + | |
- | + | ||
- | + | ||
- | note right of cleanup | + | |
- | Lookup Table canonical_maps | + | |
- | Übersetzungstabelle zum | + | |
- | Umschreiben von nicht-lokalen | + | |
- | Empfängeradressen | + | |
- | end note | + | |
- | + | ||
- | + | ||
- | note right of cleanup | + | |
- | Lookup Table virtual_maps | + | |
- | Tabelle mit der Empfängeradresse | + | |
- | aller lokalen, virtuellen und | + | |
- | entfernten eMialadressen | + | |
- | end note | + | |
- | + | ||
- | note right of smtpd | + | |
- | Realtime Blockhole Lists | + | |
- | Nutzung von RBL zum Prüfen | + | |
- | von einliefernden Hosts | + | |
- | reverse DNS-Abfrage z.B. | + | |
- | bei SPAMHAUS | + | |
- | end note | + | |
- | + | ||
- | + | ||
- | note left of smtpd | + | |
- | Lookup Table access_client | + | |
- | Lookup Table access_helo | + | |
- | Lookup Table access_recipient | + | |
- | Lookup Table access_recipient-rfc | + | |
- | Lookup Table access_sender | + | |
- | Tabellen zum Black- und Whitelisten | + | |
- | an Hand der IP-Adrese, Hostname, | + | |
- | Empfänger oder Sender | + | |
- | end note | + | |
- | + | ||
- | note left of resolve | + | |
- | Lookup Table transport_maps | + | |
- | Tabelle zur adressabhängigen | + | |
- | Weiterleitung an einen | + | |
- | weiteren (finalen) MTA. | + | |
- | end note | + | |
- | + | ||
- | note right of local | + | |
- | Lookup Table / | + | |
- | Tabelle mit der lokalen eMails | + | |
- | an lokale Empfänger zugewiesen | + | |
- | werden können. | + | |
- | end note | + | |
- | + | ||
- | note left of local | + | |
- | Lookup Table .forward | + | |
- | Tabelle zur Steuerung von | + | |
- | automatischen Anwesenheitsnachrichten | + | |
- | end note | + | |
- | + | ||
- | note left of qmgr | + | |
- | Lookup Table generic_maps | + | |
- | Tabelle zum Umschreiben | + | |
- | von eMailadressen | + | |
- | beim Versenden. | + | |
- | end note | + | |
- | + | ||
- | note left of qmgr | + | |
- | Lookup Table relocated_maps | + | |
- | Tabelle für die Bounce-Nachrichten | + | |
- | mit Angabe der neuen eMailadresse | + | |
- | bei verzogenen Accounts. | + | |
- | end note | + | |
- | </ | + | |
Welche Aufgaben und Funktionen die einzelnen Dienste mitbringen wollen wir uns kurz befassen. | Welche Aufgaben und Funktionen die einzelnen Dienste mitbringen wollen wir uns kurz befassen. | ||
Zeile 646: | Zeile 398: | ||
MASTER(5) | MASTER(5) | ||
</ | </ | ||
- | ==== lmtp, smtp und smtps ==== | + | ==== lmtp, smtp, smtps und relay ==== |
Der **smtp**-Client wird benutzt, um Nachrichten an vom Postfix zu anderen SMTP/ | Der **smtp**-Client wird benutzt, um Nachrichten an vom Postfix zu anderen SMTP/ | ||
Nach der erfolgreichen Übertragung der Nachricht, kann eine Verbindung an den **[[centos: | Nach der erfolgreichen Übertragung der Nachricht, kann eine Verbindung an den **[[centos: | ||
Zeile 8201: | Zeile 7953: | ||
Die wesentlichen Anforderungen an unsere eigene Mailinfrastruktur sind: | Die wesentlichen Anforderungen an unsere eigene Mailinfrastruktur sind: | ||
- Es werden nur noch eMails angenommen, die auch zugestellt werden können; d.h. unerwünschte bzw. unerlaubte Nachrichten werden geblockt (mit einem Returncode von 5xx abgewiesen). | - Es werden nur noch eMails angenommen, die auch zugestellt werden können; d.h. unerwünschte bzw. unerlaubte Nachrichten werden geblockt (mit einem Returncode von 5xx abgewiesen). | ||
- | - der Transportweg zwischen den MTAs((**M**ail **T**ransport **A**gent: z.B. Postfix, Exim oder Sendmail)) wird SSL-verschlüsselt, | + | - der Transportweg zwischen den MTAs((**M**ail **T**ransport **A**gent: z.B. Postfix, Exim oder Sendmail)) wird TLS-verschlüsselt, |
- der Transportweg zwischen MUA((**M**ail **U**ser **A**gent: z.B. kMail, Thunderbird oder R2Mail2)) muss zwingend transportverschlüsselt werden. | - der Transportweg zwischen MUA((**M**ail **U**ser **A**gent: z.B. kMail, Thunderbird oder R2Mail2)) muss zwingend transportverschlüsselt werden. | ||
- Nachrichten von MUAs werden ausschließlich auf dem Submissionport **587** angenommen. | - Nachrichten von MUAs werden ausschließlich auf dem Submissionport **587** angenommen. | ||
Zeile 8207: | Zeile 7959: | ||
- abgehende eMails werden mit einer DKIM-Signatur versehen, mit der der Empfänger (MTA) prüfen kann, ob die eMail auch von unserem Mailserver versandt wurde. Somit wird zB. die Reputation gegenüber AOL gesteigert, da dieser ISP eine valide DKIM-Signatur positiv bewertet. | - abgehende eMails werden mit einer DKIM-Signatur versehen, mit der der Empfänger (MTA) prüfen kann, ob die eMail auch von unserem Mailserver versandt wurde. Somit wird zB. die Reputation gegenüber AOL gesteigert, da dieser ISP eine valide DKIM-Signatur positiv bewertet. | ||
- Für den ersten Grob-Viren-/ | - Für den ersten Grob-Viren-/ | ||
- | - Die zweite Prüfung erfolgt mit Unterstützung des [[centos: | + | - Die zweite Prüfung erfolgt mit Unterstützung des [[centos: |
- Eine weitere Prüfung auf erfolgt mit Hilfe von RBHL((**R**ealtime**B**lack**H**ole**L**ists)) von [[http:// | - Eine weitere Prüfung auf erfolgt mit Hilfe von RBHL((**R**ealtime**B**lack**H**ole**L**ists)) von [[http:// | ||
+ | - Die Möglichkeit, | ||
- Die SPAM-Bewertung der Nachrichten selbst erfolgt mit Hilfe von [[http:// | - Die SPAM-Bewertung der Nachrichten selbst erfolgt mit Hilfe von [[http:// | ||
- | - Den dritten Teil unserer mehrstufigen Antivirenschutzmaßnahmen (1. Stufe: | + | - Den dritten Teil unserer mehrstufigen Antivirenschutzmaßnahmen (1. Stufe: |
<WRAP center round todo > | <WRAP center round todo > | ||
Zeile 8218: | Zeile 7971: | ||
===== weitere Schritte zur Installation und Konfiguration ===== | ===== weitere Schritte zur Installation und Konfiguration ===== | ||
Nachdem wir uns nun eingehend mit dem **[[centos: | Nachdem wir uns nun eingehend mit dem **[[centos: | ||
+ | |||
+ | Die Installation und Konfiguration des aktuellen stable Release **Postfix 3.x** wird nachfolgend ab __**[[centos: | ||
====== Links ====== | ====== Links ====== | ||
- | * **⇒ [[centos: | + | * **⇒ [[centos: |
* **[[centos: | * **[[centos: | ||
* **[[wiki: | * **[[wiki: | ||
* **[[http:// | * **[[http:// | ||
- | ~~DISCUSSION~~ | + | |
- | ~~AUTOTWEET: | + |