Virtual User in Postfix und Dovecot

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Spindoctor
Beiträge: 308
Registriert: 22.04.2011 10:34:00

Virtual User in Postfix und Dovecot

Beitrag von Spindoctor » 13.07.2016 09:50:41

Hallo!

Ich und ein paar Freunde sind gerade dabei, einen Mailserver auf unserem Debian-System einzurichten. Wir nutzen Debian Jessie mit Postfix und Dovecot. Für Webmail kommt Roundcube zum Einsatz.

Nun dachten wir uns, es ist nicht so schlau, wenn man sich über Webmail mit dem normalen Usernamen und Passwort anmeldet - insbesondere wenn der User root-Rechte hat. Deshalb stehen 2 Lösungen im Raum:
  1. Einen zweiten User anlegen, der dann "<user>-mail" heißt und denn für alle E-Mail-Sachen verwenden.
  2. Virtuelle User anlegen, und die verwenden.
Mir gefällt die zweite Lösung etwas besser, weil der Mailuser ja eh nichts anderes verwenden soll als E-Mails.

Aber stimmt das? Ist die 2. Lösung wirklich besser?

Ich hab jedenfalls mal so angefangen, dass ich in der /etc/dovecot/conf.d/10-auth.conf, die Zeile

Code: Alles auswählen

!include auth-passwdfile.conf.ext
eingetragen habe.

Außerdem habe ich in meinem Homeverzeichnis einen Ordner /home/marcel/virtualmail angelegt. Danach habe ich mit

Code: Alles auswählen

doveadm pw
einen Passwort-Hash erstellt und den dann in der /etc/dovecot/users eingetragen mit

Code: Alles auswählen

marcel-mail:pw-hash:2016:2016::/home/marcel/virtualmail
Ich hoffe mal, das passt so!?
Jedenfalls fehlt nun noch der Postfix-Teil. Hier finde ich im Internet einige Howtos mit mehreren Zeilen, die man in der /etc/postfix/main.cf eintragen soll. So zum Beispiel:

(Kopiert von: http://www.werthmoeller.de/doc/microhow ... ual_users/)

Code: Alles auswählen

virtual_mailbox_domains = /var/mail/virtual_domains
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
Aber hier kenn ich mich nicht aus. Brauche ich alle diese Parameter und welche Werte sind hier "auf der rechten Seite" einzutragen?

Und (nochmal die Frage): lohnt sich der Aufwand, oder soll ich einfach noch einen User anlegen?

Schonmal jetzt vielen Dank und lieber Gruß!

DeletedUserReAsG

Re: Virtual User in Postfix und Dovecot

Beitrag von DeletedUserReAsG » 13.07.2016 10:47:15

Was du wo einträgst, hängt von deinen Ansprüchen ab. Wenn du nicht weißt, was die Optionen bewirken, wäre ein Blick in die offizielle Doku nicht die verkehrteste Idee – dort steht’s schön übersichtlich drin.

Ob sich der Aufwand für dich lohnt, kannst auch nur du alleine wissen. Ich persönlich habe für eine Handvoll User gar eine Lösung mit Datenbankanbindung aufgesetzt – da ich öfter mal eine Wegwerfadresse brauche, von der aus man auch senden kann, und die so in kürzester Zeit angelegt ist, lohnt sich das für mich.

Spindoctor
Beiträge: 308
Registriert: 22.04.2011 10:34:00

Re: Virtual User in Postfix und Dovecot

Beitrag von Spindoctor » 13.07.2016 11:12:29

Danke für die Antwort!

klingt gut, das mit der Wegwerfadresse! Aber zunächst würd ich glaub ich bei der Ordner-Lösung bleiben...

In die Doku hab ich eh schon geschaut (http://www.postfix.org/postconf.5.html):
  • virtual_mailbox_domains: ist ja noch relativ naheliegend - da trag ich einfach alle unsere Domains ein
  • virtual_mailbox_base: hier bin ich unsicher. Nach meinem Plan soll ja jeder reale User in seinem eigenen Homefolder eine virtuelle Mailbox einrichten dürfen. also /home/ ?
  • virtual_mailbox_maps: da kann ich ja glaub ich gleich direkt die Adresse des virtuellen Users eintragen, oder? Also quasi <alias>@<domain.tld>
  • virtual_alias_maps: vergleichbar mit /etc/aliases?
  • virtual_minimum_uid: gibt es eine hierarchie? höhere uid ist besser?
  • virtual_uid_maps: da gehört dann wohl - passend zu meinen dovecot-Parametern 2016 rein. Verstehe aber noch nicht ganz was das macht.
  • virtual_gid_maps: da gehört dann wohl - passend zu meinen dovecot-Parametern 2016 rein. Verstehe aber noch nicht ganz was das macht.
daher also meine Problemlage.

Danke nochmal.

hec_tech
Beiträge: 1093
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: Virtual User in Postfix und Dovecot

Beitrag von hec_tech » 13.07.2016 12:12:08

Naja Postfix braucht das ganze eigentlich nicht. Die Mails solltest du mit LMTP an Dovecot übergeben und der stellt dann zu.

Postfix muss nur wissen welche Domains er annehmen darf.

Ich bin auch ein Freund eines Datenbankgestützten Setups da es einfacher zu administrieren ist.

Ich kann dir gerne mal eine Postfix/Dovecot Konfig zukommen lassen mit PostgreSQL + Amavis mit Spamassasin und ClamAV sowie Postgrey.

lg
Gregor

Spindoctor
Beiträge: 308
Registriert: 22.04.2011 10:34:00

Re: Virtual User in Postfix und Dovecot

Beitrag von Spindoctor » 13.07.2016 12:31:52

Danke, das hört sich super an!

Aber ich bin nicht sicher ob ich mich dann noch auskenn - ich bin sehr neu mit Mailservern (und serverbetrieb im allgemeinen). Und wenn ich (1) auf meine Adresse (marcel@<domain.tld>) Mails bekommen kann und die (2) in roundcube abrufen kann ohne mich dort (3) mit einem sudo-User anmelden zu müssen, dann wär ich schon glücklich :D

Das heißt aber nicht, dass ich die Configs nicht sehen will ;-)

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: Virtual User in Postfix und Dovecot

Beitrag von weshalb » 13.07.2016 23:27:48

Ich relaye nur und handhabe das für ne handvoll Leute mittels Postfix über folgende Maps :
s
sasl_password
relaymaps
virtual
spmtpsender
in der Postfix main.cf dann:

Code: Alles auswählen

virtual_alias_maps = hash:/etc/postfix/virtual
sender_dependent_relayhost_maps = hash:/etc/postfix/relaymaps
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
smtpd_sender_login_maps = hash:/etc/postfix/smtpdsender
Mehr brauche ich nicht.

Spindoctor
Beiträge: 308
Registriert: 22.04.2011 10:34:00

Re: Virtual User in Postfix und Dovecot

Beitrag von Spindoctor » 15.07.2016 09:17:16

Habe noch eine andere elegante Lösung für das ursprüngliche Problem gefunden:

Es hat gereicht, in der /etc/dovecot/users die Daten meines Hauptusers (mit anderem Passwort bzw. Passwort-Hash) einzutragen. Dadurch kann ich mich bereits beim Mailserver (und auch im Webmail) mit dem anderen Passwort anmelden.

Wenn man dann noch

Code: Alles auswählen

#!include auth-system.conf.ext
macht (also auskommentiert), dann geht das normale Anmeldepasswort nicht mehr.

Virtuelle User funktionieren so natürlich auch noch nicht, aber das war ja unmittelbar noch nicht das Ziel.

Danke für die Unterstützung!

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: Virtual User in Postfix und Dovecot

Beitrag von weshalb » 15.07.2016 14:00:51

Alles in Allem ja nicht so viel anders, als die Virtualmap in Postfix. Wie sieht das jetzt eigentlich mit Roundcube aus,klappt das Versenden von Mails?

Und wenn man verschicken kann, probiere gleich mal, ob man in Roundcube unter User A die Emailadresse von User XY einfach eintragen und versenden kann. Das Problem hatte ich und über smtpsender, die in etwa genauso wie die Virtualmap aufgebaut ist, lösen können.

hier mal die Virtual in Postfix

Code: Alles auswählen

email1@gmx.net   user5@auf.meinem.system
user2@freenet.de user3@auf.meinem.system
user3@web.de user9@auf.meinem.system
User anlegen dann ganz normal über

Code: Alles auswählen

adduser user5 
usw.

Habt ihr einen richtigen Mailserver im Netz mit nur einer Domain zu stehen?

sahne99
Beiträge: 43
Registriert: 28.11.2013 21:32:40

Re: Virtual User in Postfix und Dovecot

Beitrag von sahne99 » 15.07.2016 17:34:14

weshalb hat geschrieben:
...

User anlegen dann ganz normal über

Code: Alles auswählen

adduser user5 
usw.

...
Wurde nicht gefragt nach virtuelle User anstatt System User?
Debian GNU/Linux testing + KDE

sahne99
Beiträge: 43
Registriert: 28.11.2013 21:32:40

Re: Virtual User in Postfix und Dovecot

Beitrag von sahne99 » 15.07.2016 18:51:53

Ich nehme an, dass du dein zweiten Lösungsvorschlag mit

Code: Alles auswählen

relay_recipient_maps
in deiner "main.cf" umsetzen kannst.
Debian GNU/Linux testing + KDE

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: Virtual User in Postfix und Dovecot

Beitrag von weshalb » 15.07.2016 20:04:04

sahne99 hat geschrieben:
weshalb hat geschrieben:
...

User anlegen dann ganz normal über

Code: Alles auswählen

adduser user5 
usw.

...
Wurde nicht gefragt nach virtuelle User anstatt System User?
Ja klar, doch bevor ich das alles, :
Außerdem habe ich in meinem Homeverzeichnis einen Ordner /home/marcel/virtualmail angelegt. Danach habe ich mit

Code: Alles auswählen
doveadm pw


einen Passwort-Hash erstellt und den dann in der /etc/dovecot/users eingetragen mit

Code: Alles auswählen
marcel-mail:pw-hash:2016:2016::/home/marcel/virtualmail

plus Rechtevergabe mache, würde ich gleich einen neuen User anlegen, zumal er unter Lösung 1 genau diese Überlegungen ebenfalls hatte. :wink:

Spindoctor
Beiträge: 308
Registriert: 22.04.2011 10:34:00

Re: Virtual User in Postfix und Dovecot

Beitrag von Spindoctor » 16.07.2016 09:44:18

Danke nochmal für Eure Antworten!

Also die Virtual-User-Variante ist mir schon lieber. Nachdem ich ja der einzige (reale) User der ganzen Alias-Adressen bin, macht es nicht so viel Sinn, so viele einzelne User im System anzulegen, die dann alle einen eigenen Home-Folder mit eigenen Zugriffsrechten haben. Insofern hat sich dieser kleine Mehraufwand schon gelohnt.

Mailversand funktioniert nun ebenso wie Mailempfang. Ich kann auch neue "Versendeadressen" in Roundcube eingeben und verwenden.

Was ich noch nicht ganz verstanden hab: Was macht

Code: Alles auswählen

relay_recipient_maps
genau? Hab die Doku gelesen aber das sieht für mich aus, als ob es auch nix anderes ist als die /etc/aliases bzw. die /etc/postfix/virtual (die wir nutzen). Aber das kann ja nicht sein - mus ja eine zusätzliche Funktion haben!

Danke

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: Virtual User in Postfix und Dovecot

Beitrag von weshalb » 16.07.2016 10:43:37

Was ich noch nicht ganz verstanden hab: Was macht

Code: Alles auswählen
relay_recipient_maps
Soll wohl dazu da sein, dass Postfix prüft, ob eine Emailadresse, an die verschickt werden soll, gültig ist oder nicht.

Ich kann auch neue "Versendeadressen" in Roundcube eingeben und verwenden.
Findest du das gut oder ist es nicht eher besser, wenn user A nur über Emailadresse A verschicken darf? Ich finde sogar, dass das ein Sicherheitsrisiko ist.

sahne99
Beiträge: 43
Registriert: 28.11.2013 21:32:40

Re: Virtual User in Postfix und Dovecot

Beitrag von sahne99 » 16.07.2016 18:25:43

weshalb hat geschrieben:
Was ich noch nicht ganz verstanden hab: Was macht

Code: Alles auswählen
relay_recipient_maps
Soll wohl dazu da sein, dass Postfix prüft, ob eine Emailadresse, an die verschickt werden soll, gültig ist oder nicht.

Ich kann auch neue "Versendeadressen" in Roundcube eingeben und verwenden.
Findest du das gut oder ist es nicht eher besser, wenn user A nur über Emailadresse A verschicken darf? Ich finde sogar, dass das ein Sicherheitsrisiko ist.
In der Dokumentation zu "relay_recipient_maps" steht:

Code: Alles auswählen

...
If this parameter is non-empty, then the Postfix SMTP server will reject mail to unknown relay users.
...
Also Mails an unbekannte Benutzer werden zurückgewiesen. Für ein Server, der aus dem Internet erreichbar ist, finde ich es gut!
Ich halte das auch für ein Sicherheitsrisiko, wenn jeder auf dein Roundcube zugreifen kann und eine neue "Versendeadresse" anlegen kann. Wird doch dann quasi zu einem Open Relay....?
Debian GNU/Linux testing + KDE

sahne99
Beiträge: 43
Registriert: 28.11.2013 21:32:40

Re: Virtual User in Postfix und Dovecot

Beitrag von sahne99 » 16.07.2016 18:34:46

Spindoctor hat geschrieben:Danke nochmal für Eure Antworten!

Also die Virtual-User-Variante ist mir schon lieber. Nachdem ich ja der einzige (reale) User der ganzen Alias-Adressen bin, macht es nicht so viel Sinn, so viele einzelne User im System anzulegen, die dann alle einen eigenen Home-Folder mit eigenen Zugriffsrechten haben. Insofern hat sich dieser kleine Mehraufwand schon gelohnt.

Mailversand funktioniert nun ebenso wie Mailempfang. Ich kann auch neue "Versendeadressen" in Roundcube eingeben und verwenden.

Was ich noch nicht ganz verstanden hab: Was macht

Code: Alles auswählen

relay_recipient_maps
genau? Hab die Doku gelesen aber das sieht für mich aus, als ob es auch nix anderes ist als die /etc/aliases bzw. die /etc/postfix/virtual (die wir nutzen). Aber das kann ja nicht sein - mus ja eine zusätzliche Funktion haben!

Danke
Du kannst auch irgendwie Systemuser anlegen, die kein Home-Verzeichnis haben und sich nicht einloggen können.
Debian GNU/Linux testing + KDE

Spindoctor
Beiträge: 308
Registriert: 22.04.2011 10:34:00

Re: Virtual User in Postfix und Dovecot

Beitrag von Spindoctor » 17.07.2016 22:47:57

sahne99 hat geschrieben:Also Mails an unbekannte Benutzer werden zurückgewiesen. Für ein Server, der aus dem Internet erreichbar ist, finde ich es gut!
Ich halte das auch für ein Sicherheitsrisiko, wenn jeder auf dein Roundcube zugreifen kann und eine neue "Versendeadresse" anlegen kann. Wird doch dann quasi zu einem Open Relay....?
Hm, versteh ich noch immer nicht - das passiert doch auch mit mails die an Adressen geschickt werden, die nicht in /etc/postfix/virtual stehen - die werden doch auch zurückgewiesen...
weshalb hat geschrieben: Findest du das gut oder ist es nicht eher besser, wenn user A nur über Emailadresse A verschicken darf? Ich finde sogar, dass das ein Sicherheitsrisiko ist.
Stimmt schon, aber derzeit haben nur 5 Leute auf den Server Zugriff und die haben alle gewisse Admin-Aufgaben. Was ich sagen will: alle Leute die Derzeit den Server nutzen genießen im Großen und Ganzen mein Vertrauen.

Und ein gewisser Komfort ist es ja auch, Kurzerhand eine neue Absendeadresse anzulegen...

Das mit den Systemusern ohne Homeverzeichnis geht glaub ich mit useradd. Wäre natürlich auch möglich. Aber am naheliegendsten ist es schon mit den virtuellen Usern. Und solange sich der Aufwand in Grenzen hält...

sahne99
Beiträge: 43
Registriert: 28.11.2013 21:32:40

Re: Virtual User in Postfix und Dovecot

Beitrag von sahne99 » 18.07.2016 06:48:31

Spindoctor hat geschrieben:
sahne99 hat geschrieben:Also Mails an unbekannte Benutzer werden zurückgewiesen. Für ein Server, der aus dem Internet erreichbar ist, finde ich es gut!
Ich halte das auch für ein Sicherheitsrisiko, wenn jeder auf dein Roundcube zugreifen kann und eine neue "Versendeadresse" anlegen kann. Wird doch dann quasi zu einem Open Relay....?
Hm, versteh ich noch immer nicht - das passiert doch auch mit mails die an Adressen geschickt werden, die nicht in /etc/postfix/virtual stehen - die werden doch auch zurückgewiesen...
Ja, die sollten auch zurückgewiesen werden. Jedoch ist virtual eher dazu gedacht um Mails lokal oder aus dem Internet an andere Emailadressen oder Benutzer umzuleiten.
Siehe http://www.postfix.org/virtual.5.html

Code: Alles auswählen

The main applications of virtual aliasing are:

       o      To redirect mail for one address to one or more addresses.

       o      To  implement  virtual  alias  domains  where  all addresses are
              aliased to addresses in other domains.
Debian GNU/Linux testing + KDE

Spindoctor
Beiträge: 308
Registriert: 22.04.2011 10:34:00

Re: Virtual User in Postfix und Dovecot

Beitrag von Spindoctor » 19.07.2016 09:34:22

oh ok. macht also das gleiche bzw. was sehr ähnliches aber hat ursprünglich einen anderen zweck...

danke!

Benutzeravatar
weshalb
Beiträge: 1265
Registriert: 16.05.2012 14:19:49

Re: Virtual User in Postfix und Dovecot

Beitrag von weshalb » 19.07.2016 11:02:09

spindoctor hat geschrieben:
Und ein gewisser Komfort ist es ja auch, Kurzerhand eine neue Absendeadresse anzulegen...
...
Du legst also über Roundcube neue Emailadressen an?

Spindoctor
Beiträge: 308
Registriert: 22.04.2011 10:34:00

Re: Virtual User in Postfix und Dovecot

Beitrag von Spindoctor » 26.07.2016 10:41:14

Ich glaub eine Absendeadresse ist noch nicht dasselbe wie eine richtige Email-Adresse (mit der man auch empfangen kann), oder?

Antworten