|
The more I see, the more I know
The more I know, the less I understand |
|
|
|||
|
HinweisMit neueren Version von courier-authlib wurde die Unterstützung von vpopmail gestoppt.
Um dieses Howto erfolgreich zu betreiben, benötigt man also eine ältere Version von courier-authlib. Dennoch ist das natürlich keine langfristige, stabile Lösung.
Gentoo Qmail HowtoFür Linux Systeme und so auch Gentoo stehen mindestens vier Email Server (MTAs) zur Verfügung:
1) VorbereitungVor der eigentlichen Installation passe ich bereits die gewünschten USE-Flags und Keywords an, damit wir später bei der Installation nicht mehr manuell eingreifen müssen: www ~ # cat /etc/portage/package.use Sowie die Keywords Datei: www ~ # cat /etc/portage/package.keywords
2) Installation der benötigten Packete"ssmtp" deinstallierenPer Default hat Gentoo einen Mini SMTP Server installiert. Früher oder später wird dieses mit netqmail in Konflikt treten, daher deinstallieren wir ihn. www ~ # emerge --unmerge ssmtp
netqmail und vpopmail installieren www ~ # emerge -pv netqmail vpopmail
Courier Imap/Pop3 Server Außerdem mergen wir die courier-authlib mit, da wir dieses Paket zur Abfrage der Logindaten für Imapd & smtp benutzen. Courier hat jedoch in neueren Version die Unterstützung für vpopmail gestrichen. Wir behelfen uns damit, daß wir Versionen über 0.58 maskieren: in " /etc/portage/package.mask" eintragen:
www ~ # emerge -pv courier-authlib courier-imap
Spamassasin & clamav www ~ # emerge -pv spamassassin clamav
3) Installation von Qmail3.1) Qmail konfigurieren Zunächst das Server Zertifikat anpassen: /var/qmail/control/servercert.cnf anschliessend werden die Grundeinstellungen von Qmail vorgemommen. Dieses passiert mehr oder minder automatisch durch aufruf des Configuration Scriptes www ~ # emerge --config =mail-mta/netqmail-1.05-r8
www ~ # ln -s /var/qmail/supervise/qmail-send /service/qmail-send
3.3) Qmail anpassen Qmail ist sehr modular aufgebaut und dieses zeigt sich auch in den Config Dateien. Man findet für jeden Bereich von Qmail eine eigene Config Datei in /var/qmail. Zunächst die allgemeine Datei: /var/qmail/control/conf-common Die Softlimit Option bestimmt wieviel speicher sich Qmail holen kann. Dieses beinhaltet auch das Scannen von Archiven später mit Qmail-scanner. Daher eher höher setzen: SOFTLIMIT_OPTS="-m 256000000"
Dann die Config Datei für den smtp Prozess: /var/qmail/control/conf-smtpd Bei Bedarf/auf Wunsch kann qmail bereits beim SMTP Connect eine Anfrage bei einer Blacklist tätigen. ich frage die Blacklist von Spamcop ab, eine Liste gibt es bei: #QMAIL_SMTP_PRE="${QMAIL_SMTP_PRE} rblsmtpd -r RBL-SERVER" Außerdem wird hier auch die SMTP Auth konfiguriert. Relativ am Ende der Datei stehen mehrere (auskommentierte) Beispiele. Dort fügen wir ein: QMAIL_SMTP_CHECKPASSWORD="/var/vpopmail/bin/vchkpw"
3.4) svscan starten Wie oben erwähnt wird Qmail indirekt über svscan gestartet. Dieses müssen wir nun noch in die Runlevels eintragen. www ~ # rc-update add svscan default
3.5) qmail-spp Wir hatten Qmail ja mit spp support kompiliert. spp steht für SMTP plugin patch und erlaubt das aufführen von Scripts für jeden Teil des SMTP Prozesses. Eine genaue Erklärung gibt es hier: http://qmail-spp.sourceforge.net/ Welche Scripte benutzt werden, wird in der Datei /var/qmail/control/smtpplugins eingestellt. Ich empfehle zunächst einmal Überprüfung der Empfängeradresse beim SMTP Dialog, dadurch ersparen wir uns die ganzen Bounce und Doublebounce Messages. Das Script findet man hier: http://www.maiers.de/qmail/art38,71.html?fCMS=af8e0106bfeed5cef928cb6aa173e374 roi Einfach in /var/qmail/plugins kopieren und mittels "chmod +x" ausführbar machen. Die /var/qmail/control/smtpplugins wie folgt anpassen: # plugins to execute on RCPT command
und nun noch diverse Rechte richtig und einige Dateien kopieren setzen in /var/vpopmail/bin: www bin # chmod +s vuserinfo vdominfo valias
4) Installation von Courier-Authlib und Imap4.1) Courier-Authlib anpassen, damit es mit vpopmail zusammenarbeitet /etc/courier/authlib/authdaemonrc Zeile 27: authmodulelist="authvchkpw"
/etc/courier-imap/imapd.cnf
Nun die Zertikate erstellen: mkimapdcert
4.3) Courier Authlib und Imap starten /etc/init.d/courier-authlib start
4.4) Courier Authlib und Imap den Runlevel hinzufügen # rc-update add courier-authlib default
5) SimScan installierenQmail verfügt selber über keine Möglichkeiten Emails zu überprüfen, sei es auf Viren oder um Spam zu erkennen. Dazu wird ein externes Programm benötigt, daß die Viren- und Spamscanner dann aufruft. In der Vergangenheit war dazu qmail-scanner die Wahl der Stunde, nur seit der Version 2.0 sind die Ebuilds voller Fehler und auch die gefixten Version in der Bug Sektion sind nicht 100% fehlerfrei. Mit Simscan steht eine alternative zur Verfügung, die mir persönlich besser gefällt. Installieren: # emerge -pv simscan Nun noch clamav der Simscan Gruppe hinzufügen: usermod -G simscan clamav /etc/tcprules.d/tcp.qmail-smtp Die Zeile ":allow" suchen und auskommentieren Dann steht zum schluss: <IP vom eigenen Server>:allow,RELAYCLIENT="",RBLSMTPD="" Also von lokal (weiter oben steht auch localhost) ist relayen erlaubt und es wird kein simscan aufgerfen, bei allen anderen ist relayen nicht erlaubt und simscan wird aufgerufen. Ohne den "NoPOFCheck" stürzt simscan leider mit einem [pid XXXX] --- SIGSEGV (Segmentation fault) @ 0 (0) - ab Nach jeder Veränderung muss die eigentliche Datei neu geschrieben werden. Sonst sind die Änderungen nicht aktiv: tcprules /etc/tcprules.d/tcp.qmail-smtp.cdb /etc/tcprules.d/.tcp.qmail-smtp.tmp < /etc/tcprules.d/tcp.qmail-smtp Damit clamav mit simscan vernünftig funktioniert, empfiehlt es sich, clamav unter dem Usernamen "simscan" laufen zu lassen. Es gibt einige patches im Netz, damit man das auch über die Gruppenzugehörigkeit machen kann. Die Rechteprobleme erkennt man an: imscan: runned_scanners is attach: 1.3.1 clamav: 0.91.2/m:44/d:44 Hintergrund ist der, daß die Dateien zum scannen mit den rechten "simscan:simscan" und 600 angelegt werden. Das wir vorher als clamav der Gruppe hinzugefügt haben, hilft leider nicht. Patches und eine detaillierte erklärung gibt es hier: http://qmail.jms1.net/simscan/ /etc/clamd.conf #User clamav
/etc/freshclam.conf #User clamav Erst jetzt darf man clamav starten. Wenn man das vorher gemacht hat, dann hat /var/run/clamav die falschen Rechte und der Daemon stirbt gleich nach dem Start wieder (kann man mit /etc/init.d/clamav status überprüfen) chmod -R simscan:clamav /var/lib/clamav www run # QMAILQUEUE=/var/qmail/bin/simscan SIMSCAN_DEBUG=1 NOP0FCHECK=1 /var/qmail/bin/qmail-inject email@domain < /root/mailtest.txt
Spamd anpassen /etc/conf.d/spamd # SPAMD_OPTS="-m 5 -c -H" und mit rc-update add spamd default dem Runlevel zufügen |
||