Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comm.software.mailserver > #6381

Userauthentifizierung von Exim via Courier funktioniert nicht mehr nach Update

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)

Show all headers | View raw


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 | NextNext in thread | Find similar | Unroll thread


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