PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MailServer: "sender name and login name must be identical" verhindert mehr Domains...



derlaie
23.07.2013, 23:57
Hallo zusammen,

ich habe (nach erfolgreicher SMTP-Relay Einrichtung) nun ein paar Tests mit der Verwaltung zusätzlicher Domains im Mailserver und der Mailstation gemacht.
In der Mailstation habe ich dazu unter identitäten meinen Benutzer auch mit der zweiten Domain ausgestattet.
Nun kann ich auch mit diesem Absender versenden, aber sobald ich ein Häkchen bei der genannten Option mache (was ja erst mal sinn macht!), kann ich nicht mehr mit der zweiten Domain im Absender verschicken. Fehlermeldung:

Sender adress rejected. not owned by user Stefan

Dies, obwohl die Adresse vom Aufbau genau wie bei der ersten, oder Hauptdomain ist. NAME@DOMAIN_DIEKLAPPT genau wie NAME@DOMAIN_DIENICHTKLAPPT.
Aber wie gesagt, sobald ich das Häkchen weg mache werden auch die schon gescheiterten Mails zugestellt....

Da die Fehlermeldung ja vom Server kommt, denke ich mal das es sich bei allen anderen Clients genau so verhalten würde...
Wie kann man das Problem lösen? Lasse ich die Option deaktiviert kann sich ja jeder mit einem anderen USERNAMEN@DOMAIN als Konto anmelden, oder?
Oder kann er nur in der Mailstation (die ich nach der Testphase wohl eh wieder abschalte...) eine neue Identität anlegen und damit verschicken.


Gruß

Stefan

jahlives
24.07.2013, 08:52
das dürfte imho von der Konfig des Server abhängen. Schau dir mal die smtpd_*_restrictions in der main.cf an
Btw: zwei Domains bei der Mailstation gehen eh nicht wirklich, da mit lokalen Usern gearbeitet wird. Die Mails für user@zweitedomain.tld werden in der Mailbox von user@erstedomain.tld landen. Dies da bei lokalen Usern alles hinter dem @ nicht beachtet wird. Es geht nur dann wenn du unterschiedliche Usernamen hast, aber gleiche user in beiden Domains dürfte Ärger geben

derlaie
24.07.2013, 09:49
Und genau von der Konfigurierung des Servers rede ich ja.... Undzwar nicht irgend ein Server, sondern der emailserver aus dem Paketzentrum!
Ich habe 2 Domains eingerichtet und sobald ich die benannte Option aktiviere funktioniert der Versand nur von der in der SMTP Seite sichtbaren Domain.
Das Verhalten der Mailstation ist mir dabei völlig egal, da diese wie ich schon schrieb nur zu Testzwecken überhaupt in Verwendung ist.
Der Versand über die zweite Domain funktioniert aber -wie oben schon befürchtet- auch von keinem anderen Client, da die Fehlermeldung vom Server kommt.
Also wie kann ich mit dem Synology emailserver 2 Domains verwalten, OHNE das sich jeder Nutzer wilde Identitäten zulegen und damit versenden kann...

Gruß

Stefan

jahlives
24.07.2013, 09:55
schau dir bitte jetzt mal die smtpd_*_restrictions an (main.cf)!
Meinen Einwand, dass zwei Domains auf demselben Server mit lokalen Usern (wie sie bei Syno verwendet werden), nur Ärger gibt hast du zur Kenntnis genommen?

derlaie
24.07.2013, 10:11
Ich nehme an, du meinst mit main.cf eine config datei auf meinem Server?
Da ich bei Internet suche nur Seiten finde, die mit gezielten Abfragen/Checks den Spam unterbinden wollen.
Wo und wie würde ich die finden?

Den Einwand des Ärgers mit Sammelpostfach für alle Identitäten habe ich zur Kenntnis genommmen. Das Problem hat sich erledigt, da ein Empfänger entweder in der einen oder der anderen Domain seine Mailadresse haben wird. Ein user in mehreren Domains findet nicht statt.

Danke & Gruß

Stefan

jahlives
24.07.2013, 10:16
find /volume1 -name main.cf

derlaie
24.07.2013, 10:18
Vielen Dank! Werd ich heut nachmittag mal weiter behandeln. Jetzt muss ich erst mal ne Runde Rad fahren bei dem geilen Wetter!

Gruß

Stefan

derlaie
29.07.2013, 22:59
Hallo jahlives,

ich hab jetzt mal *bissel stolz....* die gemeinte Datei gefunden (an zwei verschiedenen Orten), per cp in meinen Home Ordner kopiert und dort mal angeschaut.
Es gibt 2 Einschränkungen für smtp versand:

smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch, reject_unknown_sender_domain

Hat es also damit zu tun, dass die Mailstation die zweite Domain aus der Config des Mailservers nicht anerkennt?
Einzig unter mydestination ist die zweite Domain aufgeführt...
Falls das so ist, 5 Zeilen höher steht ein Eintrag

myhostname = schieß.michtot.de

Kann ich hier die zweite Domain durch Komma getrennt eintragen?

Gruß

Stefan

PS: welcher Version der Datei muss ich nachher überschreiben, oder beide????

Gruß

Stefan

jahlives
30.07.2013, 08:19
nein es hat wohl damit zu tun, dass reject_authenticated_sender_login_mismatch dafür sorgt, dass du nur diejenige Adresse als Absender nutzen kannst welche du auch beim SMTP Login genommen hast. Nimm das mal raus und starte den Postfix neu. Also nicht die ganze Zeile rausnehmen sondern nur den reject_authenticated_***- Teil

derlaie
05.08.2013, 23:57
Kurze zwischenfrage dazu, der Login findet doch aber vöilig Domainfrei statt....
Habe nämlich die Befürchtung, das dieser Parameter genau das grafische Häkchen bei "sender name and login name must be identical" ist.

Gruß

Stefan

PS: welche der beiden gefundenen Versionen muss ich denn eigentlich editieren?

derlaie
10.08.2013, 18:38
Hallo noch mal,

hab jetzt unter höchster Konzentration per Konsole die Datei entsprechend geändert, gespeichert und postfix neu gestartet. Zwar kann ich jetzt von user@domain2 versenden, ABER der Mailserver verhält sich so, als ob genannte Option nicht aktiviert wäre. Ich kann nämlich jetzt mit Login von user1 mails auch im Namen von JEDEM anderen user versenden. Das will ich ja aber grad vermeiden!
Hast Du vielleicht noch eine Idee?

Gruß

Stefan

jahlives
10.08.2013, 19:36
dafür gibt es imho nicht wirklich eine Lösung. Es gibt nur die Möglichkeit dem Postfix zu sagen, dass er sicherstellen soll, dass der Login Name und der Absender identisch sind. Dann aber kannst du keine anderen Absender als im Login verwenden. Oder du sagst postfix, dass der Absender egal ist, wenn der User korrekt authentifiziert wurde. Dann aber kann jeder authentifizierte User JEDEN Absender verwenden. Wenn man die DS als Relay-Server mit Authentifizierung nutzen will geht das kaum sinnvoll wenn man ersten Weg nutzt. Dann könnte ein authentifizierter User auch seine Mails mit gmx oder gmail Absender nicht via DS schicken.

Ich könnte mir allenfalls vorstellen, dass man mit postfwd (eine Postfix Firewall) etwas basteln könnte. Der kann regelbasiert ACTIONs an den Postfix zurückgeben (z.B. reject). Man könnte in postfwd eine Prüfung bauen, die bei deinerDomain.tld als Absender eine strikte Prüfung von Login und Absender macht. Bei allen anderen Absendern wird alles akzeptiert solange ein erfolgreicher Login vorliegt. Habe aber keine Ahnung ob es für eine DS postfwd überhaupt gibt. Ohne eine externe Software ist das Problem aber nicht lösbar

derlaie
10.08.2013, 20:21
Hallo, ich glaub langsam komme ich der Sache auf die Schliche!!

Nur zum Verständnis mal folgende Fakten vorausgesetzt.

1.) der Login findet völlig unabhängig von irgend einer Domain statt. User Passwort, fertig.

2.) Die zusätzlichen Domain in der grafischen Konfiguration im Mailserver ist scheinbar lediglich für den Empfang interessant. Diese werden nämlich in der main.cf nur hinter "mydestination" angezeigt, damit is klar worauf der Server reagieren soll. Ich nenn die Domains mal domain für die sichtbare und domain1 usw für die unter weitere Domains hinzu gefügten.

Jetzt gibt es in der main.cf folgende Zeile: smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/login_map

Guckt man sich die login_map an, findet man dort für jeden DS user eine zeile wie folgt:

user@domain, user

HIER wird also die Verbindung von eingeloggtem user zu einer domain hergestellt!!!
Ich habe dann händisch folgende ergänzung in eine neue Zeile eingegeben
user@domain1 user

Danach hab ich den Mailserver in der Pakete Oberfläche gestoppt und neu gestartet. Voller Spannung getestet, ging nicht. Nachgesehen und die login_map war wieder wie vorher. Scheinbar erstellt der Mailserver beim starten die map neu. Daher folgende Frage, kann ich im laufenden Betrieb per flush oder reload die editierte login_map neu einbinden?
Wenn ja mit welchem Befehl genau... bin leider immer noch totaler Konsolenlaie!!!

Oder ist es gar nicht nötig, weil der Befehl hash: das vielleicht bei jedem login neu mit der login_map abgleicht?
Denke das könnte gehen...

Danke & Gruß

Stefan

jahlives
11.08.2013, 14:57
du kannst nach dem Ändern einer solchen Datei mit dem postmap /pfad/zur/datei das Hash File neugenerieren und dann den Postfix mit /pfad/zum/postfix reload zum erneuten Einlesen der Konfigdateien zwingen. postmap und postfix sollten sich irgendwo im MailServer Verzeichnis befinden

derlaie
11.08.2013, 16:12
Das klingt gut... müsste aber nach jedem Neustart der DS wieder ausgeführt werden, richtig?

Momentan habe ich das Problem, dass ich mir nach diversen Versuchen das main.template im ...etc/template zerschossen habe, weswegen zur Zeit keinerlei Versand mehr läuft.

Trotz deinstallieren und neu installieren, trotz löschen der main.template vor der deinstallation...
Die main.template ist immer wieder so wie vor der neuinstallation.

Alle Einstellungen des MS sind nach der neuinstallation wie vorher. Wie kann ich denn den MS wirklich FRISCH installieren, ich verstehe nicht wo die ganzen Dinge herkommen, wenn doch nach der deinstallation per Konsole gar kein Verzeichnis /volume1/@appstore/MailServer/ mehr existiert...

Für Hilfe und Ideen wie immer dankbar!

Gruß

Stefan

derlaie
11.08.2013, 21:27
Das letzte Problem ist behoben.
Habe den Mailserver in gestopptem Zustand am Ende an 3 verschiedenen Stellen gelöscht und dann neu installiert.
Dadurch stellt sich mir die Frage an welchem der 3 Orte die Anwendung eigentlich wirklich läuft, bzw. wie Zusammenhänge grad beim regelmäßigen neu erstellen bestimmter files wie main.cf und login_map ist.

Die Orte sind

/usr/syno/etc/packages/MailServer
/var/packages/MailServer
/volume1/@appstore/MailServer

Ansonsten hab ich ne Anfrage beim Support laufen. Denke das Problem ist nur über die login_map lösbar, mal sehen.

Gruß

Stefan

makero
17.02.2014, 14:58
Hallo jahlives,
da ich das gleiche Problem wie derlaie hatte, möchte ich das Thema noch mal aufgreifen.
Wie derlaie richtig vermutet hat, kann man das Problem mit den 2 Domains und der E-mail-Server Option "Absender-Name und Login-Name müssen identisch sein" mit der "/var/packages/MailServer/target/etc/login_map" lösen - bei mir funktioniert es jedenfalls. Mein Problem ist nur, dass die Datei "login_map" und auch die "login_map.db" (die ja mit postmap generiert wird) nach einem Neustart der DS (ich habe die DS212+ mit aktueller FW) wieder auf Standard zurückgesetzt ist. Gibt es für die Datei login_map nicht auch eine template-Datei wie z.B. die "/volume1/@appstore/MailServer/etc/template/main.template" für die main.cf ? ich finde einfach nichts!

Danke & Gruß
Roland (makero)

derlaie
19.02.2014, 11:03
Hallo Roland,

ich bin leider auch genau an dem Punkt hängen geblieben... Die Antwort des Supports war - wer hätte es gedacht - sehr reserviert und sämtliche Editierungsmöglichkeiten auf Konsolenebene die ich in meiner Anfrage aufgeführt hatte wurden geflissentlich ignoriert!!!

Hab mittlerweile auf die Sicherheitseinstellung SenderName=LoginName verzichtet, da eh nur vertrauenswürdige Personen aus der direkten Familie auf dem Mailserver eingerichtet sind.

Aber falls sich jemand dazu äußern kann bin ich weiterhin sehr interessiert an einer sauberen Lösung...

Gruß

Stefan

jahlives
19.02.2014, 12:59
@makero
wird denn auch die Konfig in main.cf zu login map neugeschrieben? Falls nein: du kannst auch mehrere Maps angeben, das sollte kein Problem für Postfix sein


smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/login_map, hash:/var/packages/MailServer/target/etc/blabla

Wenn aber diese Zeile in main.cf auch jedesmal neugeschrieben wird, dann würde ich das Feature im DSM deaktivieren und es einfach in der template Datei für main.cf eintragen


smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/blabla

dann braucht es noch den Eintrag in der smtpd_sender_restrictions


smtpd_sender_restrictions = ...., reject_sender_login_mismatch, ....

makero
19.02.2014, 17:50
Danke Stefan für die Info.
Für mich wäre die besagte Sicherheitseinstellung jedoch sehr wichtig weil der Mail-Server nicht nur privat bei mir zuhause, sondern auch geschäftlich bei meiner Frau in der Firma genutzt und von mir betreut wird.
Ich denke einer der Tipp's von jahlives könnte aber klappen. Vor allem Tipp 1 Code-Zeile mit mehreren Maps in der der main.cf (und dann evtl. auch im main.template) erscheint mir sehr erfolgsversprechend zu sein. Ich muß aber erst testen ob diese Zeile nach dem Neustart der DS neu geschrieben wird. Tipp 2+3 ist dann natürlich auch eine gute alternative. Ich versuche es heute noch zu testen und gebe euch dann wieder Bescheid. Wobei heute ja Champions League (Bayern vs. Arsenal) im Free-TV kommt - na dann vielleicht dann doch erst Morgen.

Danke euch beiden!

Gruß Roland

makero
20.02.2014, 19:29
Hallo jahlives, hallo Stefan,

leider haben alle Varianten nicht zur Lösung des Problems geführt.

Test 1: zwei maps in main.cf eintragen:

smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/login_map, hash:/var/packages/MailServer/target/etc/my_login_map2
Die Zeile 'smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/login_map' wurde leider nach dem Neustart der DS neu geschrieben (ohne Neustart funktionierte es damit).
Ich habe dann den Code mit den 2 maps in die main.template (Pfad: /volume1/@appstore/MailServer/etc/template/main.template) eingetragen.
Nach erneuten Neustart der DS sah die main.cf dann so bei mir aus:


...
virtual_alias_domains = domain.de, domain.com
virtual_alias_maps = hash:/volume1/@appstore/MailServer/etc/virtual
smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/login_map, hash:/var/packages/MailServer/target/etc/my_login_map2
alias_maps = hash:/var/packages/MailServer/target/etc/aliases
myhostname = domain.de
smtpd_sasl_auth_enable = yes
mynetworks = 127.0.0.0/8, [::1]/128
mydestination = $myhostname, localhost.$mydomain, localhost
message_size_limit = 52428800
smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/login_map
smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch, reject_unknown_sender_domain
header_checks = regexp:/var/packages/MailServer/target/etc/header_checks
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
...


Die Zeile 'smtpd_sender_login_maps = ...' war also doppelt vorhanden!
Da der Code bestimmt von oben nach unten abgearbeitet wird, wirkt dann natürlich der untere Eintrag mit dem Standard-Mapping also:

smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/login_map
Da wir ja bereits wissen, dass die login_map nach einem Neustart zurückgesetzt wird, ist man somit wieder am Anfang des Problems angelangt!

Test 2: Option "Absender-Name und Login-Name müssen identisch sein" im E-Mail-Server GUI deaktivieren...

15989

und die Konfig dafür in die main.template eintragen (wie jahlives in Codezeile 2+3 schreibt).

Also Sicherheits-Option deaktivieren und in der main.cf nachschauen was sich geändert hat:
Die Zeile 'smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/login_map' war nicht mehr vorhanden, und in der Zeile 'smtpd_sender_restrictions' war nur der Eintrag 'reject_authenticated_sender_login_mismatch' entfernt worden.
Sah dann also so aus:


...
smtpd_sender_restrictions = reject_unknown_sender_domain
...


Anschl. folgenden Code am Ende der main.template eintragen:

...
smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/my_login_map2
smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch, reject_unknown_sender_domain


DS wieder neu starten...
Die main.cf sah dann so aus:


...
smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/my_login_map2
smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch, reject_unknown_sender_domain
alias_maps = hash:/var/packages/MailServer/target/etc/aliases
myhostname = rhds24.de
smtpd_sasl_auth_enable = yes
mynetworks = 127.0.0.0/8, [::1]/128
mydestination = $myhostname, localhost.$mydomain, localhost
message_size_limit = 52428800
smtpd_sender_restrictions = reject_unknown_sender_domain
...


Die Zeile 'smtpd_sender_restrictions' war dann (natürlich) auch doppelt vorhanden.
Somit wirkt wieder nur die letzte Zeile ohne 'reject_authenticated_sender_login_mismatch' und die Sicherheits-Option 'Absender-Name und Login-Name müssen identisch sein' ist unwirksam!

Ich habe dann wieder die Zeile...


smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch, reject_unknown_sender_domain

aus der main.template entfernt und in die main.cf so komplett eingetragen.
Brachte aber auch nichts, da diese Zeile nach einem Neustart der DS auch neu geschrieben wurde und anschl. wieder so aussah:


smtpd_sender_restrictions = reject_unknown_sender_domain

Also ohne 'reject_authenticated_sender_login_mismatch':mad:

Ich weiß jetzt auch nicht mehr weiter wie man das ganze evtl. austricksen könnte!
Vielleicht hast du "jahlives" oder irgendein anderer hier im Forum von den Syno-Cracks noch eine Idee wie man das lösen könnte.

Ich gebe auf jeden Fall noch nicht auf, und werde sicherlich noch einiges ausprobieren.
Falls ich was Brauchbares herausfinden sollte melde ich mich hier wieder.

Gruß Roland

jahlives
20.02.2014, 19:42
hmh es gäbe theoretisch noch die Möglichkeit die smtpd_*_restrictions in master.cf einzutragen. Allerdings weiss ich nicht welche Teile davon Synology neuschreibt. Wenn du den Mailserver aber hinter einem Router betreibst hätte ich noch folgende Idee: eine weitere SMTP Instanz auf einem anderen Port und dann Port 25 (extern) auf diesen neuen Port weiterleiten am Router. Dazu im Template von master.cf als letztes folgendes eintragen


2525 inet n - n - - smtpd
-o smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/my_login_map2
-o smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch, reject_unknown_sender_domain

der neue Port wäre hier 2525 und jede Option welche du nicht explizit mit -o setzt wird aus der main.cf genommen

makero
20.02.2014, 20:29
Danke für die schnelle Antwort jahlives.

Ja, der Mailserver ist hinter einem Router.
Werde das mit der weiteren SMTP Instanz und der Portumleitung mal probieren, aber wohl erst am Wochenende.
Ich vermute man muss den Port 2525 dann auch in der Firewall freigeben.

Gruß Roland

jahlives
20.02.2014, 20:36
nope du leitest am Router einfach Port 25 auf Port 2525 weiter. Kein Mailserver der Welt würde versuchen dir auf Port 2525 eine Mail zuzustellen :-)

makero
23.02.2014, 17:47
Hallo jahlives,
ich meinte die interne Firewall der Synology DS (die Standard Ports 25, 110, 143, 465, 993, 995 sind darin auch freigegen) und nicht die im Router (der hat eh keine richtige FW).
Das mit der SMTP Instanz auf Port 2525 habe ich jetzt nicht probiert. Ich denke dass ist mich (priv. + ges.) wohl nicht das Richtige.
Alle Clients (Outlook, Smartphones, Webmail) greifen nämlich nur noch über SSL Port 465 auf den SMTP-Server zu. Oder könnte das auch mit dem Port 465 gehen?

Die letzten beiden Zeilen der master.cf sehen so aus:


...
25 inet n - n - - smtpd
465 inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes



Ich habe auch schon probiert die beiden Zeilen 'smtpd_sender_login_maps' und 'smtpd_sender_restrictions' da (und im master.template) mit rein zuschreiben, so dass die master.cf dann so aussah:


...
25 inet n - n - - smtpd
465 inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
-o smtpd_sender_login_maps = hash:/var/packages/MailServer/target/etc/my_login_map2
-o smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch, reject_unknown_sender_domain



Hat aber irgendwie gar nichts gebracht. Im Gegenteil, durch die Ganze Rumprobiererei ging dann irgendwann gar nichts mehr. Ich musste meinen priv. Mail-Server dann sogar neu installieren damit ich wieder Mails senden konnte.

Gruß Roland

makero
25.02.2014, 19:24
zur Info: Wegen dem Problem 'smtpd_sender_login_maps' habe ich noch mal eine Support-Anfrage bei Synology direkt gestellt. Sobald ich was brauchbares dazu bekomme melde ich mich hier wieder.
Gruß Roland (makero)

jahlives
25.02.2014, 19:35
die Einträge zu den default Ports (25 und 465 und 587) werden wohl immer neugeschrieben. Drum bringt es auch nichts deine Einträge dort für einen default Port zu machen. Drum der Hinweis mit dem zusätzlichen Port, von diesem Eintrag lässt die DS die Finger. Ich vermute mal in deinem Fall ist folgendes passiert: du hast das Template angepasst. Trotzdem schreibt die DS einen expliziten Eintrag zu Port 465. Damit hast du 2 Einträge für Port 465 und das geht nie. Da stürzt der Postfix auf diesem Port sofort ab resp startet schon gar nicht :)