Postfix mit smtp-auth, Imap, Confixx) howto+ Mbox 2 Maildir

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Force
Beiträge: 15
Registriert: 26.06.2003 18:22:24

Postfix mit smtp-auth, Imap, Confixx) howto+ Mbox 2 Maildir

Beitrag von Force » 26.06.2003 18:29:31

Habe mal mir aus verschiedenen Quellen unter anderen dieses Forum ein Howto zusammengebastelt welches bei mir auf einen Debian 3.0r1 stable System funktioniert.
Ich beschreibe hier die nötigen Schritte um Postfix mit smtp-auth einzurichten.
Postfix läuft hierbei in einer chroot umgebung.
Ich behaupte nicht das diese Anleitung sicher ist!

Aber denke das sie nicht alzu unsicher ist.

Postfix mit SMTP-Auth + Confixx

Als erstes installieren wir die benötigten Pakete:

Code: Alles auswählen

apt-get install postfix-tls \
qpopper \
sasl-bin \
libsasl-modules-plain \
libsasl7 \
libsasl-gssapi-mit \
libsasl-digestmd5-des
Jetzt legen wir das Startscript für pwcheck an
In der Datei /etc/init.d/pwcheck muss folgendes rein.

Code: Alles auswählen

#! /bin/sh
#
# pwcheck       Startet pwcheck für SMTP-Auth mit Postfix
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/pwcheck
NAME=pwcheck
DESC="pwcheck daemon"

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: $NAME"
        ln -s /var/spool/postfix/var/run/pwcheck /var/run/pwcheck
        $DAEMON
        echo "."
        ;;
  stop)
        echo -n "Stopping $DESC: $NAME "
        rm /var/run/pwcheck
        /usr/bin/killall -KILL $NAME
        echo "."
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop}" >&2
        exit 1
        ;;
esac

exit 0
oder hier downloaden
http://hanselan.de/postfix/pwcheck
bzw.

Code: Alles auswählen

cd /etc/init.d/; \
wget http://hanselan.de/postfix/pwcheck
Jetzt müssen wir noch die rechte der neu angelegten Datei ändern.

Code: Alles auswählen

chmod 755 /etc/init.d/pwcheck
Damit pwcheck beim booten gestartet wird noch folgendes machen.

Code: Alles auswählen

ln -s /etc/init.d/pwcheck /etc/rc0.d/K20pwcheck; \
ln -s /etc/init.d/pwcheck /etc/rc1.d/K20pwcheck; \ 
ln -s /etc/init.d/pwcheck /etc/rc2.d/S20pwcheck; \
ln -s /etc/init.d/pwcheck /etc/rc3.d/S20pwcheck; \
ln -s /etc/init.d/pwcheck /etc/rc4.d/S20pwcheck; \
ln -s /etc/init.d/pwcheck /etc/rc5.d/S20pwcheck; \
ln -s /etc/init.d/pwcheck /etc/rc6.d/K20pwcheck
Ein paar Verzeichnisse sind noch von nöten da Postfix in einer chroot umgebung läuft.

Code: Alles auswählen

mkdir -p /var/spool/postfix/var/run/pwcheck; \
chown postfix.root /var/spool/postfix/var/run/pwcheck/; \
chmod 700  /var/spool/postfix/var/run/pwcheck/
Jetzt bringen wir Postfix smtp-auth bei

Code: Alles auswählen

postconf -e 'smtpd_sasl_local_domain=$myhostname'; \
postconf -e 'smtpd_sasl_auth_enable=yes'; \
postconf -e 'amtpd_sasl_security_options=noanonymous'; \ 
postconf -e 'broken_sasl_auth_clients=yes'; \
postconf -e 'smtpd_recipient_restrictions=permit_sasl_authenticated, permit_mynetworks, check_relay_domains'
Postfix möchte auch noch wissen welche pwcheck Methode wir benutzen wollen.

Code: Alles auswählen

echo 'pwcheck_method: pwcheck' >> /etc/postfix/sasl/smtpd.conf
Jetzt starten wir pwcheck und Postfix neu und schon müste es gehen.

Code: Alles auswählen

/etc/init.d/pwcheck start; \
/etc/init.d/postfix restart
Confixx 1
Wenn confixx auf den Server läuft muss noch folgendes ausgeführt werden

Code: Alles auswählen

/root/confixx/admin/subs/postfix_install.pl
Hiermit solte die Installation von Postfix mit SMTP-Auth
und eventuell die einbindung in Confixx abgeschlossen sein.

Für leute die faul sind habe ich ein kleines skript geschrieben wo alle befehle aufgereit sind.
Somit geht es fast automatisch.

Code: Alles auswählen

wget http://hanselan.de/postfix/postfix-install  ;
chmod +x postfix-install;
./postfix-install
Courier Imap und Umstellung auf Emailspeicherung im Maildirformat (+Confixx)

Damit Postfix die Emails im Maildir format speichert muss folgendes gemacht werden.

Code: Alles auswählen

postconf -e 'home_mailbox = Maildir/';
so jetzt muss noch Courier installiert werden.

Ich verwende die Pakete mit der SSL unterstützung.
Hier kann man zusätzlich zu POP und IMAP noch verschlüsselt die Emails abrufen.
Standardmäßig ist hier ein provisorisches Certiifikat aber ich denke das dennoch besser als keine verschlüsselung zu haben.

Code: Alles auswählen

apt-get install courier-imap-ssl courier-pop-ssl
Confixx 2

Wenn ihr Confixx auf euren Server habt dann müste ihr noch folgende 2 variablenwie folgend in der confixx_main.conf anpassen.

Code: Alles auswählen

$pop_homeDir = '/home/mail/';
$mail_realHome = '1';
Convertieren bestehender Email Konten im Mbox format zum Maildir Format

Wenn ihr bereits user mit emailboxen habt dann müste ihr erst die mailboxen ins neue maildirformat convertieren um Imap nutzen zu können.

als erstes müst ihr die bestehenden emailboxen sichern
z.B.

Code: Alles auswählen

tar czf /root/mail-backup.tar.gz /var/mail/
Ich habe mir dazu ein script geschrieben welches das erledigt.
Dieses benutzt man wie folgt.

Als erstes laden wir das script in das Verzeichnis wo die mailboxen sind runter und ändern die rechte.

Code: Alles auswählen

cd /var/mail/; \
wget http://hanselan.de/postfix/mbox2maildir ; \
chmod 700 /var/mail/mbox2maildir
Jetzt laden wir das eingentliche Converter script runter welches ich benutzt habe in meinem script und ändern auch die rechte.
näheres zu den script auf http://batleth.sapienti-sat.org/projects/mb2md/

Code: Alles auswählen

cd /tmp/; \
wget http://batleth.sapienti-sat.org/projects/mb2md/mb2md-3.10.pl.gz; \
gunzip mb2md-3.10.pl.gz; \
chmod 700 /tmp/mb2md-3.10.pl
Diese script braucht noch ein Paket

Code: Alles auswählen

apt-get install libtimedate-perl
Jetzt braucht ihr nur noch mein script aufrufen

Code: Alles auswählen

cd /var/mail/; \
./mbox2maildir
So das wars.
Wenn ihr eine neuere Version von den mb2md script habt oder ihr ein andere verzeichniss als /var/mail/ und /home/mail/ verwendet dann müst ihr nur die Variablen in meinem script ändern.


Ich hoffe die Anleitung konnte euch helfen.
Würde mich freuen wenn wir sie noch ein bisschen verbessern könnten.
Zuletzt geändert von Force am 17.12.2003 16:07:04, insgesamt 15-mal geändert.

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 26.06.2003 18:41:29

Hi Force,

schreibt das vielleicht nochmal ins WiKi (bei den Tipps http://www.debianforum.de/wiki/Tipps ), dann kann man das auch in ein paar Wochen noch gut finden.

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Force
Beiträge: 15
Registriert: 26.06.2003 18:22:24

Beitrag von Force » 27.06.2003 18:47:05

Ok habe ich gemacht
http://www.debianforum.de/wiki/?page=Postfix+SMTP-AUTH
Hoffe das ist so ok.
Würde mich freuen wenn jemand schreiben könnte ob das was ich geschrieben habe ok ist oder fehler beinhaltet

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 29.06.2003 00:31:36

Hi Force,

ich will mich in den kommenden Wochen noch ein bischen mit smtp auth beschäftigen. Da werd ich dann mal auf deine Anleitung zurück kommen...

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Force
Beiträge: 15
Registriert: 26.06.2003 18:22:24

Beitrag von Force » 01.07.2003 18:11:07

Habe das Howto nochmal erweitert.

Habe noch beschrieben wie man statt dem mbox format das maildir format nutzt.
Und wie man es Confixx beibgringt.

Im tipps bereich werde ichd as howto auch noch anpassen.

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 01.07.2003 18:39:00

Hi,

also wenn du das gleich immer im WiKi ändern könntest dann wäre das richtig toll :-)

Eins frag ich mich aber noch: von wo nimmt pwcheck username & passwort? Aus der komischen Datei die da irgendo unter /etc liegt und von saslpasswd angelegt wird?

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Force
Beiträge: 15
Registriert: 26.06.2003 18:22:24

änderung des wiki

Beitrag von Force » 14.07.2003 18:02:34

So habe jetzt die Anleitung im Tippsbereich angepasst.
http://www.debianforum.de/wiki/?page=Postfix+SMTP-AUTH

hpschulz
Beiträge: 3
Registriert: 18.07.2003 14:59:16
Kontaktdaten:

Beitrag von hpschulz » 18.07.2003 15:04:05

Hallo Leute,

ich habe nach Euren klasse Howto Postfix installiert auf einem nackten woody.

Ich konnte auch erfolgreich Mails von Aussen über meinen Server versenden.
Da ich vorher diverse Schwierigkeiten damit hatte, habe ich testweise meinen Server rebootet und was soll ich sagen: das relaying funktioniert nimmer, ich bekomme einen

Code: Alles auswählen

SASL LOGIN authentication failed
Fehler.

pwcheck läuft anscheinend, das PID-File hat sich ja geändert, als ich den daemon mal angehalten habe und neu gestartet habe.

Habt Ihr vielleicht ne Idee??

Danke für Eure Hilfe.

Greetz
hps[/quote]

Force
Beiträge: 15
Registriert: 26.06.2003 18:22:24

Beitrag von Force » 18.07.2003 16:50:42

Habe den fehler gefunden.

bei einem Neustart des Systems wird der Symlink unter /var/run gelöscht.

Habe das Start Stop script verändert und damit sollte der fehler behoben sein.

du bekommst das veränderte script unter
http://hanselan.de/postfix/pwcheck

p.s.
ich habe nach Euren klasse Howto Postfix installiert auf einem nackten woody.
Bin ich mehrzahl ?

Force
Beiträge: 15
Registriert: 26.06.2003 18:22:24

Beitrag von Force » 18.07.2003 20:34:35

So habe das Howto um Imap mit Maildir (+Confixx) und die convertierung von Mbox Formaten in Maildirs erweitert.
irgendwann demnächst Änder ich das noch in der Tipps sektion.
Ist immer soviel doppelter aufwand :-(

Schreibt mal bitte was ihr von dieses Howto haltet.

hpschulz
Beiträge: 3
Registriert: 18.07.2003 14:59:16
Kontaktdaten:

Beitrag von hpschulz » 18.07.2003 21:13:23

Hallo,

hab Dein Script neu geladen und....... Es funktioniert! Mega THX!!
Force hat geschrieben: p.s.
ich habe nach Euren klasse Howto Postfix installiert auf einem nackten woody.
Bin ich mehrzahl ?
Falls ich Dich damit verärgert haben sollte, entschuldige ich mich in aller Form. Mir ist schon bewusst, aus welcher Quelle das Howto stammt. Es soll dementsprechend gewürdigt werden.

Und wo wir dabei sind: dieses Howto ist das am leichtesten umzusetzende, was ich bisher gelesen und selbst angewendet habe. Ich wollte Dich daher bitten, dieses Howto unter Angabe der Quellen auf Rootforum.de zu veröffentlichen zu dürfen. Selbstverständlich könnten die nötigen Files dazu auch woanders gehostet werden.

Also nochmals: Many THX!

Greetz
hps (Peter)

hpschulz
Beiträge: 3
Registriert: 18.07.2003 14:59:16
Kontaktdaten:

Beitrag von hpschulz » 18.07.2003 22:48:14

Hallölle,
blackm hat geschrieben:Hi,

also wenn du das gleich immer im WiKi ändern könntest dann wäre das richtig toll :-)

Eins frag ich mich aber noch: von wo nimmt pwcheck username & passwort? Aus der komischen Datei die da irgendo unter /etc liegt und von saslpasswd angelegt wird?

by, Martin
als ein Woody-Neuling kann ich nur sagen, das ich keine sasldb habe, somit kann pwcheck auch darauf nicht zugreifen.

Da "man pwcheck" hier nicht wirklich weiterhilft, kann ich nur vermuten, das er evtl. /etc/passwd zur Hilfe nimmt??

Greetz
hps (der debian immer besser findet und dabei bleibt)

tobi79
Beiträge: 2
Registriert: 29.07.2003 11:25:20
Kontaktdaten:

Beitrag von tobi79 » 29.07.2003 11:30:17

hi,

also erstmal ein DANKE an Force für dieses Howto.
Ich habe gerade noch probleme mit dem pwcheck meines erachtens läuft der bei mir nicht wenn ich ihn starte. Kenn jemand dieses Problem. Ich weis das ich nicht viele infos gebe aber ich weis einfach nicht welche ich posten soll.

Danke

Tobi

tobi79
Beiträge: 2
Registriert: 29.07.2003 11:25:20
Kontaktdaten:

Beitrag von tobi79 » 29.07.2003 13:00:59

nachtrag: Ich habe gerade festgestellt das der daemon eintrag in /etc/init.d/pwcheck ins leere zeigt! Es gibt bei mir also keine datei namens pwcheck in /usr/sbin. Auch keine mit der bezeichnung pwcheck_pam!

tobi

dazk
Beiträge: 1
Registriert: 30.07.2003 19:26:53

Beitrag von dazk » 30.07.2003 19:30:18

Hi,

bei mir läuft debian testing und ich habe genau die Schritte verfolgt, die beschrieben wurde, bis auf dass ich qpoper nicht installiert habe, weil ich lieber mit den courier tools arbeite. Ich bekomme immer folgenden Fehler:

fatal: no SASL authentication mechanisms

Selbst stundenlanges Google Suchen und Probieren hat mich der Lösung nicht näher gebracht, etwas fehlt noch. Idee?

Vielen dank!

Benutzeravatar
saaralf
Beiträge: 18
Registriert: 21.05.2002 11:39:29

Beitrag von saaralf » 01.08.2003 14:21:50

ich habe glaub ich das problem, das man trotz smtp auth immer noch emails ohne authentifizierung versenden kann..

wenn ich das häckchen bei outlook für den Postausgangsserver braucht Authentivizierung weglasse kann ich immer noch eine testmail versenden.. obwohl das ja nixht sein dürfte , oder?

das mit courier-imap und courier-pop funz auch net.. hab deshalb jetzt qpopper laufen.

gruss
saaralf

Force
Beiträge: 15
Registriert: 26.06.2003 18:22:24

Beitrag von Force » 01.08.2003 14:31:46

Wundert mich das es bei dir nicht mir den Imap funktioniert.
Denk dadran das du Maildir nutzen must.

Du kannst emails lokal imho ohne SMTP-Auth versenden.

Moellers
Beiträge: 2
Registriert: 08.02.2003 16:06:52

Beitrag von Moellers » 10.08.2003 23:00:24

Erstmal Danke für die tolle Anleitung. Hat alles prima geklappt.

Nun zu meinem Problem.
Wie kann ich es einstellen das ein User der ganz normal seine 3 Ordner "Draft, Sent, Trash" sehen kann auch noch eigene Ordner anlegen kann? Muss der Linuxuser irgendwelche bestimmten Rechte bekommen oder muss ich ihm irgendwas anderes geben?

Gruss
Andreas

Force
Beiträge: 15
Registriert: 26.06.2003 18:22:24

Beitrag von Force » 18.08.2003 17:36:54

Die Ordner Draft, Sent, Trash gibt es normal nicht und wurden bereits von deinem Emailprogramm erstellt. Somit kannst du über deinen Emailprogramm auch noch weitere ordner anlegen.

fallen_angel
Beiträge: 8
Registriert: 26.08.2003 10:02:37

Beitrag von fallen_angel » 26.08.2003 10:46:04

wirklich ne super anleitung, mit qpopper und postfix sowie postfix und courier funktioniert es gut, leider kann in diesem System jeder angelegte Benutzer seine E-Mail Adresse fälschen, ohne dass der Server drüber meckert, wäre cool, wenn das jemand noch lösen könnte. Ich hab bis jetzt Lösungsansätze, aber leider läuft es noch nicht so, wie ich es will.

kleiner Tip:
Wenn man normale Lokale User angelegt hat, dann sollte man auch die MailDir Ordner bei dem Bentutzer im Homedir anlegen, wenn man es nicht tut, dann spinnt Imap und Pop sagt, dass kein MailDir existiert. Das Script von Force setzt vorraus, dass das Homedir des Benutzers so aussieht= /home/mail/$user <=== das $user steht für den angelegten benutzer, sonst funktioniert das alles nicht.

noch ein Tip:
Frage von dazk mit dem Problem: fatal: no SASL authentication mechanisms
Antwort: Egal was man verwendet qpopper oder courier-pop, das System basiert auf dem SASL authentication mechanism und sollte deshalb zuerst eingerichtet werden, dazu braucht man natürlich einige Pakete, damit das suche nicht so schwer ist, istalliert erstmal qpopper und dannach erst courier-pop, damit sind die Pakete, die man benötigt drauf, ich werde die Tage die benötigten Pakete noch auflisten ;)

noch ein Tip:
Wenn man mit Confixx neue E-MailBenutzer anlegt bei der hier beschriebenen imap-ssl Lösung, dann funktionieren diese nicht auf Anhieb, deswegen sollte man einfach eine E-Mail an den Account schicken. Das MTA legt die notwendigen Ordner automatisch an, dann erspart man sich den Befehl: maildirmake /home/mail/<user>/Maildir

Force könnte solche Tipps in einer FAQ unter der Anleitung anlegen, ersparrt ne Menge Fragen, die unnötig sind!!! Und man sollte erwähnen, dass das Script mb2md-3.10.pl dafür ausgelegt ist, Benutzer umzuändern, die nur für pop3 angelegt sind bzw. das Script ändert ihr gruppe in pop3only.


Wenn ich Spam Ordner anlege und User mit pop3 abholen, dann bekommen sie den ordner nicht zu sehen, ist ein bisschen doof, was kann man da machen ???

danke für die Hilfe

Fallen_Angel
Zuletzt geändert von fallen_angel am 02.09.2003 23:15:18, insgesamt 1-mal geändert.

fallen_angel
Beiträge: 8
Registriert: 26.08.2003 10:02:37

Beitrag von fallen_angel » 26.08.2003 12:22:59

Antwort auf die Frage von Moellers

Ich nehme an, du verwendest Evolution. Diese sind von Evolution und habe nichts mit dem Imap server zu tun, was du machen kannst ist Ordner in den Ordner anlegen, Globale Ordner kann man nicht anlegen soweit ich das gemerkt habe, nur intern in den Ordner.

Bei solchen Fragen sollte genannt werden, welches Mailprogramm man verwendet, den nicht kaum Programme unterstützen Imap richtig bzw vollständig.

Gruß

Fallen_Angel

opti
Beiträge: 43
Registriert: 29.08.2003 14:18:00

Beitrag von opti » 29.08.2003 16:37:18

Hallo,

mal eine kurze Frage... :oops:
ist das aktuell die Postfix Version 1.1.11 die damit installiert wird?

fallen_angel
Beiträge: 8
Registriert: 26.08.2003 10:02:37

Beitrag von fallen_angel » 02.09.2003 17:08:11

mit postfix 1.X wird es funktionieren

fallen_angel
Beiträge: 8
Registriert: 26.08.2003 10:02:37

Beitrag von fallen_angel » 02.09.2003 23:21:48

Bei Verwendung dieser Anleitung, kann jeder E-Mail User seine E-Mail Adresse fälschen.

Das Problem kann man für Confixx lösen, in dem man in die /etc/postfix/main.cf das einträgt:

smtpd_sender_restrictions = reject_sender_login_mismatch
smtpd_sender_login_maps = hash:/etc/postfix/confixx_virtualUsers

Für Benutzer, die kein confixx haben, einfach das machen:

in die /etc/postfix/main.cf das eintragen:
smtpd_sender_restrictions = reject_sender_login_mismatch
smtpd_sender_login_maps = hash:/etc/postfix/sender_login_map

etzt kannst in der Datei /etc/postfix/sender_login_map konfigurieren, welcher (SASL-)Benutzer mit welchen Absender E-Mail versenden darf. Beispiel: Hugo Maier soll nur mit der E-Mail-Adresse <hugo.maier@test.de> versenden und hat 'hugo' als Benutzernamen. Das geht mit folgenden Eintrag:

hugo.maier@test.de hugo

dies ausführen nicht vergesse:
debian:/etc/postfix#postmap sender_login_map
debian:/etc/postfix#postfix reload
nicht vergessen und schon kann keiner Mails als Bill Gates bill.gates@kindersoft.com verschicken :D .

opti
Beiträge: 43
Registriert: 29.08.2003 14:18:00

Beitrag von opti » 02.09.2003 23:27:17

Danke für den Hinweis!!

Das ist gut zu wissen.

Antworten