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

Aus Foxwiki
George (Diskussion | Beiträge)
K Textersetzung - „  “ durch „ “
 
(62 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=='''108.3 Grundlagen von Mail Transfer Agents (MTAs)'''==
==108.3 Grundlagen von Mail Transfer Agents (MTAs)==


'''Wichtung: 3'''
'''Wichtung: 3'''
Zeile 11: Zeile 11:
#Kenntnis von allgemein verfügbaren MTA-Programmen ''(Postfix, Sendmail, Exim)(keine Konfiguration)''
#Kenntnis von allgemein verfügbaren MTA-Programmen ''(Postfix, Sendmail, Exim)(keine Konfiguration)''


=='''Liste wichtiger Dateien, Verzeichnisse und Anwendungen:'''==
==Liste wichtiger Dateien, Verzeichnisse und Anwendungen:==
#''~/.forward''
#''~/.forward''
#Kommandos der ''Sendmail''-Emulationsschicht
#Kommandos der ''Sendmail''-Emulationsschicht
Zeile 21: Zeile 21:
#''Exim''
#''Exim''


=='''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  verantwortlich.  
#'''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''.


=='''Mail-Aliase'''==
==Mail-Aliase==
'''Die Datei''' '''/etc/aliases'''
'''Die Datei''' '''/etc/aliases'''


Zeile 43: Zeile 43:
#''freunde: :include:/home/harald/meinefreunde''
#''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  
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.


=='''newaliases'''==
==newaliases==


Nach dem Anlegen eines neuen Alias in der Datei  
Nach dem Anlegen eines neuen Alias in der Datei  
Zeile 54: Zeile 54:
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.


=='''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'' 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==


#''/var/spool/mail''
#''/var/spool/mail''
Zeile 68: Zeile 68:
#''/var/spool/postfix''
#''/var/spool/postfix''
Hier liegt die Datenverzeichnisstruktur von Postfix.
Hier liegt die Datenverzeichnisstruktur von Postfix.
#''/var/mail'' ist ein typischer Link auf '' var/spool/mail''.
#''/etc/postfix''  beherbergt die Konfigurationsdateien von ''Postfix''.
#''/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.&nbsp;B.&nbsp; 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==
#Lpic1-v500
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