
|
|
Sendmail
Die Konfiguration von Sendmail basiert auf mehreren Konzepten. Sendmail selbst
liest beim Start eine zentrale Konfigurationsdatei (z.B. /etc/mail/sendmail.cf).
Diese kann dann weitere Konfigurationsdateien als Datenbasis einbinden. Die
Konfigurationsdatei ist zweigeteilt. Im ersten Teil sind Variablen enthalten,
die wichtige Parameter einstellen und das generelle Verhalten von sendmail
bestimmen. Der Rest besteht aus sogenannten Rulesets. Diese sind in einer
eigenen Beschreibungssprache verfasst und dienen der Manipulation von Sender-
und Empfängeradresse bei der Verarbeitung einer Mail. Die übliche Syntax z.B.
der Empfängeradresse wird dabei aufgebrochen und um Informationen ergänzt, wie
Sendmail bei der Zustellung der Mail vorgehen muss. Die Rulesets sind
ausgesprochen schwierig zu verstehen und noch schwieriger an eigene
Erfordernisse anzupassen. Deswegen gibt es eine Möglichkeit, die sendmail.cf
automatisch generieren zu lassen. Dies übernimmt eine Makrosprache namens
"m4" und passende Makros werden mit jeder Version von Sendmail mitgeliefert.
Nun beschränkt sich die Anpassung auf das Einfügen von sogenannten "Features"
in eine Konfigurationsdatei und den anschließenden Start des Makroprozessors
m4. Das Ergebnis ist eine sendmail.cf mit den gewünschten Features, die im
Variablenbereich jedoch noch angepasst werden muss.
Grundsätzlich trifft Sendmail bei einer eingehenden Mail die Entscheidung,
ob sie in einem lokalen Postfach abgelegt werden muss, oder für einen anderen
Rechner bestimmmt ist. Dazu wird die Domain betrachtet und mit einer
Konfigurationsdatei abgeglichen, die meist "/etc/mail/sendmail.cw" heißt.
Ist die Domain dort verzeichnet, wird für den Namen von dem @-Zeichen ein
Postfach gesucht. Dazu wird zunächst eine weitere Konfigurationsdatei
durchsucht, die meist "/etc/mail/aliases" heißt und Zuordnungen von jeweils
einem Namen zu einem oder mehreren anderen Namen enthält. Darüber kann z.B.
der volle Name des Benutzers ("Emil_Mustermann") seinem Kurzzeichen ("em")
zugeordnet werden oder bei einem Mailverteiler ("info") alle dafür zuständigen
Mitarbeiter eingetragen werden. Selbst die Ausführung eines Programmes zur
automatischen Verarbeitung einer Mail ist möglich. Nach dem Abgleich mit den
Aliases sollte als Name vor dem @ ein auf dem Server bekanntes Kurzzeichen
übrigbleiben. Falls dem nicht so ist, wird die Mail dem Benutzer "postmaster"
zugestellt und der Absender erhält eine Mail mit einer Warnung.
Sollte die Mail nicht lokal zugestellt werden können, wird Sendmail sie
weiterleiten. Je nach Einstellung versucht er entweder wie bereits beschrieben
zur Domain des Empfängers eine IP-Adresse herauszufinden und mit dem dortigen
SMTP-Server Kontakt aufzunehmen. Alternativ kann in der Sendmailkonfiguration
auch die IP-Adresse eines sogenannten "Smart Relay Hosts" angegeben werden.
Sendmail sendet dann alle nicht lokal zustellbaren Mails direkt dort hin.
Wenn ein Sendmail eine Mail per SMTP erhält und diese über SMTP weiterschickt,
spricht man von "Relaying". Falls Sendmail hier keine Restriktionen vorsieht,
kann das bei einem SMTP-Server mit Verbindung zum Internet fatale Folgen haben:
Ein fremdes Programm kann so einen SMTP-Server nutzen, um beliebige Mails zu
verschicken - und zwar ohne weitere Kontrolle unter jedem beliebigen Namen und
egal an wen. Solche Lücken werden von den Versendern von Spam-Mails
(unerwünschten Massen-Werbesendungen) genutzt. Die Suche nach ungeschützten
SMTP-Servern im Internet funktioniert über spezielle Hackerprogramme
automatisch, der Versand der Spam-Mails ebenso. Da diese Form des Missbrauchs
gewaltige Ausmaße angenommen hat, werden neuere Versionen von Sendmail so
ausgeliefert, dass sie Relaying grundsätzlich unterbinden. Man muss es dann für
einzelne Sender- oder Empfängerdomains explizit wieder einschalten.
|
|