# [Anders gelöst] pop3-Daemon mit sasldb-Authentifizierung?

## l3u

Hallo allerseits!

Ich habe einen (kleinen) Mailserver mit Postfix laufen. Das ist mein erstes Mal, bitte nicht hauen ;-) Der empfängt und verschickt E-Mails ohne Probleme, bisher benutze ich ihn aber bloß, um eine Mailingliste zu verwalten. Also E-Mails werden nur empfangen und über einen Relay-Host von 127.0.0.1 aus verschickt. Bisher habe ich mich also nicht mit irgendwelcher Authentifizierung auseinandersetzen müssen.

Jetzt wollte ich mal schauen, ob man nicht auch einen „kompletten“ Mailserver draus machen könnte. Virtuelle Mailboxen einzurichten war auch kein Problem, Postfix sortiert die ankommenden Mails brav in Maildirs ein. E-Mails von anderswo als von localhost aus zu verschicken war auch kein Problem, mit

/etc/postfix/main.cf:

```
smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

smtpd_use_tls = yes

smtpd_tls_key_file = /etc/postfix/certs/server.key

smtpd_tls_cert_file = /etc/postfix/certs/server.pem
```

und /etc/sasl2/smtpd.conf:

```
mech_list: PLAIN

pwcheck_method: auxprop

auxprop_plugin: sasldb

sasldb_path: /etc/sasl2/sasldb2
```

funktioniert alles wunderbar, nachdem man mittels saslpasswd2 entsprechende Einträge in /etc/sasl2/sasldb2 erstellt hat – und zwar ohne, dass ein zusätzlicher Daemon außer Postfix selbst läuft.

Kann ich jetzt einen (eigenständigen) Pop3-Daemon aufsetzen, der auf eben diese Passwortdatenbank zugreift und die von Postfix angelegten Maildirs ausliefert? Und wenn ja: welchen? Bzw. ist das überhaupt sinnvoll? Oder sollte man gleich das Ausliefern und die Authentifizierung, auch für SMTP, einem anderen Server überlassen? Also Courier oder Dovecot? Oder habe ich einen generellen Denkfehler?

Vielen Dank für die Hilfe!Last edited by l3u on Sun Feb 17, 2013 4:29 pm; edited 1 time in total

----------

## syn0ptik

Im dein ausgabe du gebraht tls in postfix und PLAIN in sasl.

diese zuhören 465 port fur smpds?

----------

## Hollowman

Hi

Sehe ich das richtig, du kannst über deinen Server Mails versenden ohne einen Relay Host dazwischen zu haben? Wenn ja dann hast du ja die SMTP Seite schon erledigt. Empfang von Mails über SMTP scheint ja auch zu klappen wenn du sagst er sortiert sie richtig ein.

Jetzt brauchst du nur noch was zum Mails lesen. Sprich einen POP3 oder IMAP Server. Da würde ich dir zu Dovecot raten. Der sollte Problemlos mit deiner SASL Konfiguration klar kommen.

Ich gebe nur noch mal am Rande zu bedenken das du mit einer dynamischen DSL IP beim Mailversand nicht glücklich wirst. Du solltest eine feste IP mit A und PTR Record im DNS haben.

Wie kommen die ankommende Mails eigentlich auf den Server? Eigene Domäne mit MX Record??

Sebastian

----------

## l3u

Zum Versenden verwende ich schon einen Relayhost, sonst wird man ja per se geblockt. Die Zeiten sind lang vorbei ;-) Und ja, die Mails kommen über eine Domain und MX-Record an.

Die Konfiguration, die ich gerade habe, funktioniert ja wie gesagt ohne zusätzlichen Daemon. Wenn man jetzt Dovecot verwendet, muss/sollte man dann nicht auch für SMTP-AUTH eben Dovecot verwenden? Ich blicke bei den ganzen Howtos und Anleitungen nicht ganz durch, was da jetzt genau eigentlich für was zuständig ist.

----------

## Hollowman

 *Quote:*   

> Zum Versenden verwende ich schon einen Relayhost, sonst wird man ja per se geblockt. Die Zeiten sind lang vorbei  Und ja, die Mails kommen über eine Domain und MX-Record an. 

 

Wenn du ne feste IP hast und die Möglichkeit im DNS nen PTR Record ein zu tragen, dann schmeiß den Relay Host raus. Den brauchst du nicht mehr. Nur wenn die IP Dynamisch ist, dann wird das nix. Dann solltest du aber auch mit dem MX Record Probleme haben.

 *Quote:*   

> Die Konfiguration, die ich gerade habe, funktioniert ja wie gesagt ohne zusätzlichen Daemon. Wenn man jetzt Dovecot verwendet, muss/sollte man dann nicht auch für SMTP-AUTH eben Dovecot verwenden? Ich blicke bei den ganzen Howtos und Anleitungen nicht ganz durch, was da jetzt genau eigentlich für was zuständig ist.

 

Du kannst aber mit nem Mailclienten noch keine Mails auf dem Server lesen oder? Du siehst nur das er sie ins Maildir legt?

Du musst 2 Sachen grundsätzlich unterscheiden:

 - SMTP zum Mailversand und Empfang (Postfix bei dir)

 - POP3/Imap zum lesen der Mails per Emailclient (z.B Dovecot)

Dovecot kann kein SMTP. Alles was mit SMTP zu tun hat, musst du mit Postfix machen. Sprich wenn du in deinem Emailclient eine Mail versendest (über deinen Server) dann kann der sich per SMTP-AUTH über Postfix an deinem Server authentifizieren.

Wenn dir jetzt jemand eine Mail gesendet hat und du willst die mit einem Mailclienten lesen, dann verbindest du dich mittels POP3/Imap mit deinem Server. POP3/Imap stellt Dovecot zur verfügung.

Es gäbe noch die Möglichkeit "POP3 Auth befor SMTP" zu machen, das ist aber veraltet. Mach das lieber gleich per SMTP-AUTH. Vergiss dabei TLS oder SSL nicht.

Sebastian

----------

## cryptosteve

 *Hollowman wrote:*   

> Den brauchst du nicht mehr. Nur wenn die IP Dynamisch ist, dann wird das nix. Dann solltest du aber auch mit dem MX Record Probleme haben.

 

Inwiefern Probleme? Ist jetzt schon etliche Jahre her, dass ich mal einen Mailserver hinter einer dynamischen Adresse betrieben habe, aber abgesehen vom Umweg über den relayhost war das nicht sonderlich problematisch.

----------

## l3u

 *Hollowman wrote:*   

> Wenn du ne feste IP hast und die Möglichkeit im DNS nen PTR Record ein zu tragen, dann schmeiß den Relay Host raus.

 

Ne feste IP hätt ich gern ;-) Nein, läuft alles über DynDNS.

 *Hollowman wrote:*   

> Nur wenn die IP Dynamisch ist, dann wird das nix. Dann solltest du aber auch mit dem MX Record Probleme haben.

 

Das ist überhaupt kein Problem. Der MX-Record zeigt auf eine meiner (DynDNS-)Domains. Klappt bisher wunderbar – und das Setup wegen der Mailingliste läuft jetzt schon einige Zeit!

Mittlerweile hab ich ein bisschen mehr Durchblick, was das alles anbelangt. War gar kein großes Problem. Ich hab mich für Dovecot entschieden. Jede Domain, die der Server bedienen soll, steht in der Postfix-Config in virtual_mailbox_domains. Dann gibt’s noch eine transport_maps-Datei, in der dann pro Mailbox ein Transport zum Ausliefern via Dovecot steht:

```
adresse@server lmtp:unix:private/dovecot-lmtp
```

Und die Authentifizierung zum E-Mails verschicken läuft auch über Dovecot:

```
smtpd_sasl_auth_enable = yes

smtpd_use_tls = yes

smtpd_tls_key_file = /etc/ssl/private/server.key

smtpd_tls_cert_file = /etc/ssl/private/server.pem

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

```

Dovecot muss man natürlich noch sagen, dass es diesen Service auch geben soll:

```
service auth {

        unix_listener /var/spool/postfix/private/auth {

                user = postfix

                group = postfix

                mode = 0666

        }

}
```

Ist ja auch nicht mehr Arbeit, als eine sasl2-Datenbank zu verwalten – sofern man einfach eine mittels E-Mail-Adressen und per dovesdm pw generierten Passwort-Hashes zu füllende „passwd-file“ benutzt:

```
disable_plaintext_auth = yes

auth_mechanisms = plain

passdb {

        driver = passwd-file

        args = username_format=%u /etc/dovecot/users

}
```

In allen Howtos steht ja nur der absolute Overkill mit SQL-Benutzerdatenbanken, etc. Vielleicht etwas übers Ziel hinausgeschossen für ein System mit einer Handvoll E-Mail-Adressen.

Was mich anfangs etwas verwirrt hat, ist die Tatsache, dass Postfix selbst ja auch E-Mails an virtuelle Postfächer ausliefern kann. Aber das sollte man natürlich sinnvollerweise dem IMAP/POP-Server überlassen, der eben diese Postfächer dann auch an Clients liefert.

Also jedenfalls läuft der ganze Kram jetzt problemlos :-)

----------

## Hollowman

 *cryptosteve wrote:*   

>  *Hollowman wrote:*   Den brauchst du nicht mehr. Nur wenn die IP Dynamisch ist, dann wird das nix. Dann solltest du aber auch mit dem MX Record Probleme haben. 
> 
> Inwiefern Probleme? Ist jetzt schon etliche Jahre her, dass ich mal einen Mailserver hinter einer dynamischen Adresse betrieben habe, aber abgesehen vom Umweg über den relayhost war das nicht sonderlich problematisch.

 

Ich meinte das so:

Wenn er keine feste IP hat, dann bekommt er Probleme und braucht den Relay Host.

Wenn er ne feste IP hat, dann braucht er den Relay Host nicht unbedingt. Dann kann er selbst versenden wenn die DNS Einträge korrekt sind.

Sebastian

----------

## cryptosteve

Das hat doch aber mit dem MX Record nichts zu tun?!

----------

