Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comm.software.mailserver > #6381
| From | Sebastian Suchanek <sebastian.suchanek@gmx.de> |
|---|---|
| Newsgroups | de.comm.software.mailserver |
| Subject | Userauthentifizierung von Exim via Courier funktioniert nicht mehr nach Update |
| Date | 2021-04-20 12:05 +0200 |
| Message-ID | <s5m90f$r0s$1@msgid.suchanek.de> (permalink) |
Hallo NG!
[Disclaimer: Dieses Problem habe ich auch auf der deutschen
Debian-User-Mailingliste geschildert. Wenn sich eine Lösung findet,
werde ich eine Zusammenfassung auch an der jeweils anderen Stelle posten.]
Ausgangspunkt ist ein Server, der unter Debian Stretch läuft. Darauf
läuft u.a. Exim als MTA und Courier-IMAP, wobei bei beiden die
Userauthentifizierung über Courier-Authdaemon läuft. Dieses System lief
über Jahre problemlos bis zum jüngsten Update. (Wohlgemerkt
Sicherheitsupdate, kein Dist-Upgrade!) Im dringenden Verdacht habe ich
dabei das Paket courier-authdaemon bzw. die dazugehörigen Pakete - doch
der Reihe nach:
Nach dem Update, das neben courier-authdaemon auch die Pakete
courier-authlib-userdb, courier-authlib sowie diverse ClamAV-und
Phython-2.7-Pakete umfasste,hatte ich zunächst Fehlereinträge der
folgenden Art im Exim Logfile:
| 2021-04-20 06:42:39 plain authenticator failed for xxx ([yyy]) [zzz]:
435 Unable to authenticate at present (set_id=sebastian): failed to
connect to socket /var/run/courier/authdaemon/socket: Permission denied
("xxx", "yyy" und "zzz" sind jeweils anonymisierte Hostnamen und
IP-Adressen.)
Tatsächlich - der Socket hat zwar noch "globale" Zugriffsrechte...
| # ls -la /var/run/courier/authdaemon/socket
| srwxrwxrwx 1 root root 0 Apr 20 06:42 /var/run/courier/authdaemon/socket
| #
...das Verzeichnis obendrüber jedoch nicht (mehr):
| # ls -la /var/run/courier/
| total 8
| drwxrwxr-x 3 root courier 140 Apr 20 06:42 .
| drwxr-xr-x 41 root root 1480 Apr 20 06:36 ..
| drwxr-x--- 2 courier courier 100 Apr 20 06:42 authdaemon
| -rw-r--r-- 1 root root 6 Apr 20 06:42 imapd.pid
| -rw------- 1 root root 0 Mar 15 2020 imapd.pid.lock
| -rw-r--r-- 1 root root 6 Apr 20 06:42 imapd-ssl.pid
| -rw------- 1 root root 0 Mar 15 2020 imapd-ssl.pid.lock
| #
Das habe ich zunächst einmal hemdsärmelig so gelöst, dass ich den
Debian-User mit in die courier-Gruppe gepackt habe:
| # adduser Debian-exim courier
(Falls es dafür bessere Lösungen geben sollte: gerne her damit.)
Mitglied der "daemon"-Gruppe, wie man in älteren WWW-Fundstücken als
Lösungsvorschlag zu diesen Fehlermeldungen findet, war Debian-exim schon
vorher.
Das hat das Exim-Problem jedoch nur verlagert, nicht gelöst. Die
Fehlermeldungen im Exim-Logfile lauten jetzt:
| 2021-04-20 06:57:41 plain authenticator failed for xxx ([yyy]) [zzz]:
535 Incorrect authentication data (set_id=sebastian)
| 2021-04-20 06:57:44 login authenticator failed for xxx ([yyy]) [zzz]:
535 Incorrect authentication data (set_id=sebastian)
authtest sagt jedoch, dass alles in bester Ordnung wäre und auch das
Abrufen von Mail via courier-imap-ssal vom selben Server, der sich
natürlich auch gegen denselben courier-authdaemon authentifiziert,
klappt problemlos:
| # authtest sebastian $PASSWORT
| Authentication succeeded.
|
| Authenticated: sebastian (system username: sebastian)
| Home Directory: /home/sebastian
| Maildir: (none)
| Quota: (none)
| Encrypted Password: $HASH
| Cleartext Password: $PASSWORT
| Options: (none)
| #
(Statt "$PASSWORT" und "$HASH" stehen im Original natürlich das richtige
Passwort und ein echter Hash.)
In /var/log/auth.log steht dazu auch nur:
| Apr 20 06:57:39 tigersclaw authdaemond: pam_unix(exim:auth):
authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
user=sebastian
| Apr 20 06:57:41 tigersclaw authdaemond: pam_unix(exim:auth):
authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
user=sebastian
Und hier noch der Auszug der Authenticators aus meiner Exim-Config:
| [...]
| plain:
| driver = plaintext
| public_name = PLAIN
| client_send =
"^${extract{2}{::}{${lookup{$sender_address}lsearch*{CONFDIR/sender.smarthost.passwd}{$value}fail}}}\
|
^${extract{3}{::}{${lookup{$sender_address}lsearch*{CONFDIR/sender.smarthost.passwd}{$value}fail}}}"
| server_condition = \
| ${if eq {${readsocket{/var/run/courier/authdaemon/socket}\
| {AUTH
${strlen:exim\nlogin\n$2\n$3\n}\nexim\nlogin\n$2\n$3\n}}}{FAIL\n}{no}{yes}}
| server_set_id = $2
|
| login:
| driver = plaintext
| public_name = LOGIN
| client_send = ":
${extract{2}{::}{${lookup{$sender_address}lsearch*{CONFDIR/sender.smarthost.passwd}{$value}fail}}}
\
| :
${extract{3}{::}{${lookup{$sender_address}lsearch*{CONFDIR/sender.smarthost.passwd}{$value}fail}}}"
| server_prompts = Username:: : Password::
| server_condition = ${if eq
{${readsocket{/var/run/courier/authdaemon/socket} \
| {AUTH
${strlen:exim\nlogin\n$1\n$2\n}\nexim\nlogin\n$1\n$2\n}}}{FAIL\n}{no}{yes}}
| server_set_id = $1
| server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
| [...]
Wie gesagt: bis vor dem Update der courier-authdaemon-Pakete hat das
Setup einwandfrei funktioniert, aber jetzt gehen mir gerade die Ideen
aus, wo man noch suchen bzw. schrauben könnte. Exim und
courier-authdaemon habe ich inzwischen auch schon jeweils mehrfach neu
gestartet.
Lange Rede, kurzer Sinn: wie kriege ich Exim wieder dazu, gegen
courier-authdaemon zu authentifiziern?
Tschüs,
Sebastian
Back to de.comm.software.mailserver | Previous | Next — Next in thread | Find similar | Unroll thread
Userauthentifizierung von Exim via Courier funktioniert nicht mehr nach Update Sebastian Suchanek <sebastian.suchanek@gmx.de> - 2021-04-20 12:05 +0200
Re: Userauthentifizierung von Exim via Courier funktioniert nicht mehr nach Update Thomas Noll <-_tn_-@web.de> - 2021-04-20 10:38 +0000
Re: Userauthentifizierung von Exim via Courier funktioniert nicht mehr nach Update Sebastian Suchanek <sebastian.suchanek@gmx.de> - 2021-04-20 14:35 +0200
csiph-web