LPIC102/108.3 Grundlagen von Mailtransfer Agents MTAs: Unterschied zwischen den Versionen

Aus Foxwiki
George (Diskussion | Beiträge)
K Textersetzung - „  “ durch „ “
 
(31 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:Giphy.gif||500px|right|frameless]]
==108.3 Grundlagen von Mail Transfer Agents (MTAs)==
==108.3 Grundlagen von Mail Transfer Agents (MTAs)==


Zeile 24: Zeile 23:
==MUA, MDA und MTA==
==MUA, MDA und MTA==


#'''MUA'''– der ''Mail User Agent'' ist ein Mail-Client-Programm, mit dem Mails geschrieben,  gelesen  und  versendet werden  (z. B. ''kmail, Evolution, Thunderbird, Outlook'' usw.).
#'''MUA'''– der ''Mail User Agent'' ist ein Mail-Client-Programm, mit dem Mails geschrieben,  gelesen  und  versendet werden  (z. B.  ''kmail, Evolution, Thunderbird, Outlook'' usw.).
#'''MDA''' – der ''Mail Delivery Agent'' verarbeitet E-Mails auf einem Server.''(MDAs'' sind z. B. ''procmail, maildrop, cyrus)''
#'''MDA''' – der ''Mail Delivery Agent'' verarbeitet E-Mails auf einem Server.''(MDAs'' sind z. B. ''procmail, maildrop, cyrus)''
#'''MTA''' – der ''Mail Transfer Agent'' nimmt die E-Mail vom Client entgegen. Er ist für die Zustellung  einer  Nachricht  an  den  richtigen  Zielserver  verantworrtlich.  
#'''MTA''' – der ''Mail Transfer Agent'' nimmt die E-Mail vom Client entgegen. Er ist für die Zustellung  einer  Nachricht  an  den  richtigen  Zielserver  verantworrtlich.  
MTAs sind z. B. ''Sendmail, Postfix, Exim''.
MTAs sind z. B. ''Sendmail, Postfix, Exim''.
Für die endgültige Auslieferung einer Mail-Nachricht an ein Client-Programm benötigen Sie letztendlich noch mindestens einen weiteren Serverdienst, wie ''IMAP'' oder ''POP''.
Für die endgültige Auslieferung einer Mail-Nachricht an ein Client-Programm benötigen Sie letztendlich noch mindestens einen weiteren Serverdienst, wie ''IMAP'' oder ''POP''.
Das  Starten  und  Stoppen  eines  Mail  Transfer  Agents  funktioniert  genauso  wie  bei den  meisten  anderen  Netzwerkdiensten auch, einfach ''init''-Skripte oder äquivalente ''systemctl''-Kommandos verwenden.


==Mail-Aliase==
==Mail-Aliase==
Zeile 39: Zeile 37:
Mit dem ersten Eintrag werden Mails, die an ''willi'' adressiert sind, dem real existierenden  Benutzerkonto   
Mit dem ersten Eintrag werden Mails, die an ''willi'' adressiert sind, dem real existierenden  Benutzerkonto   
''wilhelm'' zugeordnet.  
''wilhelm'' zugeordnet.  
Eine  andere  Methode  ist  die  Zuweisung  eines  Alias  zu  einer  Datei. So  könnte  man Tätigkeitsberichte,  automatisch  mit  Datum  und  Uhrzeit  versehen,  per  Mail-Pro-gramm schreiben:
Eine  andere  Methode  ist  die  Zuweisung  eines  Alias  zu  einer  Datei.
#''taetigkeiten: "/home/harald/taetigkeitsbericht"''
#''taetigkeiten: "/home/harald/taetigkeitsbericht"''
Für dieses Konto muss kein reales Benutzerkonto auf dem Server existieren.
Für dieses Konto muss kein reales Benutzerkonto auf dem Server existieren.
Zeile 46: Zeile 44:
Der  voranstehende  Eintrag  macht  tatsächlich  das,  wonach  er  aussieht:  Wenn  eine Mail  an  Freunde  gesendet  wird,  wird  diese  Nachricht  an  alle  Mail-Adressen  versendet, die in der Textdatei  
Der  voranstehende  Eintrag  macht  tatsächlich  das,  wonach  er  aussieht:  Wenn  eine Mail  an  Freunde  gesendet  wird,  wird  diese  Nachricht  an  alle  Mail-Adressen  versendet, die in der Textdatei  
''/home/harald/meinefreunde'' zeilensepariert aufgeführt sind.
''/home/harald/meinefreunde'' zeilensepariert aufgeführt sind.
Die letzte, nicht selten genutzte Möglichkeit ist die Übergabe einer Nachricht an einProgramm.  Mit  dieser  Methode  arbeitet  etwa  das  Mailinglistenprogramm  ''Major-domo'':
Die letzte, nicht selten genutzte Möglichkeit ist die Übergabe einer Nachricht an ein Programm.  Mit  dieser  Methode  arbeitet  etwa  das  Mailinglistenprogramm  ''Major-domo'':
#''majordomo: "|/usr/lib/majordomo/wrapper majordomo"''
#''majordomo: "|/usr/lib/majordomo/wrapper majordomo"''
Der Unterschied zur Umleitung in eine Datei ist das führende Pipe-Zeichen.
Der Unterschied zur Umleitung in eine Datei ist das führende Pipe-Zeichen.
Zeile 55: Zeile 53:
#''/etc/aliases''
#''/etc/aliases''
müssen Sie den Befehl ''newaliases'' eingeben, damit ''Sendmail'' den neuen Alias auch verwendet.
müssen Sie den Befehl ''newaliases'' eingeben, damit ''Sendmail'' den neuen Alias auch verwendet.
''/etc/aliases: 77 aliases, longest 10 bytes, 777 bytes total''


==Weiterleitung von Mail==
==Weiterleitung von Mail==


Benutzer können für sich selbst eine Mail Weiterleitung einrichten.
Benutzer können für sich selbst eine Mail Weiterleitung einrichten.
Dazu wird die Datei ''.forward'' (der Punkt ist erforderlich)  im Heimverzeichnis erstellt die die Weiterleitungsadresse in einer einzelnen Zeile enthält.
Dazu wird die Datei ''.forward'' im Heimverzeichnis erstellt die die Weiterleitungsadresse in einer einzelnen Zeile enthält.


==Wichtige Dateien und Verzeichnisse==
==Wichtige Dateien und Verzeichnisse==
Zeile 87: Zeile 84:
==Sendmail-Konfigurationsdateien==
==Sendmail-Konfigurationsdateien==
Die Hauptkonfigurationsdatei von ''Sendmail'' ist die Datei ''sendmail.cf''.
Die Hauptkonfigurationsdatei von ''Sendmail'' ist die Datei ''sendmail.cf''.
Die  Datei  ''sendmail.cf'' selbst  finden  Sie  z. B. bei  SuSE  direkt  unter  ''/etc'',  während  sie  bei  Fedora  unter  ''/etc/mail'' residiert.  
Die  Datei  ''sendmail.cf'' selbst  finden  Sie  z. B.  bei  SuSE  direkt  unter  ''/etc'',  während  sie  bei  Fedora  unter  ''/etc/mail'' residiert.  
Die Datei ''sendmail.cf'' könnte man durchaus als kompliziertes Konstrukt bezeichnen. Deshalb wird sie auch
Die Datei ''sendmail.cf'' könnte man durchaus als kompliziertes Konstrukt bezeichnen. Deshalb wird sie auch
normalerweise nicht von Hand erstellt. Stattdessen schreibt man M4-Makros, die dann durch einen M4-Präprozessor verarbeitet  werden.
normalerweise nicht von Hand erstellt. Stattdessen schreibt man M4-Makros, die dann durch einen M4-Präprozessor verarbeitet  werden.
Zeile 125: Zeile 122:
==Quellenangaben==
==Quellenangaben==
#Lpic1-v500
#Lpic1-v500
#Fragen 61-70
Fragen: 67 - 70, 76
 
[[Kategorie:Linux/LPIC/102]]
[[Kategorie:E-Mail/Server]]

Aktuelle Version vom 28. Mai 2023, 10:16 Uhr

108.3 Grundlagen von Mail Transfer Agents (MTAs)

Wichtung: 3

Gebräuchliche MTA-Programme und einfache Weiterleitungs- und Alias-Konfigurationen auf einem Client- Rechner einstellen.

Wichtigste Wissensgebiete:

  1. Mail-Aliase erstellen
  2. Mail-Weiterleitung für die endgültige Auslieferung einer Mail-Nachricht an ein Client-Programm benötigen Sie letztendlich noch mindestens einen weiteren Serverdienst, wie IMAP oder POP .
  3. Kenntnis von allgemein verfügbaren MTA-Programmen (Postfix, Sendmail, Exim)(keine Konfiguration)

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:

  1. ~/.forward
  2. Kommandos der Sendmail-Emulationsschicht
  3. newaliases
  4. mail
  5. mailq
  6. Postfix
  7. Sendmail
  8. Exim

MUA, MDA und MTA

  1. MUA– der Mail User Agent ist ein Mail-Client-Programm, mit dem Mails geschrieben, gelesen und versendet werden (z. B.  kmail, Evolution, Thunderbird, Outlook usw.).
  2. MDA – der Mail Delivery Agent verarbeitet E-Mails auf einem Server.(MDAs sind z. B. procmail, maildrop, cyrus)
  3. MTA – der Mail Transfer Agent nimmt die E-Mail vom Client entgegen. Er ist für die Zustellung einer Nachricht an den richtigen Zielserver verantworrtlich.

MTAs sind z. B. Sendmail, Postfix, Exim. Für die endgültige Auslieferung einer Mail-Nachricht an ein Client-Programm benötigen Sie letztendlich noch mindestens einen weiteren Serverdienst, wie IMAP oder POP.

Mail-Aliase

Die Datei /etc/aliases

In der Datei /etc/aliases können Sie Mail-Nachrichten umleiten. Hierbei sind vier verschiedene Verfahren möglich. Das gängigste ist dieses:

  1. willi: wilhelm
  2. root: wilhelm

Mit dem ersten Eintrag werden Mails, die an willi adressiert sind, dem real existierenden Benutzerkonto wilhelm zugeordnet. Eine andere Methode ist die Zuweisung eines Alias zu einer Datei.

  1. taetigkeiten: "/home/harald/taetigkeitsbericht"

Für dieses Konto muss kein reales Benutzerkonto auf dem Server existieren.

  1. freunde: :include:/home/harald/meinefreunde

Der voranstehende Eintrag macht tatsächlich das, wonach er aussieht: Wenn eine Mail an Freunde gesendet wird, wird diese Nachricht an alle Mail-Adressen versendet, die in der Textdatei /home/harald/meinefreunde zeilensepariert aufgeführt sind. Die letzte, nicht selten genutzte Möglichkeit ist die Übergabe einer Nachricht an ein Programm. Mit dieser Methode arbeitet etwa das Mailinglistenprogramm Major-domo:

  1. majordomo: "|/usr/lib/majordomo/wrapper majordomo"

Der Unterschied zur Umleitung in eine Datei ist das führende Pipe-Zeichen.

newaliases

Nach dem Anlegen eines neuen Alias in der Datei

  1. /etc/aliases

müssen Sie den Befehl newaliases eingeben, damit Sendmail den neuen Alias auch verwendet.

Weiterleitung von Mail

Benutzer können für sich selbst eine Mail Weiterleitung einrichten. Dazu wird die Datei .forward im Heimverzeichnis erstellt die die Weiterleitungsadresse in einer einzelnen Zeile enthält.

Wichtige Dateien und Verzeichnisse

  1. /var/spool/mail

in diesem Verzeichnis liegen Dateien mit den Namen der Benutzerkonten, die auf diesem System Mails empfangen. Der MDA liefert hier Nachrichten für die lokalen Benutzer aus.

  1. /var/spool/mqueue

Ist die Mail-Queue oder auch Warteschlange. Hier holt der MDA Nachrichten ab und entscheidet dann, ob sie lokal ausgeliefert werdenoder an den MTA zur weiteren Verarbeitung übergeben werden müssen.

  1. /var/spool/postfix

Hier liegt die Datenverzeichnisstruktur von Postfix.

  1. /var/mail ist ein typischer Link auf var/spool/mail.
  2. /etc/postfix beherbergt die Konfigurationsdateien von Postfix.
  3. /etc/mail enthält die meisten Konfigurationsdateien für Sendmail.

Um den Inhalt einer Mail-Queue im laufenden Betrieb sehen zu können, verwendenSie das Programm mailq ohne Parameter:

/var/spool/mqueue # mailq
/var/spool/mqueue (2 requests)
--Q-ID---- --Size-- --Q-Time---- ----Sender/Recipient-
l9HH2A016576* 816 Wed Oct 17 19:02 <root@archangel.homelinux.net>
<dominik@archangel.homelinux.net>
l929jC016576* 931 Wed Oct 17 19:02 <root@archangel.homelinux.net>
<dominik@archangel.homelinux.net>
Total requests: 2

Sendmail-Konfigurationsdateien

Die Hauptkonfigurationsdatei von Sendmail ist die Datei sendmail.cf. Die Datei sendmail.cf selbst finden Sie z. B.  bei SuSE direkt unter /etc, während sie bei Fedora unter /etc/mail residiert. Die Datei sendmail.cf könnte man durchaus als kompliziertes Konstrukt bezeichnen. Deshalb wird sie auch normalerweise nicht von Hand erstellt. Stattdessen schreibt man M4-Makros, die dann durch einen M4-Präprozessor verarbeitet werden.

Postfix-Konfigurationsdateien

Der MTA Postfix wird mit Konfigurationsdateien konfiguriert, die sich im Verzeichnis /etc/postfix befinden. Die Datei main.cf ist die globale Konfigurationsdatei für Postfix. Pfadangaben sind hier in der Regel voreingestellt. Es sollte festgelegt werden, unter welchem Namen der Computer aus der Sicht des Internets angesprochen wird und für welche Domänen er verantwortlich ist:

myhostname = echtername.meinedomain.com
myhostname = virtuellername.meinedomain.com
mydomain = meinedomain.com

Smarthost und SMTP-Relay

Ein Smarthost ist ein Mailserver, der als SMTP-Relay fungiert. Normalerweise werden Sie Ihre zu versendenden Mails nicht direkt zustellen, sondern durch den SMTP-Server Ihres Internet Service Providers ausliefern lassen.

Smarthost mit Sendmail

Wenn Sie einen externen Smarthost für Sendmail angeben wollen, ist das eine der wenigen Situationen, in denen Sie die sendmail.cf bearbeiten müssen. Suchen Sie nach einem DS am Zeilenanfang (möglicherweise auskommentiert), und schreiben Sie dahinter lückenlos den FQDN des Relayservers.

# "Smart" relay host (may be null)
DSmailrelay.myisp.org.

So sieht der Eintrag also aus, wenn der Server mailrelay.myisp.org heißt. Soll Ihr Server selbst als SMTP-Relay fungieren, dann müssen Sie die Dateien /etc/mail/access und /etc/mail/relay-domains modifizieren und anschließend in ebendiesem Verzeichnis einmal das Kommando make ausführen, um die korrespondierenden db-Files zu generieren.

Smarthost mit Postfix

Sollten Sie Postfix als MTA verwenden, muss der Smarthost entsprechend in der Datei /etc/postfix/main.cf eingetragen werden. Dieser Eintrag sieht wie folgt aus:

relayhost = mail.myisp.org

Um Postfix selbst als Relay einzusetzen, einfach mit der Angabe der eigenen Netzwerke für bestimmte Subnetze Relaying zuzulassen:

mynetworks = 127.0.0.0/8 192.168.50.0/24 172.16.0.0/28

Wesentlich sicherer ist es natürlich, eine Authentifizierung des Benutzers zu verlangen. Als Mechanismus kommt hier am ehesten SASL ( Simple Authentication and Security Layer ) in Frage. Sollte ein authentifizierter Benutzer eine Mail mit gefälschtem Absender verschicken, ist dieser Vorgang zumindest in den Protokollen ( /var/log/mail ) nachvollziehbar.

Exim und qmail

Weitere MTAs sind Exim und qmail. Exim ist weitgehend ähnlich zu konfigurieren wie Sendmail, die Konfiguration ist aber etwas einfacher.

Quellenangaben

  1. Lpic1-v500

Fragen: 67 - 70, 76