poostfix + dovcot sasl

Kai Fürstenberg kai_postfix at fuerstenberg.ws
Mi Nov 1 14:28:59 CET 2017


Hallo Günther,

Am 27.10.2017 um 13:36 schrieb Günther J. Niederwimmer:
> Am Dienstag, 24. Oktober 2017, 14:51:22 CEST schrieb Kai Fürstenberg:
>> moin,
>>
>> Am 24.10.2017 um 14:15 schrieb Günther J. Niederwimmer:
>>> Hallo,
>>> kann mir von Euch jemand auf die richtige Spur bringen ?
>>>
>>> Ich habe seit neuestem diese Meldungen die User gibt es aber nicht!
>>>
>>> -Queue ID-  --Size-- ----Arrival Time---- -Sender/Recipient-------
>>> 848A220110D0   132700 Tue Oct 24 07:38:35  mail-
>>> GUIDQ7BSGDKB6JMNGFSCHN6A at info.wirkaufendeinauto.at
>>> (host 127.0.0.1[127.0.0.1] said: 451 4.3.0 <ghkk at gjn.at> Internal error
>>> occurred. Refer to server log for more information. (in reply to RCPT TO
>>> command))
>>
>> da steht "refer to server log for more information". Du lieferst es aber
>> leider nicht mit.
>>
>> Im Log solltest du die passende Antwort finden.
> Das einzige was ich finde ist noch verwirrender ?
>
> Laut den logs dürfte da nichts durchkommen!!
> Warum da ein PASS OLD steht ist mit schleierhaft...
>
> da muss irgendwo ein cache sein der nicht gelöscht wird ?
>
>
> Oct 27 09:04:07 mx01 postfix/postscreen[12043]: CONNECT from [178.77.121.168]:
> 52162 to [89.26.108.7]:25
> Oct 27 09:04:07 mx01 postfix/dnsblog[12276]: addr 178.77.121.168 listed by
> domain list.dnswl.org as 127.0.15.0
> Oct 27 09:04:07 mx01 postfix/dnsblog[12286]: addr 178.77.121.168 listed by
> domain wl.mailspike.net as 127.0.0.18
> Oct 27 09:04:07 mx01 postfix/dnsblog[12273]: addr 178.77.121.168 listed by
> domain hostkarma.junkemailfilter.com as 127.0.0.1
> Oct 27 09:04:07 mx01 postfix/dnsblog[12273]: addr 178.77.121.168 listed by
> domain hostkarma.junkemailfilter.com as 127.0.1.1
> Oct 27 09:04:09 mx01 postfix/postscreen[12043]: PASS OLD [178.77.121.168]:52162
> Oct 27 09:04:15 mx01 postfix/smtpd[12290]: connect from 005.de-
> mx.crsend.com[178.77.121.168]
> Oct 27 09:04:16 mx01 postfix/smtpd[12290]: Trusted TLS connection established
> from 005.de-mx.crsend.com[178.77.121.168]: TLSv1.2 with cipher ECDHE-RSA-
> AES256-GCM-SHA384 (256/256 bits)
> Oct 27 09:04:16 mx01 postfix/smtpd[12290]: 5BACA20110D0: client=005.de-
> mx.crsend.com[178.77.121.168]
> Oct 27 09:04:16 mx01 postfix/smtpd[12290]: disconnect from 005.de-
> mx.crsend.com[178.77.121.168] ehlo=2 starttls=1 mail=1 rcpt=1 data=1 quit=1
> commands=7
> Oct 27 09:07:36 mx01 postfix/anvil[12298]: statistics: max connection rate
> 1/60s for (smtpd:178.77.121.168) at Oct 27 09:04:16
> Oct 27 09:07:36 mx01 postfix/anvil[12298]: statistics: max connection count 1
> for (smtpd:178.77.121.168) at Oct 27 09:04:16
>

Das Log hat mit der Mail oben nichts zu tun. Du hast offenbar ein 
Zustellungs-/Übermittlungsproblem bei nicht existenten Usern. Dazu aber 
später.

Deine Restiktionen sind auch nicht unbedingt sinnvoll in Reihenfolge 
gebracht:

> smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname

Da dein smtpd_delay_reject per default auf "yes" steht, erfolgen diese 
Tests erst nach dem RCPT TO. Du kannst die Test somit mit den 
smtpd_recipient_restrictions kombinieren.

> smtpd_recipient_restrictions = permit_sasl_authenticated,
> permit_auth_destination, permit_mynetworks, reject_unverified_recipient,
> reject_unauth_destination, reject

Du gehst hier den umgekehrten Weg, was im Grunde in Ordnung ist. Aber 
die Reihenfolge ist entscheidend. Die erste Regel, die zutrifft, gewinnt.

Durch das permit_auth_destination wird eine Mail angenommen, wenn sie 
für deine Domain bestimmt ist. Hier wird der Empfänger aber nicht 
geprüft. Das soll wohl laut deinen Restriktionen im Nachhinein erfolgen, 
passiert aber letztlich nicht mehr, weil die Mail schon durch das 
permit_auth_destination akzeptiert wurde.

Du müsstest das reject_unverified_recipient _vor_ das 
permit_auth_destination setzen. Das ist aber nicht sinnvoll, zumindest 
nicht an dieser Stelle.

Auch benutzt du permit_auth_destination und reject_unauth_destination 
zusammen. Das schließt sich zwar nicht aus, ist aber unnötig.

Du kannst das alles vereinfachen:

1. Schmeiß die Helo-Restrictions raus.

2. Sortiere die recipient_restrictions anders:
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_unauth_destination

Damit erlaubst du erst mal das eigene Netzwerk und SASL-User. Alle Mails 
die dann nicht für deine Domains bestimmt sind, werden abgelehnt. Ab 
hier ist permit_auth_destination unnötig.

Danach noch ein:
   reject_invalid_hostname,
   reject_unverified_recipient

... und das war's. Was bis hier hin kommt, ist für dich bestimmt und in 
Ordnung und kann zugestellt werden. Du könntest jetzt noch ein
   permit
setzen, ist aber nicht erforderlich.

Das löst das Problem mit den Mails an nicht existente User aber nicht.

Es heißt ganz klar:

> (host 127.0.0.1[127.0.0.1] said: 451 4.3.0 <200801241206.33968 at gjn.priv.at>
> Internal error occurred. Refer to server log for more information. (in reply
> to RCPT TO command))

Der Fehler liegt intern auf deinem Server (127.0.0.1). Welcher Fehler 
das ist, steht im Log zu dieser Mail.

Du müsstest eigentlich die gleiche Fehlermeldung bekommen, wenn du per 
SASL eine Mail an einen nicht existenten User auf deinem Server sendest.

-- 
Kai Fürstenberg

PM an: kai at fuerstenberg punkt ws



Mehr Informationen über die Mailingliste Postfixbuch-users