Lade Inhalt...

Einrichtung eines E-Mail-Servers unter Linux mit Postfix

von Jochen Weinheimer (Autor) Philipp Rung (Autor) Simone Schäfer (Autor)

Ausarbeitung 2004 78 Seiten

Medien / Kommunikation - Multimedia, Internet, neue Technologien

Leseprobe

Inhaltsverzeichnis

Vorwort

Kapitel 1 Postfix
1.1 Die Geschichte
1.2 Was ist Postfix?
1.3 Der Aufbau
1.4 Installation
1.5 Konfiguration
1.5.1 Die Konfigurationsdatei main.cf
1.5.2 Die Konfigurationsdatei master.cf
1.5.3 Konfiguration der Alias-Datenbank
1.5.3.1 Anlegen neuer Benutzer
1.5.3.2 Zuordnung lokaler Benutzer zu virtuellen eMail-Empfängern
1.6 Start/Stop/Neustart
1.7 Test

Kapitel 2 AMaViS - email-Virenscanner
2.1 Funktion
2.2 Virenscanner
2.2.1 Download
2.2.2 Installation
2.3 Download
2.4 Installation
2.5 Konfiguration
2.6 Anbindung an Postfix
2.7 Start/Stop/Neustart

Kapitel 3 qpopper - POP3 Mail Deamon
3.1 Installation
3.2 Konfiguration
3.3 Start/Stop/Neustart
3.4 Test

Kapitel 4 Abwesenheitsnotizen
4.1 Voreinstellungen
4.2 Start des Abwesenheitsmechanismus
4.3 Stop des Abwesenheitsmechanismus

Kapitel 5 eMail-Clientprogramme

Quellen

Anlagen

Vorwort

Dieses Handbuch wurde in Form einer Projektarbeit im Fach „Mehrplatzbetriebssysteme“ an der Berufsbildenen Schule in Neustadt, zur Weiterbildung zum „Staatlich geprüften Betriebswirt, Fachrichtung Informationsmanagement und Informationsverarbeitung“ erstellt. Bei dieser Projektarbeit wurde uns von der Lehrerschaft auferlegt, einen virensicheren Postfix-eMail-Server unter dem Betriebsystem SuSE Linux 9.0 sowie entsprechenden Clients aus vorgegebenen Mitteln wie Rechnern und Software selbstständig aufzubauen und einzurichten.

Kapitel 1 Postfix

1.1 Die Geschichte

Postfix wurde von Wietse Venema, der auch die in der Unix-Welt bekannten Programme „tcp_wrappers“ und „Satan“ geschrieben hat, entwickelt.

Postfix fing sein Leben unter der Bezeichnung „Vmailer“ an. Wietse Venema hat die Software unter dem IBM GPL (General Public License) herausgegeben. Da jedoch Rechtsanwälte der Firma IBM entdeckten, dass der Name „Vmailer“ einer vorhandenen Schutzmarke zu ähnlich war, musste der Name „VMailer“ geändert werden.

Von da an wurden von Wietse Venema und seinem Team viele Monate investiert um dem Projekt einen neuen Namen zu geben, denn jede vorgeschlagene Bezeichnung wurde von der IBM abgelehnt, worauf zu guter letzt eine neue Taktik angewandt werden musste. Daraus resultierte, dass das Programm nun unter zwei Namen bekannt ist: „IBM Secure Mailer“ UND „Postfix“.

1.2 Was ist Postfix?

Postfix ist ein sogenannter MTA, ein Mail Transfer Agent. Er kümmert sich um den Versand und Empfang von eMails. Er nimmt die eMails von den Clients im Netzwerk an, verteilt sie an die auf ihm angelegten Mailboxen oder übergibt sie an einen anderen MTA. Des Weiteren kann er auch eMails von anderen MTAs außerhalb des eigenen Netzes annehmen, weiterleiten und sie in seinen lokalen Mailboxen ablegen.

1.3 Der Aufbau

Wietse's Ziel bei der Entwicklung von Postfix war ein schnelles, einfach zu administrierendes und sicheres Programm(paket) zu entwickeln, das so weit wie möglich zu Sendmail kompatibel sein soll. Das Interessanteste an Postfix ist sein innerer Aufbau: Es besteht aus mehreren kleinen Programmen, die über sogenannte LINUX-Domain-Sockets kommunizieren. Auf diese Weise ist es viel einfacher Probleme, Fehler oder Sicherheitsmängel in den Griff zu bekommen.

Ungermann, Markus: Email-Server: Postfix

Ebenfalls aus Sicherheitsgründen arbeitet Postfix mit vier verschiedenen Queues (Warteschlangen): "maildrop", "incoming", "active" und "deferred". Lokal gesendete Mails landen in "maildrop" und werden von dort in die "incoming"-Queue kopiert, nachdem sie regelbasiert auf Größe, Inhalt und anderes überprüft wurden. In der "active" Queue landen die Mails, die der Queue-Manager gerade bearbeitet und ausliefert (lokal oder remote). Nachrichten, die Postfix nicht ausliefern kann (Dienst des Zielmailservers reagiert nicht, keine Route, keine Netzverbindung, ...), landen in der "deferred" Queue. Da Postfix immer nur eine Mail gleichzeitig bearbeitet und die "active" Queue klein hält, ist es unempfindlich gegen Ressourcenknappheit. Das Bearbeiten/Ausliefern von Mails kann also in keinem Fall, beispielsweise wegen eines vollen Dateisystems, blockiert werden.

Die Grafik zeigt den modularen Aufbau von Postfix. Hierbei bedeuten:

- gelbe Ellipsen Programme
- gelbe Kästen Mail-Queues oder -Dateien
- blaue Kästen (Nachschlage-) Tabellen
- Programme in der umrandeten Box laufen unter der Kontrolle des Postfix master Daemons, Dateien in diesem Kasten gehören dem Postfix-Mail- System.

1.4 Installation

Postfix muss in dem Sinne nicht installiert werden, da er als fester Bestandteil der Grundinstallation von SuSE Linux 9.0 automatisch mitinstalliert wird.

Ungermann, Markus: Email-Server: Postfix

1.5 Konfiguration

1.5.1 Die Konfigurationsdatei main.cf

Die Datei main.cf, zu finden im Pfad „/etc/postfix/“, ist die Hauptkonfigurations-Datei von Postfix. In ihr sind alle wichtigen und notwendigen Einstellungen vorzunehmen. Die Datei erklärt in englischer Sprache direkt den Großteil der verschiedenen Einstellungsmöglichkeiten von Postfix und zeigt durch Beispieleinstellungen die richtige Syntax der einzelnen Parameter.

Insgesamt gibt es über 300 verschiedene Parameter die in der Datei main.cf vorgenommen werden könnten, um den Server zu konfigurieren. Da allerdings nicht alle Einstellungsmöglichkeiten für unseren Server konfiguriert werden müssen, da wir diese entweder nicht kennen, nicht benötigen oder diese schon voreingestellt sind, sind hier nur jene Parameter erläutert die für unseren Server von Bedeutung sind oder die einer Erklärung würdig erscheinen.

queue_directory = /var/spool/postfix

dient der Einstellung des Verzeichnisses in dem die zu sendenden Mails zwischengelagert werden.

command_directory = /usr/sbin

dient zur Einstellung des Verzeichnisses in welchem sich die Kommandos zur Steuerung des Postfix-Servers befinden (postXXX-Kommandos) dient der Einstellung des Pfades in dem sich alle Postfix-Programme

daemon_directory = /usr/lib/postfix

befinden

mail_owner = postfix

legt den Besitzer der Warteschlangen (queues) und der meisten PostfixProgramme fest.

Hier darf auf keinen Fall als Besitzer der User "root" angegeben werden. Besser ist es einen neuen Benutzer anzulegen der nur für Postfix zuständig ist und sich selbst nicht einloggen kann.

Daher wird standardmäßig bei der Installation von Postfix der User "postfix" automatisch angelegt.

unknown_local_recipient_reject_code = 450

gibt den SMTP-Server-Antwort-Code an, nach dem im Falle einer nichtzustellbaren Mail gehandelt werden soll.

Hier gibt es zwei Möglichkeiten:

code = 550 (reject mail --> Mail direkt an Absender zurücksenden)

code = 450 (try again later --> Mail zurückstellen und später die Zustellung versuchen).

Original-Postfix-Konfigurationsdatei „main.cf“

mynetworks = 172.16.0.0/16, 127.0.0.0/8, 127.0.0.1/8

legt fest, welchen Netzen Postfix vertrauen soll und von denen Postfix demnach Mails annehmen darf. Unser Netz ist das Klasse B-Netz „172.16.“ Die 127. Ist hierbei der interne Loop-Back des eMail-Servers selbst und muss mit eingetragen bleiben.

mail_spool_directory = /var/mail

gibt an wo sich die Mailboxen im LINUX-Stil befinden.

myhostname = linux.bbsnw.de

legt den Namen des Postfix-Servers fest, in unserem Falle „linux.bbsnw.de“.

program_directory = /usr/lib/postfix

gibt an in welchem Verzeichnis sich das Postfix-Programm befindet.

mydestination = bbsnw.de

legt fest für welche Domänen der Server die eMails annehmen soll. Für uns ist dies die Domäne „bbsnw.de“.

relayhost = [mail.bbsnw.de]

gibt an, an welchen RelayHost die eMails gesendet werden sollen die nicht lokal zugestellt werden können. Wir haben an dieser Stelle den Server „mail.bbsnw.de“ eingetragen, falls es diesen Server einmal zur Weiterleitung der eMails unseres Servers geben wird.

alias_maps = hash:/etc/aliases

gibt an wo sich die Alias-Datenbank für die Zuordnung von eMail-Adressen zu lokal angelegten Benutzern befindet

mailbox_size_limit = 0

dient der Einschränkung der Mailbox-Grösse. Wird als Wert "0" eingetragen, so unterliegen die Mailboxen keiner Einschränkung

message_size_limit = 10240000

legt die maximale Grösse von eMails in Bytes fest.

inet_interfaces = all

gibt die Adressen von Netzwerk-Schnittstellen an auf denen der PostfixServer eMails empfängt.

Original-Postfix-Konfigurationsdatei „main.cf“

1.5.2 Die Konfigurationsdatei master.cf

Die Datei master.cf ist die Haupt-Prozess-Konfigurationsdatei von Postfix. In ihr wird beschrieben wie die Postfix-Dämonprogramme laufen sollen, wie viele Ressourcen Postfix verbrauchen darf, wie viele Prozesse maximal gleichzeitig laufen dürfen, usw.

Standardmäßig sind in dieser Datei alle notwendigen Konfigurationen für einen „normalen“ Betrieb des Servers bereits vorgenommen. Sollten weitere Programme, wie z.B. AMaViS (Virenscanner), dem Postfix-Server angekoppelt werden, so werden die vorzunehmenden Eintragungen, die zur Kommunikation zwischen den verschiedenen Programmen mit dem Postfix- Server vorzunehmen sind, normalerweise von den Anbietern der Programme mitgeliefert.

Abbildung in dieser Leseprobe nicht enthalten

Erläuterung der Syntax:

service: Hier wird irgend ein Name eingetragen der für den im nächsten Schritt beschriebenen Transport-Typ gültig ist

type: Transport-Typ. Folgende Varianten sind möglich:

- „inet“ für Internet-Sockets
- „linux“ für LINUX-domain-sockets
- „fifo“ für benannte Pipes

private: Hier wird angegeben, ob der Zugang auf das Mail-System beschränkt ist oder nicht.

unprivileged: Hier wird angegeben, ob der Dienst mit „root“-Privilegien laufen soll oder als Besitzer des Postfix-Systems.

chroot: Beschreibt, ob das Programm mit „chrooted“ auf die Mail- Warteschlange laufen soll.

wakeup: Veranlasst das Programm automatisch nach der angegebenen Zeit in Sekunden zu starten.

maxproc: Gibt die maximale Anzahl von Prozessen an die das angegebene Programm gleichzeitig ausführen dürfen

command + args: Hier wird das auszuführende Programm mit eventuellen Zusatzparametern angegeben.

Original-Postfix-Konfigurationsdatei „master.cf“

1.5.3 Konfiguration der Alias-Datenbank

Damit Postfix seinen Zweck erfüllen kann und eMails, die an virtuelle Empfänger gesendet werden, an reell existierende und somit lokal angelegten eMail-Empfänger verteilen kann, müssen die virtuellen Empfängeradressen in einer sogenannten Alias-Datenbank lokalen Empfängern zugeordnet werden. Die Zuordnung eben dieser Adressen geschieht in der Datei „virtual“ im Verzeichnis „/etc/postfix“.

Damit die virtuellen Adressen zu lokalen Empfängern zugeordnet werden können müssen diese zuerst angelegt werden.

1.5.3.1 Anlegen neuer Benutzer

Um einen lokalen Empfänger und somit einen lokalen User einzurichten sind folgende Schritte nötig:

Zuerst muss das Konfigurationsprogramm von Linux, das YaST2 („Yet another Setup Tool 2“) gestartet werden. Klickt man darin auf den Punkt „Sicherheit und Benutzer“ im linken Menü, so wird folgende Anzeige dargestellt:

Abbildung in dieser Leseprobe nicht enthalten

Durck Klick auf den Punkt „Hinzufügen“ erscheint die Maske zur Erfassung eines neuen Benutzers:

Hier müssen nun zur Erfassung eines neuen Benutzers auf dem Server zumindest der Benutzername und ein passendes Passwort (inklusive Passwortbestätigung) in die dafür vorgesehenen Felder eingegeben werden. Die Eingabe des Vor- und Nachnamens ist sicher sinnvoll, wird aber von Linux nicht zwingend gefordert. Hat man alle notwendigen Daten angegeben und klickt auf den Button „Anlegen“, so wird der Benutzer im Linux-System erstellt und in der Benutzerliste aufgeführt.

Nachdem nun alle Benutzer auf diese Art und Weise erfasst wurden, kann das die Benutzerverwaltung durch klick auf den Button „Beenden“ abgeschlossen werden.

1.5.3.2 Zuordnung lokaler Benutzer zu virtuellen eMail-Empfängern

Zur Zuordnung der verschiedenen virtuellen eMail-Empfänger zu den lokal angelegten Benutzern gibt es verschiedene Möglichkeiten, welche in der Datei „virtual“ selbst in englischer Schrift erklärt sind.

Am simpelsten ist das Standardvorgehen, bei dem einfach die virtuelle Adresse, getrennt durch einen oder mehrere Tabstops einem lokalen Konto, zugeordnet sind.

Beispiel:

# User Fips

fips@bbsnw.de fips

Dem lokalen User „fips“ wird die virtuelle eMail-Empfängeradresse fips@bbsnw.de zugeordnet.

Da es nun heutzutage oft der Fall ist, dass ein User mehrere eMail-Adressen braucht, beispielsweise eine für private und eine für geschäftlichen Kontakt nach Außen, ist die Zuordnung mehrerer eMail-Adressen wie im folgenden Beispiel beschrieben möglich:

# User Mone

mone@bbsnw.de mone

simmy@bbsnw.de mone@bbsnw.de

chester@bbsnw.de mone@bbsnw.de

Dem lokalen User „mone“ werden die virtuellen eMail-Adressen

mone@bbsnw.de, simmy@bbsnw.de und chester@bbsnw.de zugeordnet,

wobei die eMails, welche an simmy@bbsnw.de und chester@bbsnw.de einfach an die virtuelle eMail-Adresse mone@bbsnw.de verwiesen werden.

Damit Postfix nun mit der erstellten bzw. geänderten Alias-Datenbank arbeiten kann, muss sie noch in ein Format konvertiert werden mit dem Postfix arbeiten kann. Hierzu ist das Kommando „postmap /etc/postfix/virtual“ vom Hauptbenutzer „root“ auf der Konsole zu starten. Das hierdurch gestartete Programm „postmap“ konvertiert die Datei „virtual“ in eben eine für Postfix interpretierbare Datei namens „virtual.db“, welche im PostfixKonfigurationsverzeichnis „/etc/postfix“ abgelegt wird.

1.6 Start/Stop/Neustart

Der Postfix-Server wird mit dem Befehl

linux:/ # /etc/init.d/postfix start

gestartet.

Sollten eventuell Fehler in der Konfigurationsdatei vorhanden sein oder diverse Rechte auf Dateien falsch gesetzt sein, weist Postfix mit entsprechenden Kommentaren auf dem Bildschirm darauf hin. Schreibt der Server als Antwort auf den Startbefehl

Starting mail service (Postfix) done

linux:/ #

so ist der Start des Servers geglückt und das Mailsystem ist einsatzbereit. Will man den Postfix-Server beenden, so lautet der Befehl hierzu

linux:/ # /etc/init.d/postfix stop

Auf ein geglücktes Beenden des Servers reagiert Postfix mit

Shutting down mail service (Postfix) done

linux:/ #

Wurden nun zum Beispiel Änderungen an den Konfigurationsdateien des Servers bzw. der Alias-Datenbank vorgenommen, so muß der Postfix-Server neu gestartet werden damit die geänderten Dateien neu eingelesen werden.

Das Kommando hierzu lautet

linux:/ # /etc/init.d/postfix restart

Sind bei den Änderungen keine weiteren Fehler gemacht worden, sieht ein fehlerfrei vollzogener Neustart von Postfix wie folgt aus :

Shutting down mail service (Postfix) done

Starting mail service (Postfix) done

linux:/ #

1.7 Test

Sollten nach dem Start von Postfix keine Beanstandungen des Programms bezüglich Fehler in der Konfiguration gemeldet worden sein, kann man ganz einfach mit dem Programm telnet überprüfen ob der MTA für den Empfang von eMails bereit ist.

Hierzu ist telnet mit der IP-Adresse des Servers und des Ports 25, dem SMTP-Port, aufzurufen. Unter SMTP versteht man das Simple Mail Transport Protocol. SMTP ist ein Server-zu-Server-Protokoll, welches für den Versand von Mails verantwortlich ist.

Hier ein Beispiel einer telnet-MTA-Testverbindung im Falle unseres Servers:

linux # telnet 172.16.111.107 25

Trying 172.16.111.107...

Connected to 172.16.111.107.

Escape character is '^]'.

220 linux.bbsnw.de ESMTP Postfix

Antwortet der Server wie in unserem Beispiel mit “220 … ESMTP Postfix”, so ist der MTA für den Empfang bzw. die Entgegennahme von eMails bereit.

Kapitel 2 AMaViS - eMail-Virenscanner

In der heutigen Zeit, in der jeder der eine eMail-Adresse besitzt, ein potentielles Opfer von Virenattaken via eMail darstellt, ist es äußerst sinnvoll einen passenden Schutz gegen Viren und deren Verwandten auf einem Mailserver zu integrieren. Solch einen Schutz bietet „AMaViS“, „A Mail Virus Scanner“. AMaViS stellt hierbei eine Schnittstelle zwischen dem Postfix-MTA und einem der vielen existierenden Virenscanner dar.

2.1 Funktion

AMaViS nimmt eMails vom Mailserver, in userem Falle Postfix, entgegen, extrahiert die zu überprüfenden Daten und übergibt diese an einen von AMaViS unterstützten Virenscanner weiter.

Meldet der Virenscanner eine Infektion, stoppt AMaViS die Auslieferung, stellt die infizierte Datei in einen Quarantäne-Bereich und sendet je nach Konfiguration eine entsprechende Warnmeldung an den Versender und/oder den Empfänger der eMail.

Bildlich dargestellt sieht das Ganze folgendermaßen aus:

Bevor AMaViS selbst installiert wird bietet es sich an, zuerst einen Virenscanner zu installieren. AMaViS ist hierbei mit folgenden Virenscannern kompatibel und koppelbar:

2.2 Virenscanner

Im Zuge unseres Projektes haben wir uns für den Virenscanner F-Prot von Frisk entschieden. F-Prot kann, zumindest in der „Home-User“-Variante, kostenlos im Internet unter www.f-prot.com als RPM-Datei heruntergeladen werden. Diese Möglichkeit haben wir zur Realisierung unseres Projektes in Anspruch genommen.

2.2.1 Download

Folgende Schritte müssen zum Download durchlaufen werden:

Wiesner, Michael: Antiviren-Mailrelay mit Amavis

Öffnen der Homepage http://www.f-prot.com von F-Prot via Browser:

Um an das begehrte Installationspaket zu gelangen muss zunächst der Punkt „F-Prot Antivirus for Linux“ angewählt werden. Folgende Bildschirmanzeige erscheint:

Hier werden nun einige Informationen über das herunterzuladende Paket dargestellt. Durch klick auf den Punkt „download center“ werden die verschiedenen, downloadbaren Pakete angezeigt. Wir entscheiden uns an diesem Punkt der Einfachheit halber zum Download des RPM-Paketes.

Bevor F-Prot nun endgültig heruntergeladen werden kann muss noch das Registrierformular von F-Prot ausgefüllt werden.

Wurden alle von F-Prot gewünschten Angaben erfasst beginnt der Download nach einem Klick auf den Button „Submit and start download >>“. Nun muss der Download-Routine nur noch ein Pfad angegeben werden in welchem die RPM-Datei abgelegt werden soll.

2.2.2 Installation

Die Installationsdatei von F-Prot liegt nun in einem Verzeichnis. Um sie zu installieren muss der Befehl

rpm -Uhv *

in dem Verzeichnis ausgeführt werden, in dem die Datei abgelegt ist. In unserem Falle hier als Beispiel:

linux:/home/bbs/F-Prot # rpm -Uhv *

2.3 Download

Da AMaViS nicht im Paket von SuSE Linux 9.0 beinhaltet ist, muss er zuerst aus dem Internet heruntergeladen werden. Da es sich hierbei, wie bei den meissten Programmen für Linux, um ein Open-Source-Produkt handelt ist es kostenlos. Eine Site auf der AMaViS downgeloaded werden kann ist beispielsweise www.rpm-seek.de. Natürlich gibt es noch viele weitere Sites die rpm-Installationspakete anbieten. Daher haben wir hier nur als Beispiel die Schritte aufgeführt um AMaViS von www.rpm-seek.de zu erhalten:

Auf www.rpm-seek.de muss zuerst nach dem Paket gesucht werden. Hierzu ist der Paketname in das dafür vorgesehene Feld einzugeben und auf den Button „*go!“ zu drücken.

Hierauf erhält man eine Liste mit den verfügbaren Paketen. Das Paket das heruntergeladen werden soll ist „amavisd-new“, die neueste Version von AMAVIS.

Mit einem Klick auf den Namen des herunterzuladenden Pakets erscheint folgende Liste:

[...]

Details

Seiten
78
Jahr
2004
ISBN (eBook)
9783638412070
Dateigröße
1.8 MB
Sprache
Deutsch
Katalognummer
v43396
Note
sehr gut
Schlagworte
Einrichtung E-Mail-Servers Linux Postfix Betriebswirt Informationsverarbeitung Informationsmanagement

Autoren

Zurück

Titel: Einrichtung eines E-Mail-Servers unter Linux mit Postfix