Mailserver auf Basis von Postfix, Procmail, CourierIMAP+SSL, Fetchmail

[moR-pH-euS]

Magnum P.I.
hallo,
da es eine anfrage eines users nach dem postfix how-to von mark (dem gründer von bsdforen.org) gab und es leider nicht ins neue board übernommen wurde, da es extern verlinkt war hat es mir mark jetzt freundlicherweise zugeschickt.
hier ist es nun:
 
Inhalt

0) Verwendetes System
1) Vorwort
2) Funktionsweise
2.1.) Funktionsweise: Details
2.1.1) SMTP
2.1.2) POP3/IMAP
3) Mailstandards und Fachbegriffe
4) Ablaufplan
5) Konfiguration
5.1) Postfix
5.1.1) main.cf - Details
5.1.2) master.cf - Details
5.2) Avmailgate
5.3) CourierIMAP
5.3.1) authdaemonrc - Details
5.3.2) imapd - Details
5.3.3) imapd-ssl - Details
5.3.4) IMAP-User anlegen
5.4) Procmail
5.4.1) Aufbau einer Regel
5.5) Fetchmail
6) Nuetzliches
7) Ende





0) Verwendetes System

$ uname -sr
OpenBSD 3.2

OpenBSD Version 3.1 laeuft ebenfalls problemlos
 
1) Vorwort

Dieses Howto soll euch in der Praxis zeigen, wie man einen sicheren Mailserver aufsetzt
und administriert. Nach einer kurzen Einfuehrung -gaengige Mailstandards, Funktionsweise
Aufbau, Ablaufplan- beginnen wir sofort mit der Umsetzung.
HINWEIS: Ich beschreibe hier NICHT, wie man einen direkt im Internet stehenden SMTP-Server
aufsetzt (e.g. web, gmx), der also per SMTP E-Mails entgegennimmt; naeheres zur Funktions-
weise in Kapitel 2). Darueberhinaus uebernehme ich keinerlei Verantwortung fuer Schaeden,
die durch die Anwendung bzw. das Ausfuehren dieses Howtos entstanden sind. Mailserver
koennen -falsch konfiguriert- grossen Schaden anrichten.
 
2) Funktionsweise

Unser Mailserver soll E-Mails entgegennehmen, auf Viren filtern und letztendlich in dafuer
vorgesehenen Postfaechern ablegen.


2.1) Funktionsweise: Details
2.1.1) SMTP: SIMPLE MAIL TRANSFER PROTOCOL (SMTP, 25)

Mailserver verstehen sich untereinander nur ueber SMTP, das SIMPLE MAIL TRANSFER PROTOCOL.
Um mit einem SMTP-Server im Internet kommunizieren zu koennen, ist folgender Ablauf von Noeten bzw.
in der Regel der Standard-Weg:

Code:
$ telnet mailserver 25
HELO mailserver                                 # oeffnen der Verbindung; Kontakt herstellen
MAIL FROM: <name@senderdomain>                  # ihr gebt den Absender an
RCPT TO: <name@empfaengerdomain>                # ihr gebt den Empfaenger an
DATA                                            # hier beginnt der Datenteil
Subject: Euer Betreff                           # ihr gebt den gewuenschten Betreff an
Hallo Welt                                      # euer Text
.                                               # ein einzelner Punkt beendet die E-Mail
(nach jedem Befehl erfolgt ein Zeilenumbruch, also RETURN druecken)



Weil der Begriff oefter auftaucht: Relaying
Muss ein Mailserver eine E-Mail von einem Server zum Naechsten uebergeben/durchreichen, bzw.
befindet sich eine "Zwischenstation" zwischen Start - und - Ziel, so muss ein SMTP-Server relayen,
also an einen anderen Server weitergeben, damit die E-Mail ihren Endpunkt erreicht. Beispiel:
ihr steuert nicht den zustaendigen MX-Host einer Domain selbst an, sondern gebt eure E-Mail an
den Relayhost oder auch Smarthost genannt, ab. Dieser uebernimmt dann alles Weitere.

In unserem Howot uebernimmt diesen Posten Postfix. Postfix, weil es klein, stabil, flink und
vor allem sicher ist. Die Konfigurationsdateien sind sehr gut dokumentiert und daher leicht
anzupassen.


2.1.2) POP3/IMAP: POST OFFICE PROTOCOL V3 (POP3, 110)/INTERNET MAIL ACCESS PROTOCOL (IMAP, 143)

Beide Protokolle regeln, wie der Endabnehmer an seine E-Mails gelangt.
Bei POP3 gelangen die E-Mails nach dem Abrufen direkt auf die Festplatte des Anwenders, i.d.R.
werden sie nach dem Abrufen vom Server geloescht.
IMAP hingegen belaesst die E-Mails zum Lesen auf dem IMAP-Server.

Ich verwende hier das Programm CourierIMAP, also das Protokoll IMAP.
CourierIMAP besitzt mehrere Optionen, wie sich User authentifizieren; ich verwende die "userdb";
Passwoerter werden verschluesselt gespeichert und sind daher nicht einsehbar. Hinweis: diese Methode
ist fuer kleinere Server in Ordnung; werden viele Postfaecher benoetigt, wird es schnell unuebersichtlich
bzw. die Wartung der Accounts leidet darunter. Hier sollte man ueberlegen auf ein "richtiges" Datenbank-
layout umzusteigen.

Benoetigt wird ein lokaler Account fuer den CourierIMAP-User; nicht fuer den Daemon, sondern
zum Anlegen der Mailboxen.
 
3) Mailstandards und Fachbegriffe

MTA (MAIL TRANSPORT AGENT):
Der MTA ist allein fuer die Auslieferung der Mails verantwortlich.
Er ist das Herzstueck des Mailservers. Nur wie, und dass die E-Mail
ankommt ist ihm wichtig. Beispiel: postfix

MDA (MAIL DELIVERY AGENT):
Der MDA wird vom MTA aufgerufen, um Mails auf der Festplatte des Servers
zu speichern. MDAs koennen komplexe Filterregeln abarbeiten und gut
mit Virenkillern kombiniert werden. Beispiel: procmail

MUA (MAIL USER AGENT):
Der MUA steht fuer das Mailprogramms des Anwenders. Er sorgt fuer die
Uebertragung der E-Mail vom User zum Server, sowohl ein- als auch
ausgehend
 
4) Ablaufplan

Um zu verstehen, wie unser Mailserver arbeitet, werde ich die Schritte (vom Abruf bis in das Postfach
erklaeren.
Postfix ist in mehrere einzelne Module aufgeteilt, die bestimmte wichtige Funktionen haben. Sehen
wir uns das mal genauer an.

MODUL FUNKTION
-------------------------------------------------------------------------------------------------

bounce unzustellbare Mails werden zum Absender zurueck geschickt
cleanup prueft Mailheader auf Richtigkeit und ergaenzt gegebenenfalls
local speichert E-Mails in lokalen Postfaechern
master das "Kernstueck" von Postfix; koordiniert alle anderen Module
nqmgr verbesserter "Nachfolger" von qmgr; verwaltet die Warteschlange
pickup Mails werden aus der Warteschlange genommen und weiter an cleanup gereicht
pipe leitet Mails an "externe" Programme, e.g Virenscanner, weiter
postdrop nimmt von sendmail erzeugte Mails und speichert sie in der Warteschlange
qmgr "Vorgaenger" von nqmgr; verwaltet die Warteschlange
showq zeigt die Warteschlange an
smtp verschickt die eigentlichen E-Mails an andere Hosts
smtpd empfaengt E-Mails von anderen Hosts
trivial-rewrite schreibt gegebenenfalls Felder des Headers um, e.g. Empfaenger


Um den Ablaufplan (einige Zeilen weiter unten) genau zu verstehen, bedarf es noch der naeheren
Betrachtung unseres Virenscanners(avmailgate). Avmailgate ist in zwei Programme unterteilt:

avgated:
das ist der store-and-forward agent; er nimmt die Mails entgegen filtert sie anhand der
IP-Adresse und legt sie in einer eigens dafuer vorgesehenen Warteschlange ab

avgatefwd:
er nimmt die Mail aus der Warteschlange, oeffnet Anhaenge und prueft auf Viren. Je
nachdem ob ein Virus gefunden wurde, wird die E-Mail entweder weiter an den MTA ge-
geben oder in einem speziellen Verzeichnis "handlungsunfaehig" gemacht. Der Postmaster
des Systems bekommt eine E-Mail und wird ueber die Geschehnisse unterrichtet.


Falls ihr nach erfolgreichen Beendigung dieses Howtos unter /var/log/maillog schaut, werdet ihr
besser verstehen was "vor sich geht".
Hier der Ablaufplan fuer das "Senden" von E-Mails:

1. smtpd nimmt die E-Mail vom Client entgegen
2. cleanup prueft die E-Mail auf die Richtigkeit des Mailheaders
3. fuer smtpd ist die Sache hier "gegessen" er disonnected vom Client (wohl gemerkt smtpd; siehe oben)
4. qmgr legt die E-Mail in der Warteschlange ab
5. nun kommt der Auftritt unseres Virenscanners. Avgated connected und nimmt die E-Mails aus der
Warteschlange entgegen
6. Avgated lagert die Mail zwischen.
7. avgatefwd "schnappt" sich die E-Mail und prueft auf Viren.
8. wurde kein Virus gefunden wird die Mail lokal weitergereicht
9. nocheinmal wird der Header geprueft
10. die E-Mail verlaesst unseren Server und wird versandt


wurde ein Virus gefunden wird die E-Mail unter /var/spool/avmailgate/rejected abgelegt. Dazu spaeter
mehr. (-> Quarantaene)


Und nun der Ablaufplan fuer das "Empfangen" von E-Mails:

1. per POP3 werden die E-Mails von unseren externen Postfaechern abgerufen
2. smtpd nimmt die E-Mail lokal entgegen (spielt sich alles innerhalb des Server ab)
3. cleanup prueft die E-Mail auf die Richtigkeit des Mailheaders
4. smtpd disconnected
5. qmgr legt die E-Mail in der Warteschlange ab
6. Avgated connected und nimmt die E-Mails aus der Wartenschlange entgegen
7. Avgated lagert die Mail zwischen.
8. avgatefwd prueft auf Viren
9. die E-Mail wird lokal weitergegeben
10. der Header wird nochmals geprueft
11. die Mail wird lokal an procmail weitergeben, unseren mda
12. procmail filtert auf Header (Betreff, From:, To:, TO:, etc)
13. die E-Mail wird in die entsprechenden Mailboxen geleitet



Zusammenfassen benoetigen wir folgenden Programme:
- Postfix (SMTP)
- Procmail (Filterung und lokale Zustellung)
- Avmailgate (Virenfilterung)
- CourierIMAP (Speichern der E-Mails in Mailboxen)
- Fetchmail (zum Abrufen(fetchen) der E-Mails vom ISP)
 
5) Konfiguration (Ueberblick)

5.1) Postfix
5.2) Avmailgate
5.3) CourierIMAP
5.4) Procmail
5.5) Fetchmail


Zuerst konfigurieren wir Postfix und testen ob E-Mails unseren Server verlassen koennen. Dannach
installieren wir Avmailgate und testen ein weiteres Mal, ob E-Mails versandt werden koennen. Erst
dann machen wir uns dan die Konfiguration von CourierIMAP, Procmail und Fetchmail.
Ich werde hier nicht auf die Installation eingehen, sondern nur wie ihr euren Server konfiguriert.
Also.....starten wir!


5.1) Postfix

Postfix laeuft auf OpenBSD von Anfang an chrooted. Das merkt ihr spaetestens, wenn ihr die zustaendigen Ports
fuer Avmailgate unter /etc/services eintragt und unter /var/spool/postfix/etc/services nicht :-)

---------------------------------------------------------------------------------------------------------
INFO: chrooted bedeutet, das entsprechende Programm laeuft in einer Art Gefaengnis. Am Beispiel Postfix:
Was fuer uns / darstellt (/var, /etc, /usr, ...) ist fuer Postfix /var/spool/postfix.
Ein cd .. gibt es also nicht um aus dem "Gefaengnis" zu entkommen. Die hoechste Ebene fuer unseren
PostfixDaemon ist also nicht das richtige / sondern /var/spool/postfix
---------------------------------------------------------------------------------------------------------

Die einzig wichtigen Konfigurationsdateien fuer unsern Zweck heissen "main.cf" und "master.cf". Sie befinden sich unte
r
/etc/postfix/.


5.1.1) main.cf - Details

Ich hab die Standard-main.cf kopiert und hier eingefuegt. Alle Kommentare werden uebersetzt, bzw. mit
eigenen Worten widergegeben.
Postfix ist um ein Vielfaches leichter zu konfigurieren als Sendmail, doch auch hier gibt es sehr viele
Einstellungsmoeglichkeiten, die fuer uns ohne Bedeutung sind, bzw. kommentiert bleiben sollten, damit
der Standard-Wert beim Start eingelesen wird. Diese Punkte sind mit einen einzelnen # makiert
Hinweis: Alle hier vorgestellen Punkte sind nur ein Teil der insgesamt verfuegbaren, modifizierbaren Optionen;
besser zu sehen unter /etc/postfix/main.cf.default

##### Testen eines Servers; Bounce-E-Mails werden nicht ausgeliefert
#soft_bounce = no

##### Order der Warteschlangen
#queue_directory = /var/spool/postfix

##### hier liegen die Postfix-Programme
#command_directory = /usr/local/sbin

##### hier liegen die Postfix-Module
#daemon_directory = /usr/local/libexec/postfix

##### Besitzer der Prozesse, zwischengespeicherten Mails; nicht root verwenden
mail_owner = postfix

##### Nutzerrechte fuer Dateizugriff
#default_privs = nobody

##### wie heisst unser Mailserver; evtl. habt ihr auf eurem DNS-Server ein Alias erstellt (e.g mail.domain)
myhostname = mail.domain

##### die Domain, in der sich der Mailserver befindet bzw. fuer welche er zustaendig ist
mydomain = domain

##### hostname bei der erzeugung neuer mails
myorigin = $mydomain

##### Interface, auf dem der Mailserver Mails entgegennimmt. Da er nicht im Internet steht: all (generell nicht
##### empfehlenswert; nutzt explizit das Interface, welches zur Verfuegung steht und benoetigt wird)
inet_interfaces = all

##### Gibt an, fuer welche Domain sich Postfix zustaendig fuehlt; nicht zu verwechseln mit der "virtual"-Tabelle
mydestination = $myhostname, localhost.$mydomain $mydomain

##### unser Netzwerk: Rechner aus diesem IP-Adressbereich duerfen den Mailserver nutzen (ohne lokales Netzwerk:
##### nur localhost)
mynetworks = 192.168.10.0/24, 127.0.0.0/8

##### Domains fuer die, bzw von denen Postfix E-Mails relayed
relay_domains = $mydestination

##### lokale Mailadressen, fuer die Postfix Mails annimmt
#local_recipient_maps = $alias_maps unix:passwd.byname

##### wird Postfix mit eingehenden Mails geradezu "ueberhaeuft", verzoegert er die Bearbeitung der Eingehenden
##### damit er die mailq, also die in der Warteschlange stehenden Mails versenden bzw. weiterleiten kann
#in_flow_delay = 1s

##### Mailaliase
#alias_maps = hash:/etc/aliases

##### Mailaliases-Datenbank
#alias_database = hash:/etc/aliases.db

##### hiermit wird in der Empfaengeradresse der Anhang abgegrentzt
#recipient_delimiter = +

##### default HomeMailbox.
#home_mailbox = Maildir/

##### hier liegt das Spool-Verzeichnis von Postfix.
#mail_spool_directory = /var/spool/mail

##### Damit leiten wir ein/ausgehende und von Postfix abgearbeitete E-Mails an unser Procmail-Script weiter
mailbox_command = /usr/local/bin/procmail /home/imap/.procmailrc

##### optionale Methode, Mails zu transportieren.
#mailbox_transport = lmtp:unix:/file/name

##### Standard Transportmethode bei Fehlern
#fallback_transport = cyrus

##### unzustellbare Mails, werden an diese Adressen geleitet, nicht gebounct
#luser_relay = admin+$local

##### Tabelle mit Filtermustern mit dem Header zu verfahren ist
#header_checks = regexp:/etc/postfix/header_checks

##### fuer diese Domains wird ein extra Logdatei verwendet
#fast_flush_domains =

##### Informationen ueber den SMTP-Server bei Kontakt mit anderen SMTP-Servern (telnet mailserver 25)
#smtpd_banner = $myhostname ESMTP $mail_name

##### Maximale gleichzeitig zugestellte Mails
#local_destination_concurrency_limit = 2

##### Maximale gleichzeitige Verbindungen zu einem Punkt
#default_destination_concurrency_limit = 10

##### Logstufe: je hoeher, desto ausfuehrlicher wird geloggt
#debug_peer_level = 2

##### dies ist die Host/IP-Liste, bei der ausfuehrlicher geloggt wird
#debug_peer_list = 127.0.0.1

##### wenn ihr einen postfix-prozess debuggen wollt, muesst ihr hier die Optionen angeben
#debugger_command =
PATH=/usr/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5

##### Wo ist Sendmail?
#sendmail_path = /usr/local/sbin/sendmail

##### Wo ist das Programm newaliases?
#newaliases_path = /usr/bin/newaliases

##### Wo ist Mailq?
#mailq_path = /usr/local/sbin/mailq

##### ID fuer die Warteschlange
#setgid_group = postdrop

##### Wo befinden sich die Manpages?
#manpage_directory = /usr/local/man

##### Beispieldateien; auch die "richtigen" Konfigurationsdateien sind hier enthalten
#sample_directory = /etc/postfix

##### Die Postfix Readme-Datei
#readme_directory = /usr/local/share/doc/postfix/readme

##### der Name unseres Mailserver: erscheint im Header der E-Mail
mail_name = mailerdaemon(postfix)



Falls bei euch keine /etc/aliases vorhanden sein sollte, kopiert die aus /etc/postfix/aliases nach /etc.
Ich bin es gewoehnt, die aliases+aliasesdb unter /etc vorzufinden.
Habt ihr die Datei kopiert, tippt in die Console: newaliases


5.1.2) master.cf - Details

Ich hab die master.cf wiederrum eingefuegt, und gehe alle Schritte mit euch durch
Die master.cf wird momentan nur aus Performacegruenden veraendert. Spaeter muessen wir sowohl hier, als
auch in der main.cf Optionen fuer unseren Virenkiller anfuegen.

Genererll geht es jetzt darum, unseren Mailserver moeglichst performant zu machen.
"maxproc" gibt an wie viele gleichzeitige Prozesse zugelassen sind....einzelne Module betreffend.
Der Standard "-" steht fuer die Werte in Klammern, somit koennten bei maxproc e.g. 50 gleichzeitige
smtp-Prozesse gestartet sein.
Ihr solltet also abschaetzen, wieviele E-Mails euer Server pro Abruf handeln muss.
Beispiel:

# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# ==========================================================================
smtp inet n - - - 10 smtpd
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - - 300 1 qmgr
#qmgr fifo n - - 300 1 nqmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
flush unix n - - 1000? 0 flush
smtp unix - - - - 10 smtp
showq unix n - - - - showq
error unix - - - - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
# The Cyrus deliver program has changed incompatibly.
#
cyrus unix - n n - - pipe
flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient

Hinweis: Werte hier zu veraendern ist in den meisten Faellen "ueberfluessig". Ein Gewinn
zeigt sich nur bei einer sehr grossen anfallenden Last auf den Server, bzw. falls eine direkte
Anbindung an das Internet vorhanden ist, bietet sich auch die Moeglichkeit den Server vor Attacken
zu schuetzen, welche mit einer Flut an Mails das komplette System auslasten koennten. Hier koennen
wir dann vorsorgen, in dem Postfix explizit mitgeteilt wird, wie viele E-Mails in welcher Zeit
angenommen werden duerfen, usw.


Speichert nun ab und testet Postfix.

WICHTIG: Falls ihr solch grosse Konfigurationen bzw, Aenderungen durchfuehrt, ist es unumgaenglich
in einem weitern Terminal, mitzuloggen.
# tail -f /var/log/maillog

Bevor ihr nun Postfix startet, prueft nochmals, ob
1. sendmail deaktiviert ist (/etc/rc.conf)
2. crontab -l nichts mit clientmqueuerunner enthaelt

Nun startet Postfix:
# /usr/local/sbin/postfix start

Versucht nun eine E-Mail abzuschicken. In meinen Beispiel:
(das soll wirklich nur ein Beispiel sein; nicht dass ich morgen x Testmails in meinem Postfach hab)

$ mail mark@domain.tld
Subject: testmail
das ist eine testmail
.

Nun sollte in eurem 2-ten Terminal etwas Aehnliches stehen:

postfix/smtpd[21771]: connect from clienthostname.domain[192.168.10.2]
postfix/smtpd[21771]: 3ACC662F6: client=clienthostname.domain[192.168.10.2]
postfix/cleanup[15686]: 3ACC662F6: message-id=<20021214140716.35e791d3.root@hostname.domain>
postfix/smtpd[21771]: disconnect from clienthostname.domain[192.168.10.2]
postfix/qmgr[259]: 3ACC662F6: from=<root@hostname.domain>, size=663, nrcpt=1 (queue active)
postfix/smtp[8205]: 3ACC662F6: to=<mark@domain.tld>, relay=127.0.0.1[127.0.0.1], delay=2, status=sent \
(250 Mail accepted for delivery (queued as 26843-4BCF0F46).)
postfix/smtpd[24611]: connect from localhost[127.0.0.1]
postfix/smtpd[24611]: 03EEB630F: client=localhost[127.0.0.1]
postfix/cleanup[15686]: 03EEB630F: message-id=<20021214140716.35e791d3.root@hostname.domain>
postfix/smtpd[24611]: disconnect from localhost[127.0.0.1]
postfix/qmgr[259]: 03EEB630F: from=<root@hostname.domain>, size=1107, nrcpt=1 (queue active)
postfix/smtp[8205]: 03EEB630F: to=<mark@domain.tld>, relay=serverhostname.domain[an.ip.add.ress], delay=0, \
status=sent (250 OK id=18NBzC-0006RP-00)


Klappt alles? Sehr gut. Falls es Probleme gibt, liegt der Fehler zu fast 100% in der /etc/postfix/main.cf und zwar bei
diesem Punkt:
relay_domains = $mydestination

Pruefe, ob du dich evtl. verschrieben hast.
 
5.2) Avmailgate

Nun bauen wir Avmailgate in unseren Mailserver ein.
HINWEIS: Fuer den Key, den ihr spaeter angeben muesst, geht bitte auf http://www.antivir.de/order/privreg/linux.htm
und registriert euch. Ihr erhaltet den Key per E-Mail. Dieser Dienst ist vollkommen kostenlos und bitte nur als
Privatperson zu nutzen. Gewerbliche Kunden muessen hierfuer bezahlen.

$ tar -xzvf avobmgt.tgz
$ cd antivir-mailgate-versionsnummer
$ cd avmailgate

Ihr solltet jetzt mehrere Verzeichnisse wie "bin", "doc", etc sehen.

Fuehrt nun folgende Schritte der Reihe nach aus:

mkdir /usr/lib/AntiVir
cp vdf/antivir.vdf /usr/lib/AntiVir
chown uucp:uucp /usr/lib/AntiVir
chown uucp:uucp /usr/lib/AntiVir/antivir.vdf
cp bin/antivir /usr/lib/AntiVir
chown uucp:uucp /usr/lib/AntiVir/antivir # WICHTIG: Sowohl der User, als auch die Gruppe UUCP muessen v
orhanden sein
cp bin/avgated /usr/local/bin
cp bin/avgatefwd /usr/local/bin
cp etc/avmailgate.conf /etc
cp etc/avmailgate.acl /etc
cp etc/antivir.conf /etc
mkdir /var/spool/avmailgate
chown uucp:uucp /var/spool/avmailgate
chmod 700 /var/spool/avmailgate
cd /var/spool/avmailgate
mkdir incoming
mkdir outgoing
mkdir rejected
chgrp uucp /var/run
cp hbedv.key /usr/lib/AntiVir/avmgate.key # diesen Key benoetigt ihr, dass Avmailgate auch zip files sca
nnt: Ein MUSS
chown uucp:uucp /usr/lib/AntiVir/avmgate.key
cp script/avq /usr/local/bin # benoetigt ihr, um vireninfizierte Mails zu loeschen; mehr am
Ende dieses Kapitels



Damit waere der erste grosse Schritt getan. Jetzt muesst ihr Postfix noch dazu
anregen mit Avmailgate zu kommunizieren.

Dazu fahren wir Postfix erstmal runter....
# /usr/local/sbin/postfix stop

1. In der /etc/services muesst ihr folgendes hinzfuegen:
antivir 10024/tcp #Port for avgated
smtp-backdoor 10025/tcp #Port for postfix backdoor

2. Jetzt oeffnet ihr /etc/avmailgate.conf aendert diese Zeilen:
ListenAddress localhost port antivir
und
ForwardTo SMTP: localhost port smtp-backdoor

Ausserdem solltet ihr noch pruefen, ob

Postmaster postmaster

mit eurem Punkt uebereinstimmt
Obenstehender Punkt gibt an, an wenn die Benachrichtigungsmail geschickt wird, falls ein Virus in einer E-Mail gefunde
n wurde.
Aus Sicherheitsgruenden ist es nicht zu empfehlen die E-Mails an root zu schicken, bzw. das root-Postfach /var/mail/ro
ot
mit root-Rechten zu lesen. Schicken wir die Benachrichtigung doch lieber an den User "imap", den wir im Laufe des Howt
os
noch erstellen werden, und der unseren IMAP-Server verwaltet
Dazu tragen wir folgendes in die /etc/aliases ein:

root: imap

Vergesst nicht nachher:
# newaliases
einzutippen, damit die Datenbank aktualisiert wird


Als Letztes fuegt ihr noch folgende Zeile in /etc/postfix/master.cf
localhost:smtp-backdoor inet n - n - - smtpd -o content_filter=

und diese Zeile in /etc/postfix/main.cf
content_filter = smtp:127.0.0.1:10024

-------------------------------------------------------------------------------------------
Erklaerung:
Was haben wir gemacht? Postfix weiss mit "content_filter = smtp:127.0.0.1:10024", dass auf diesem Rechner auf Port 100
24 ein Dienst
lauscht und auf Postfix wartet. Dieser Dienst ist Avgated. Wie oben beschrieben nimmt Avgated Mails entgegen und gibt
diese
dann an localhost port "smtp-backdoor" weiter. So schliesst sich der Kreis wieder.
-------------------------------------------------------------------------------------------

Wichtig ist, dass Avgated und Avgatefwd VOR Postfix gestartet werden.
# /usr/local/bin/avgated
# /usr/local/bin/avgatefwd
# /usr/local/sbin/pos... HALT !

Erinnert ihr euch noch daran, dass Postfix eine Besonderheit hatte.....Richtig, Postfix laeuft chrooted!
Das heisst, ihr habt zwar die /etc/services allgemein geaendert, aber nicht fuer Postfix. Zur Erinnerung: Postfix hat
auf diese
Datei keinen Zugriff, da sie ausserhalb des "Gefaengnisses" liegt.
Also erst noch die /var/spool/postfix/etc/services aendern

Und jetzt startet Postfix
# /usr/local/sbin/postfix start


In eurem 2-ten Terminal sollte jetzt folgendes stehen:

avgated[8210]: version: AvMailGate-2.0.1.8
avgated[8210]: configuration file: /etc/avmailgate.conf
avgated[8210]: library directory: /usr/lib/AntiVir
avgated[21987]: ready to accept connections on port 10024
avgatefwd[12883]: version: AvMailGate-2.0.1.8
avgatefwd[12883]: configuration file: /etc/avmailgate.conf
avgatefwd[12883]: library directory: /usr/lib/AntiVir
avgatefwd[12883]: engine version: 6.16.0.0
avgatefwd[12883]: vdf version: 6.16.0.4
avgatefwd[12883]: running in private mode
avgatefwd[28158]: Current directory is '/var/spool/avmailgate'.
postfix/postfix-script: starting the Postfix mail system


Nun testen wir nochmal das Mail versenden:
$ mail mark@domain.tld
Subject: testmail mit virenfilter
diese mail wurde auf viren getestet
.


# Um zu pruefen, ob die gerade gesendete E-Mail wirklich auf Viren geprueft wurde, ruft ihr euer externes Postfach auf
e.g web, gmx, etc.... und nehmt euch den Header der E-Mail unter die Lupe.
Ihr solltet etwas in dieser Art finden:

X-AntiVirus: checked by AntiVir MailGate (version: 2.0.1.8; AVE: 6.16.0.0; VDF: 6.16.0.4; host: hostname.domain)

Sollte alles bei euch auch so sein, habt ihr jetzt einen richtig konfigurierten SMTP-Server.

----------------------------------------------------------------------------------------------------
Falls denn mal ein Virus gefunden wird....
Dafuer benoetigt ihr das Tools "avq", dass ihr vorher nach /usr/local/bin kopiert habt. Eine vireninfizierte Datei lie
gt immer unter
/var/spool/avmailgate/rejected und hat eine ID. Zum Loeschen einfach folgenden Befehl ausfuehren:
# /usr/local/bin/avq --remove=ID
Damit ist die infizierte Mail weg und wir haben unsere Ruhe :-)
----------------------------------------------------------------------------------------------------
 
5.3) CourierIMAP

Die Handhabung von CourierIMAP ist denkbar einfach. Ein Teil authentifiziert den User, der die Mailbox oeffnet, bzw da
rin enthaltene Mails
abruft, der Andere ist fuer das Zusammenspiel mit e.g. dem MUA verantwortlich und wacht ueber die sortieren und gespei
cherten E-Mails.
Aber lasst uns nicht lange Reden......fangen wir an :-)

Nach der Installation von CourierIMAP kopiert erstmal den gesamten Ordner /usr/local/share/doc/courier-imap nach /etc
# cp -r /usr/local/share/doc/courier-imap /etc

Anschliessend muesst ihr das SSL-Zertifikat erstellen
Fuehrt dazu folgenden Befehl aus: # /usr/lib/courier-imap/libexec/imapd-ssl.rc

Wechselt jetzt nach /etc/courier-imap
Ihr solltet mehrere Files sehen; wichtig fuer uns sind "authdaemonrc" "imapd" "imapd-ssl"
Wir beginnen mit "authdaemonrc", die darueber entscheidet, wie wir uns spaeter am IMAP-Server anmelden



5.3.1) authdaemonrc - Details

# uns stehen mehrere Authentifizierungsmoeglichkeiten zur Auswahl. Hier verwenden wir "authuserdb"
authmodulelist="authuserdb"

# wir mit obiger Variable gleichgesetzt
authmodulelistorig="authuserdb"

# die Anzahl der gleichzeitig laufenden AuthentifizierungsDaemons. Falls nicht mehr als 20 Mailboxen angesteuert werde
n, reicht einer leicht.
daemons=1

# sind mehrere authdaemond.* vorhanden , bzw. haben die unterschiedliche Versionen, kann man sie hier angeben; ansonst
en wird die erstbeste
# verwendet
version=""

# diese Variable wird von mehreren Scripten und Prozessen verwendet...nicht veraendern!
authdaemonvar=/var/run/courier-imap



5.3.2) imapd - Details

Diese Konfigurationsdatei enthaelt viele Moeglichkeiten, die fuer uns jedoch ohne Bedeutung sind. Wichtige Punkte erkl
aere ich hier


# Die Adresse, auf der CourierIMAP laeuft. 0 ist Standard
ADDRESS=0

# Der Port, auf dem der Daemon lauscht. Wir verwenden zwar spaeter SSL (Port 993), trotzdem soll der Port hier bei 143
bleiben
PORT=143

# Die maximale Anzahl an Verbindung von der selben IP zum IMAP-Server. Besitzt man mehrere Mailboxen, e.g. von Mailing
listen etc., sollte man
# Wert hoeher setzen. Ich hab (aufgrund zahlreicher Mailinglisten) 14 Accounts, also werden beim Start des Mailprogram
ms 14 Verbindungen
# der selben IP aufgebaut.
MAXPERIP=15



5.3.3) imapd-ssl - Details

Ihr benoetigt diese Datei nur, wenn ihr IMAP over SSL nutzen wollt

# der Port, auf dem der IMAPS over SSL lauscht
SSLPORT=993

# die Adresse, auf der CourierIMAP over SSL laeuft. 0 ist ebenfalls Standard
SSLADDRESS=0

Hinweis: Auch hier gilt wieder. Testen. Solle etwas nicht euren Erwartungen entsprechen, testen weiter bzw. aendert
Konfigurationsoptionen ab und seht was rauskomt.


5.3.4) IMAP-User anlegen

Jetzt ist es an der Zeit DEN User anzulegen, der spaeter ueber unsere E-Mails wachen wird. Das Prinzip der "UserDB" be
im CourierIMAP wurde
eingangs schon erklaert; ich fasse nochmal kurz zusammen.
Im /home-Verzeichnis des IMAP-Users legen wir spaeter die einzelnen Mailboxen an. Mir ist das UserDB-Verfahren sehr an
genehm, da es einfach
und gut zu Handhaben ist, zusaetzlich ist der Aufwand minimal. Solltet ihr viele Accounts zu verwalten haben, empfiehl
t sich ein gutes
Datenbankdesign. Moeglichkeiten gibt es dafuer zur Genuege.

Genereller Aufbau einer Maildirs

Ein Maildir besteht aus 5 Verzeichnissen:
cur # keine neuen Mails, aber nochimmer in unserem Postfach zu lesen
new # neue E-Mails, in IMAP-unterstuetzenden Mailprogrammen meist farblich hervorgehoben
tmp # hierhin kommen temporaere Files
.Trash # unser Muelleimer
.Sent # versandte E-Mails

Also legen wir los.

1. Wir legen einen User an (hier: imap)
# useradd -m -d /home/imap -s /bin/sh -p testpasswort imap

2. Wir legen eine leere Datei mit Namen "userdb" an und setzen sie chmod 700, also volles Recht fuer den Besitzer
# touch /etc/userdb
# chmod 700 /etc/userdb

3. Jetzt rufen wir das Script pw2userdb auf -es konvertiert die /etc/passwd-Datei in den userdb-Stil- und schreiben de
n Inhalt in die /etc/userdb
# /usr/local/sbin/pw2userdb > /etc/userdb

4. wir oeffnen /etc/userdb und loeschen ausnahmslos alles bis auf diese Zeile (Umbruch: daher 2 Zeilen)+ (sie muessten
bei euch aehnlich aussehen)
imap gecos=imap|shell=/bin/sh|mail=/home/imap/Maildir-imap|gid=1006|imappw=$1U$n9X2aGqG0tD4wv0|home=/home/imap|syst
empw=*|uid=1006
1006= imap

5. prueft nochmals, ob /etc/userdb, chmod 700 besitzt. Falls nein: # chmod 700 /etc/userdb

6. Nun erstellen wir die Maildirs. Als erstes solltet ihr euch logischerweise ueberlegen, wie viel ihr braucht. Das is
t e.g abhaengig, ob ihr fuer
jede Mailinglist, User, usw. ein eigenes Postfach erstellen wollt, etc....

Wir nehmen hier als Beispiel das Postfach "testpostfach"
Als User "imap", muessen wir nun die einzelnen Maildirs erstellen, die spaeter unsere vielen Mails speichern sollen.
Erst wechseln wir mal zum User "imap".

# su imap

Nun benoetigt ihr das Tool "maildirmake". Ich hab damals gesucht (es ist nicht Teil von CourierIMAP), dabei ist die Lo
esung des Problems ganz
einfach. Wir erstellen uns das Programm einfach selbst. Ich hab das mal fuer euch gemacht

#!/bin/sh
# maildirmake -- creates a maildir
mkdir -p Maildir-$1/new Maildir-$1/cur Maildir-$1/tmp && chmod -R 700 Maildir-$1

Speichert das Programm ab und macht es ausfuehrbar:
$ chmod +x maildirmake

Verschiebt das Programm e.g nach /usr/local/bin und tippt dann folgendes:
WICHTIG: Ihr muesst immernoch im IMAP-User-Verzeichnis sein /home/imap

$ /usr/local/bin/maildirmake testpostfach

--------------------------------------------------------------------------------------------------------
HINWEIS:
Fuer alle, die nicht so firm mit der Shellprogrammierung sind: $1 steht fuer den ersten Wert, bzw das erste Wort nach
dem eigentlichen
Programmnamen. Wuerde ich also:
$ /usr/sbin/maildirmake hallo

tippen, bekaeme ich das Postfach "Maildir-hallo". Zusammengesetzt aus "Maildir-" und $1, was fuer hallo steht.
--------------------------------------------------------------------------------------------------------

Schon steht das erste Postfach. Wenn ihr jetzt $ cd Maildir-testpostfach tippt, seht ihr die Verzeichnisse "cur" "new"
"tmp". Rest kommt spaeter
Als naechstes wechseln wir wieder zu root, tippt dazu einfach
$ exit

Wir benoetigen ein weiters Programm, was sich aus mehreren Befehlen zusammensaetzt und viel Schreibarbeit erledigt. Ic
h hab es wiederrum fuer
euch geschrieben (bzw auch fuer mich, da ich ja auch schreibfaul bin :-)

#!/bin/sh
# mdiruser - sets useraccount & password
/usr/local/sbin/userdb "$1" set home=/home/imap mail=/home/imap/Maildir-$1 uid=1006 gid=1006
/usr/local/sbin/userdbpw -md5 | /usr/local/sbin/userdb "$1" set imappw
/usr/local/sbin/makeuserdb

Speichert auch dieses Programm ab (verwende hier den Namen "mdiruser") und setzt es chmod +x, damit es ausfuehrbar ist
$ chmod +x mdiruser

Verschiebt "mdiruser" ebenfalls nach e.g. /usr/local/bin/ (am Besten, wo maildirmake liegt) und fuehrt diesen Befehl a
us

# /usr/local/bin/mdiruser testpostfach

Ihr werdet dann aufgefordert ein Passwort einzutippen. Merkt es euch gut, ihr benoetigt es spaeter fuer den Zugang zum
Postfach

Oeffnet ihr jetzt /etc/userdb, seht ihr neben "imap" einen weiteren Account, naemlich "testpostfach", welcher gleich a
ufgebaut ist

# cat /etc/userdb


Jetzt seit ihr bereit CourierIMAP das erste Mal zu starten. Wichtig hierbei ist ebenfalls wieder das 2-te Terminal im
Auge zu behalten
Zuerst muesst ihr bei jedem Neustart des Rechners, bzw. wenn der Authdaemond abgeschalten wird, erneut das Verzeichnis
/var/run/courier-imap
erstellen. Die beiden anderen Befehle erklaeren sich von selbst

# mkdir /var/run/courier-imap
# /usr/local/libexec/authlib/authdaemond start
# /usr/local/libexec/imapd-ssl.rc start

Hat alles funktioniert, sollte in /var/log/messages folgendes erscheinen:

authdaemond.plain: authdaemon: modules="authuserdb", daemons=1

pruefen e.g. ob auch der richtige IMAP Port benutzt wird, koennt ihr per

# netstat -a

Es sollte nun auf Port 993 "gelauscht" werden.
Testen koennt ihr das jetzt, indem ihr euch einen Mailclient eurer Wahl sucht (bzw. einen der IMAP over SSL) unterstue
tzt und dann euer Postfach
einrichtet:

Server: hostname
User: testpostfach
Passwort: euerpasswort

WICHTIG: Der User ist nicht -wie es den Anschein haben koennte- "imap" sondern der, nachdem das Maildir benannt wurde;
also das Wort nach "Maildir-"
In unserem Fall eben "testpostfach"

Sollte alles funktionieren, erscheint unter /var/log/maillog

imapd-ssl: Connection, ip=[::ffff:192.168.10.2]
imapd-ssl: LOGIN, user=testpostfach, ip=[::ffff:192.168.10.2]

(eure IP ist natuerlich anders :-)

Damit ist euer eigener IMAP-Server ebenfalls einsatzbereit
 
5.4) Procmail

Procmail kommt erst durch diese Zeile in der "main.cf" von Postfix zum Einsatz:

mailbox_command = /usr/local/bin/procmail /home/imap/.procmailrc


Wie ihr seht wird aber nicht nur Procmail, sondern auch ein Script gestartet, bzw. von Procmail aufgerufen
Diese Konfiguration fuehrt ihr ebenfalls mit dem "imap"-user durch und auch in /home/imap

# su imap

Die Steuerdatei, bzw. das File, welches saemtliche Regeln zur Filterung unserer E-Mails enthaelt, heisst .procmailrc u
nd befindet sich -wie
schon angesprochen- unter /home/imap. Ich werde hier etwas in die Filterfunktionnen von Procmail einsteigen, aber bei
Weitem nicht den vollen
Funktionsumfang ausschoepfen.

Unsere .procmailrc enthaelt mindestens eine Verweis auf eine Logdatei, die wir natuerlich vorher anlegen muessen.
Das kann bei Fehlern der Regelketten viel Zeit bei der Suche ersparen.

$ mkdir .Procmail
$ touch procmail.log


LOGFILE=/home/imap/.Procmail/procmail.log



5.4.1) Aufbau einer Regel

:0 [Flags]
[* Suchmuster]
Anweisung


Beispiel:

Alle E-Mails, die To: oder Cc: an test@test.de gerichtet sind, werden nach /home/imap/Maildir-testpostfach transferier
t

:0
* ^TO.*test@test.de
/home/imap/Maildir-testpostfach


Enthaelt die E-Mail e.g das Wort "wichtig" im Betreff, soll sie sofort an "wichtigemails@daheim.de" gesendet werden

:0
* ^Subject.*wichtig
!wichtigemails@daheim.de


Sehr praktisch ist auch das Filtern nach bestimmten Groessen; hier werden alle Mails grosser als 500kb nach /home/imap
/Maildir-grossemails
geschickt.

:0
* > 500000
/home/imap/Maildir-grossemails



Man muss sich den Ablauf bzw. Durchlauf der .procmailrc von oben nach unten vorstellen. Trifft auf dem Weg von oben na
ch unten eine Regel zu
wird darauf eingegangen.
Was waere jetzt, wenn wir eine E-Mail bekommen, die sowohl in das eine Postfach soll (weil sich wichtig ist), als auch
in das normale Postfach
gehen soll, damit der User eine "Kopie" davon erhaelt. Eigentlich waere sie jetzt weg; die erste Regel trifft zu, die
zweite wird also nicht
mehr beachtet. Doch auch hier gibt es eine Loesung. Das c-Flag

:0 c
* ^Subject.*wichtig
/home/imap/Maildir-wichtigemails

:0
* ^To.*test@test.de
/home/imap/Maildir-testpostfach


Das "c"-Flag steht fuer KOPIE; somit wird ein 1:1 Abdruck der Mail gemacht und gelangt noch ins Maildir-testpostfach


Ihr solltet einfach ein wenig mit der .procmailrc spielen. Fuer einfach Mailfilterung reichen obenstehende Beispiele
Nehmen wir an du hast einen Account bei web.de: weihnachtsmann@web.de
Alle Mails, die an diese Adresse gehen, sollen in das zuvor erstelle IMAP-Postfach "Maildir-weihnachtsmann" gehen
Folgende .procmailrc waere richtig:

LOGFILE=/home/imap/.Procmail/procmail.log

# weihnachtsmann
:0
* ^TO.*weihnachtsmann@web.de
/home/imap/Maildir-weihnachtsmann


Viel Spass beim tuefteln. Bei Procmail gibt es viel zu entdecken.

-----------------------------------------------------------------------------------------------------------
HINWEIS:
Mails, die keine passende Regel in der Liste finden, koennen entweder am Ende geloescht werden (anstatt /home/imap/Mai
ldir-testpostfach, /dev/null)
oder tauchen im Standard-Postfach des "imap"-Users auf. Damit der "imap"-User Post bekommen kann und keine Fehlermeldu
ngen auftreten, muessen
wir vorher einen leere Datei anlegen

# touch /var/mail/imap
# chown imap /var/mail/imap
# chmod 600 /var/mail/imap

da, der User "imap" keine Berechtigung hat, Dateien in /var/mail anzulegen...ist ja auch gut so
------------------------------------------------------------------------------------------------------------

Damit waere unsere procmailrc fertig und wir koennen uns dem letzen Thema witmen...Fetchmail
 
5.5) Fetchmail

Fetchmail ruft unsere externen E-Mails ab, und gibt sie an Postfix weiter. Fetchmail spricht die .fetchmailrc im Home-
Verzeichnis des Users
an; in unserem Fall "imap"
HINWEIS: Auch die .fetchmailrc muss unter /home/imap liegen.


Grundlegende Funktionen von Fetchmail:

poll server
# gibt den server an, von dem wir die mails holen

protocol pop3
# gibt das protokoll an mit dem wird unsere mails abholfen (i.d.r. pop3)

user testuser
# username fuer den account beim isp

password geheim
# passwort fuer den account beim isp

mda "application"
# damit koennen wir die mail an einen mail delivery agent (mda) weiterleiten

keep
# damit koennen wir mails am server belassen

silent
# informationen ueber den abruf der mails werden unterbunden

options
# wir geben optionen mit auf den weg

ssl
# wir rufen die e-mails ueber eine ssl verbindung ab



Ein Beispiel:

poll domain.tld protocol pop3 user mark password geheim options ssl


Was sagt diese Regel in kurzen Saetzen aus?
Wir versuchen eine E-Mail (falls vorhanden) vom Server domain.tld ueber das Protokoll POP3 abzurufen. Dazu loggen wir
uns auf dem Remotehost
per "User: mark" und "Passwort: geheim" ein. Als Option fuer den Abruf verwenden wir eine SSL-Verschluesselung

Die Abgerufenen E-Mails werden von "smtpd" entgegengenommen und den Rest kennt ihr vom Ablaufplan, siehe Punkt 4)



Ein finaler TEST.

als User "imap" tippen wir folgendes:

$ fetchmail -a -v


Spielen nun alle vorher angesprochenen und dargestellten Programme gut zusammen, dann sollte in wenigen Sekunden eine
E-Mail (falls vorhanden) in
deinem IMAP-Postfach "Maildir-testpostfach" sein.
 
6) Nuetzliches

Da es recht unpraktisch waere, staendig einen Befehl zum Mails fetchen eingeben zu muessen, lassen wir diese Arbeit ze
itgesteuert Crontab
erledigen.
Wichtig ist hierbei ebenfalls wiederrum, dass die Crontab mit dem User "imap" veraendert wird

# su imap
$ crontab -

l listet den Inhalt der aktuellen Crontab-Datei auf
r loescht die derzeitige Crontab-Datei
e ruft einen Editor auf; damit kann man eine neue Crontab-Datei erstellen

Beispiel:
---------

*/30 * * * * kommando

1 2 3 4 5 6


1. minuten (0-59)
2. stunden (0-23)
3. tag des monats (1-31)
4. monat (1-12)
5. tag der woche (0-6 wobei 0 f\xfcr sonntag steht)

# um zurueck zu unserem automatisierten Mailabholen zu kommen:
# folgender Eintrag ist in der /etc/crontab zu machen um alle 2 Stunden zwischen 8 und 22 Uhr, Mails abzuholen


0 8-22/2 * * * /usr/local/bin/fetchmail -a -v >> /var/log/fetchmail 2>&1

# damit werden alle 30 minuten mails abgerufen mit der option "-v" werden die logs in die datei
# /var/log/fetchmail geschrieben und somit protokolliert

-------------------------------------------------------------------------------------------------------
HINWEIS:
Testet dieses automatisierte Mailabrufen bitte erst, wenn ihr euch sicher seid, dass der Mailserver korrekt funktionie
rt.
Andernfalls, koennte es sein, dass eingehende Mails gebounct werden, oder verloren gehen, waehrend ihr e.g. in der Arb
eit oder Schule
seit.
-------------------------------------------------------------------------------------------------------


Ebenfalls muessen alle Dienste nach dem Reboot des Servers korrekt gestartet werden. Dazu hab ich bei mir folgendes in
die /etc/rc.local
eingetragen (generell sollte man immer erst pruefen, ob die entsprechende Datei (Binary) vorhanden ist...da ich das je
doch weiss, uebergehe
ich diesen Punkt)

Fuer alle, die eine Ueberpruefung wollen:

if [ -x /pfad/befehl ]; then
/pfad/befehl
fi


# Hiermit werden Avmailgate, der Authdaemon und der IMAP-Server gestartet(Postfix startet sich von selbst)
/usr/local/bin/avgated
/usr/local/bin/avgatefwd
mkdir /var/run/courier-imap
/usr/local/libexec/authlib/authdaemond start
/usr/local/libexec/imapd-ssl.rc start


Wichtige Regeln, die ihr euch merken solltet:

1. AvMailgate ist ein Virenkiller und diese werden ja bekanntlich regelmaessig geupdated. Macht das mit eurem Virenkil
ler ebenfalls,
denn nur auf dem neusten Stand kann er euch wirklich helfen
2. Die wichtigsten Kommandos der naechsten Zeit sollten: mailq (Warteschlange), tail -f /var/log/maillog, tail -f /var
/log/messages sein
 
Zurück
Oben