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

Aus Foxwiki
George (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
George (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
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 29: Zeile 29:
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 48: Zeile 48:
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 82: Zeile 82:
  <dominik@archangel.homelinux.net>
  <dominik@archangel.homelinux.net>
  Total requests: 2''
  Total requests: 2''
=='''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.
=='''Postfix-Konfigurationsdateien'''==
==Postfix-Konfigurationsdateien==
Der MTA Postfixwird mit Konfigurationsdateien konfiguriert, die sich im Verzeichnis ''/etc/postfix''
Der MTA Postfixwird mit Konfigurationsdateien konfiguriert, die sich im Verzeichnis ''/etc/postfix''
befinden. Die Datei ''main.cf'' ist die globale Konfigurationsdatei für ''Postfix''.
befinden. Die Datei ''main.cf'' ist die globale Konfigurationsdatei für ''Postfix''.
Zeile 96: Zeile 96:
  ''myhostname = virtuellername.meinedomain.com''
  ''myhostname = virtuellername.meinedomain.com''
  ''mydomain = meinedomain.com''
  ''mydomain = meinedomain.com''
=='''Smarthost und SMTP-Relay'''==
==Smarthost und SMTP-Relay==
Ein ''Smarthost'' ist ein Mailserver, der als ''SMTP-Relay'' fungiert.  
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.
Normalerweise werden Sie Ihre zu versendenden Mails nicht direkt zustellen, sondern durch den ''SMTP-Server''  Ihres  Internet  Service  Providers  ausliefern  lassen.
=='''Smarthost mit Sendmail'''==
==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''.
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)
  ''# "Smart" relay host (may be null)
Zeile 106: Zeile 106:
Soll  Ihr  Server  selbst  als  SMTP-Relay  fungieren,  dann  müssen  Sie  die  Dateien  ''/etc/mail/access''
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.
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'''==
==Smarthost mit Postfix==
Sollten  Sie  ''Postfix'' als  MTA  verwenden,  muss  der  ''Smarthost'' entsprechend  in  der Datei  
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:
''/etc/postfix/main.cf'' eingetragen werden. Dieser Eintrag sieht wie folgt aus:
Zeile 117: Zeile 117:
Sollte ein authentifizierter Benutzer eine Mail mit gefälschtem  Absender  verschicken,  ist  dieser   
Sollte ein authentifizierter Benutzer eine Mail mit gefälschtem  Absender  verschicken,  ist  dieser   
Vorgang  zumindest  in  den  Protokollen  ( ''/var/log/mail'' ) nachvollziehbar.
Vorgang  zumindest  in  den  Protokollen  ( ''/var/log/mail'' ) nachvollziehbar.
=='''Exim und qmail'''==
==Exim und qmail==
Weitere  MTAs sind ''Exim'' und  ''qmail''.  
Weitere  MTAs sind ''Exim'' und  ''qmail''.  
''Exim'' ist  weitgehend  ähnlich  zu  konfigurieren  wie ''Sendmail'', die Konfiguration ist aber etwas einfacher.
''Exim'' ist  weitgehend  ähnlich  zu  konfigurieren  wie ''Sendmail'', die Konfiguration ist aber etwas einfacher.

Version vom 16. Juli 2019, 12:35 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 verantwortlich.

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 einProgramm. 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 Postfixwird 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.