dovecot 2.3.21 - Fehler nach Ubuntu Update auf 22.04: Error: Failed to initialize SSL server context...

franc

Member
Hallo

ich habe meinen Ubuntu Server von 18.04 endlich auf 20.04 und dann gleich auf 22.04 aktualisiert, jetzt geht Dovecot nicht mehr.
Im dovecot.log steht:

Code:
Nov 26 01:13:10 imap-login: Error: Failed to initialize SSL server context: Can't load SSL certificate (ssl_cert setting): error:25066067:DSO support routines:dlfcn_load:could not load the shared library: filename(libproviders.so): libproviders.so: cannot open shared object file: No such file or directory, error:25070067:DSO support routines:DSO_load:could not load the shared library, error:0E07506E:configuration file routines:module_load_dso:error loading dso: module=providers, path=providers, error:0E076071:configuration file routines:module_run:unknown module name: module=providers: user=<>, rip=12.34.56.78, lip=87.65.43.21

Ich hatte ja nichts geändert, die bisherigen Konfigurationsdateien habe ich einfach übernommen.
Ich finde keine einschlägige Antwort dazu im Netz, hab so einiges probiert (Upgrading Dovecot v2.2 to v2.3 oder Dovecot will nach Upgrade auf Buster nicht mehr u.a.) Vorher hatte ich aber auch schon Dovecot 2.3.
Könnte es was mit OpenSSL 3 (auf Ubuntu 22.04) zu tun haben (Dovecot 2.3.18 failed to load certificate with OpenSSL 3.0)?
Das providers = provider_sect in /etc/ssl/openssl.cnf hatte ich testweise auch auskommentiert, hat aber auch nicht geholfen, dann habe ich im log:
Code:
Nov 26 02:13:18 auth: Error: auth client 0 disconnected with 1 pending requests: Connection reset by peer
Nov 26 02:13:18 auth: Error: auth client 0 disconnected with 1 pending requests: EOF
Nov 26 02:15:50 auth: Error: auth client 0 disconnected with 1 pending requests: Connection reset by peer

Hat jemand eine Ahnung, was das sein könnte?
Postfix geht noch, nur abholen kann ich meine Mails nicht mehr über IMAP (also mit Dovecot).

dovecot -n gibt u.a. aus:
Code:
...
ssl_cert = </etc/letsencrypt/live/example.org/fullchain.pem
...

Danke, franc

Dovecot 2.3.21 (47349e2482) auf Ubuntu 22.04.3 LTS
 
Last edited:
Code:
...could not load the shared library: filename(libproviders.so): \
      libproviders.so: cannot open shared object file: No such file or directory

So ein Fehler bedeutet grundsätzlich, dass einem Programm eine shared library fehlt und es deswegen nicht starten kann. Um nach spezifischen Dateien zu suchen und in welchem Paket diese sind, eignet sich bei Debian / Ubuntu das Programm apt-file. (apt update;apt install apt-file;apt-file update; apt-file search libproviders.so).

Bei mir wird auf einem Ubuntu 22.04 die Datei libproviders.so aber nicht gefunden. D. h. möglicherweise hast Du da Pakete aus anderen Paketquellen installiert? D. h. führe die apt-file - Suche bei Dir selbst mal aus, vielleicht wird dort etwas gefunden. Falls ja: Installiere das entsprechende Paket, am besten auch mit apt install --reinstall <paketname>. Im Übrigen, was hast Du auf Deinem Server in /etc/apt/sources.list eingetragen? Was sind die Dateiinhalte von /etc/apt/sources.list.d/*.list ?
 
Last edited:
In der Tat hatte ich Dovecot (wg. Postfixadmin) mal händisch von 2.2 auf 2.3 aktualisiert, da musste ich eine Quelle eintragen.
Code:
~#l /etc/apt/sources.list.d/*.list
-rw-r--r-- 1 root root 259 Nov 25 23:38 /etc/apt/sources.list.d/certbot-certbot-trusty.list
-rw-r--r-- 1 root root  70 Nov 25 23:38 /etc/apt/sources.list.d/certbot-ubuntu-certbot-bionic.list
-rw-r--r-- 1 root root  70 Nov 25 23:38 /etc/apt/sources.list.d/certbot-ubuntu-certbot-xenial.list
-rw-r--r-- 1 root root 125 Nov 25 23:38 /etc/apt/sources.list.d/couchdb.list
-rw-r--r-- 1 root root 125 Nov 25 23:38 /etc/apt/sources.list.d/dovecot.list
-rw-r--r-- 1 root root 885 Nov 25 23:38 /etc/apt/sources.list.d/mariadb.list
-rw-r--r-- 1 root root 177 Nov 25 23:38 /etc/apt/sources.list.d/ondrej-apache2-trusty.list
-rw-r--r-- 1 root root 175 Nov 25 23:38 /etc/apt/sources.list.d/ondrej-php-qa-trusty.list
-rw-r--r-- 1 root root 364 Nov 25 23:38 /etc/apt/sources.list.d/ondrej-php-trusty.list
-rw-r--r-- 1 root root 175 Nov 25 23:38 /etc/apt/sources.list.d/ondrej-ubuntu-apache2-bionic.list
-rw-r--r-- 1 root root 167 Nov 25 23:38 /etc/apt/sources.list.d/ondrej-ubuntu-php-bionic.list
-rw-r--r-- 1 root root 173 Nov 25 23:38 /etc/apt/sources.list.d/ondrej-ubuntu-php-qa-bionic.list
-rw-r--r-- 1 root root 183 Nov 25 23:38 /etc/apt/sources.list.d/ondrej-ubuntu-pkg-gearman-bionic.list
-rw-r--r-- 1 root root 127 Nov 25 23:38 /etc/apt/sources.list.d/owncloud.list
-rw-r--r-- 1 root root 268 Nov 25 23:38 /etc/apt/sources.list.d/ubuntu-esm-apps.list
-rw-r--r-- 1 root root 276 Nov 25 23:38 /etc/apt/sources.list.d/ubuntu-esm-infra.list
-rw-r--r-- 1 root root 181 Nov 25 23:38 /etc/apt/sources.list.d/webupd8team-java-trusty.list

Und in dovecot.list steht aber (also auskommentiert):
Code:
# deb [arch=amd64] https://repo.dovecot.org/ce-2.3-latest/ubuntu/bionic focal main # Bei Aktualisierung zu focal deaktiviert
Dovecot scheint aber noch von 18.04 zu kommen:
Code:
#sudo apt show dovecot-core
Package: dovecot-core
Version: 2:2.3.21-1+ubuntu18.04
Status: install ok installed
Priority: optional
Section: mail
Source: dovecot
Maintainer: Dovecot CE Maintainers <dovecot-ce@dovecot.org>
Installed-Size: 19,8 MB
Provides: dovecot-abi-2.3.abiv21, dovecot-common
Depends: libbz2-1.0, libc6 (>= 2.27), libexttextcat-2.0-0 (>= 3.3.0), liblz4-1 (>= 0.0~r130), liblzma5 (>= 5.1.1alpha+20120614), libpam0g (>= 0.99.7.1), libsodium23 (>= 1.0.13), libssl1.1 (>= 1.1.0), libstemmer0d (>= 0+svn527), libsystemd0, libwrap0 (>= 7.6-4~), libzstd1 (>= 1.3.2), zlib1g (>= 1:1.1.4), libpam-runtime (>= 0.76-13.1), openssl, adduser, ucf (>= 2.0020), lsb-base
Suggests: ntp, dovecot-gssapi, dovecot-sieve, dovecot-pgsql, dovecot-mysql, dovecot-sqlite, dovecot-ldap, dovecot-imapd, dovecot-pop3d, dovecot-lmtpd, dovecot-managesieved, dovecot-solr, dovecot-lucene, dovecot-submissiond, dovecot-lua
Conflicts: dovecot-antispam
Breaks: dovecot-common (<< 1:2.0.14-2~), mailavenger (<< 0.8.1-4)
Replaces: dovecot-common (<< 1:2.0.14-2~), mailavenger (<< 0.8.1-4)
Homepage: http://dovecot.org/
Download-Size: unbekannt
APT-Manual-Installed: yes
APT-Sources: /var/lib/dpkg/status
Description: Sicherer POP3-/IMAP-Server - Systemkern...
Also ich vermute stark, dass der alte Dovecot von 18.04 nicht passt und ich ihn aktualisieren müsste auf die 22.04 Version.
Aber apt install --reinstall dovecot-core macht das nicht.
 
Weil Dein Dovecot aus dem 3rd-Party-Repo stammt. Ein force-uninstall von Dovecot (und allen anderen Paketen aus dem 3rd-Party-Repo) mit anschliessendem clean-install sollte helfen...

Merke: Bei Binary-Distros verwendet man keine 3rd-Party-Repos, ausser man weiss ganz genau was man tut und wie man etwaige Probleme selbst löst (aka man besitzt das nötige Fachwissen)...
 
Ich habe jetzt die "aktuelle" Version (wird als jammy angezeigt) von Dovecot für Ubuntu 22.04 installiert, von: Dovecot community repositories
Also nach offizieller Anleitung, geht allerdings nur bis Ubuntu 20.04, von Dovecot selbst aus.
Hat nichts geändert.
Dann hab ich einen Downgrade gemacht auf die Ubuntu Version, auch keine Änderung.
Code:
#sudo apt list -a dovecot-core
Auflistung… Fertig
dovecot-core/focal,now 2:2.3.21-1+ubuntu20.04 amd64  [installiert]
dovecot-core/jammy-updates 1:2.3.16+dfsg1-3ubuntu2.2 amd64
dovecot-core/jammy-security 1:2.3.16+dfsg1-3ubuntu2.1 amd64
dovecot-core/jammy 1:2.3.16+dfsg1-3ubuntu2 amd64

Die libproviders.so finde ich mit apt-file übrigens auch nicht.

Ich muss wohl Dovecot komplett purgen und sauber neu installieren und wieder konfigurieren, anders sehe ich keinen Ausweg.
 
Bzw. keine Änderung ist falsch, es geht nicht, aber mit nicht mehr der selben Fehlermeldung, jetzt lese ich im dovecot.log:
Code:
...
Nov 26 15:17:27 auth: Error: auth client 0 disconnected with 1 pending requests: EOF
Nov 26 15:18:03 auth: Error: auth client 0 disconnected with 1 pending requests: EOF
Nov 26 15:18:16 auth: Error: auth client 0 disconnected with 1 pending requests: EOF
Nov 26 15:18:47 auth: Error: auth client 0 disconnected with 1 pending requests: Connection reset by peer
Nov 26 15:19:16 auth: Error: auth client 0 disconnected with 1 pending requests: Connection reset by peer
Nov 26 15:20:09 auth: Error: auth client 0 disconnected with 1 pending requests: Connection reset by peer
Nov 26 15:21:06 auth: Error: auth client 0 disconnected with 1 pending requests: Connection reset by peer
Nov 26 15:22:33 auth: Error: auth client 0 disconnected with 1 pending requests: Connection reset by peer
Nov 26 15:23:47 auth: Error: auth client 0 disconnected with 1 pending requests: Connection reset by peer
Nov 26 15:24:29 auth: Error: auth client 0 disconnected with 1 pending requests: Connection reset by peer
Nov 26 15:25:44 auth: Error: auth client 0 disconnected with 1 pending requests: Connection reset by peer
 
Last edited:
Auffällig ist, dass im dovecot-debug.log durchaus Anfragen von zahllosen Bruteforcern zu lesen sind:
Code:
Nov 26 17:35:12 auth: Debug: client in: CONT    88      cGFzc3dvcmQ= (previous base64 data may contain sensitive data)
Nov 26 17:35:12 auth: Debug: sql(rashid@example.org,80.94.95.181): Performing passdb lookup
Nov 26 17:35:12 auth: Debug: sql(rashid@example.org,80.94.95.181): cache miss
Nov 26 17:35:12 auth-worker(3357): Debug: conn unix:auth-worker (pid=3355,uid=110): auth-worker<147>: Handling PASSV request
Nov 26 17:35:12 auth-worker(3357): Debug: conn unix:auth-worker (pid=3355,uid=110): auth-worker<147>: sql(rashid@example.org,80.94.95.181): Performing passdb lookup
Nov 26 17:35:12 auth-worker(3357): Debug: conn unix:auth-worker (pid=3355,uid=110): auth-worker<147>: sql(rashid@example.org,80.94.95.181): query: SELECT email as user, password FROM view_users WHERE email='rashid@example.org';
Nov 26 17:35:12 auth-worker(3357): Debug: mysql(127.0.0.1): Finished query 'SELECT email as user, password FROM view_users WHERE email='rashid@example.org';' in 0 msecs
Nov 26 17:35:12 auth-worker(3357): Debug: conn unix:auth-worker (pid=3355,uid=110): auth-worker<147>: sql(rashid@example.org,80.94.95.181): Finished passdb lookup
Nov 26 17:35:12 auth-worker(3357): Debug: conn unix:auth-worker (pid=3355,uid=110): auth-worker<147>: Finished: user_unknown
Nov 26 17:35:12 auth: Debug: sql(rashid@example.org,80.94.95.181): Finished passdb lookup
Nov 26 17:35:12 auth: Debug: auth(rashid@example.org,80.94.95.181): Auth request finished
Nov 26 17:35:12 auth: Debug: client in: CONT    64      Y3c= (previous base64 data may contain sensitive data)
Nov 26 17:35:12 auth: Debug: client passdb out: CONT    64      UGFzc3dvcmQ6
Nov 26 17:35:13 auth: Debug: client in: CONT    64      Y3c= (previous base64 data may contain sensitive data)
Nov 26 17:35:13 auth: Debug: sql(cw,46.148.40.116): Performing passdb lookup
Nov 26 17:35:13 auth: Debug: sql(cw,46.148.40.116): cache miss
Nov 26 17:35:13 auth-worker(3357): Debug: conn unix:auth-worker (pid=3355,uid=110): auth-worker<148>: Handling PASSV request
Nov 26 17:35:13 auth-worker(3357): Debug: conn unix:auth-worker (pid=3355,uid=110): auth-worker<148>: sql(cw,46.148.40.116): Performing passdb lookup
Nov 26 17:35:13 auth-worker(3357): Debug: conn unix:auth-worker (pid=3355,uid=110): auth-worker<148>: sql(cw,46.148.40.116): query: SELECT email as user, password FROM view_users WHERE email='cw';
Nov 26 17:35:13 auth-worker(3357): Debug: mysql(127.0.0.1): Finished query 'SELECT email as user, password FROM view_users WHERE email='cw';' in 1 msecs
Nov 26 17:35:13 auth-worker(3357): Debug: conn unix:auth-worker (pid=3355,uid=110): auth-worker<148>: sql(cw,46.148.40.116): Finished passdb lookup
Nov 26 17:35:13 auth-worker(3357): Debug: conn unix:auth-worker (pid=3355,uid=110): auth-worker<148>: Finished: user_unknown
Nov 26 17:35:13 auth: Debug: sql(cw,46.148.40.116): Finished passdb lookup
Nov 26 17:35:13 auth: Debug: auth(cw,46.148.40.116): Auth request finished
Nov 26 17:35:14 auth: Debug: client passdb out: FAIL    88      user=rashid@example.org
Nov 26 17:35:15 auth: Debug: client passdb out: FAIL    64      user=cw
Aber meine eigenen Anfragen (IMAP) sind nicht zu finden. In meinem Client lese ich:
Code:
failed to connect to example.org/12.34.56.78 (port 993) from ***** (port *****) after 20000ms:
isConnected failed: ECONNREFUSED (Connection refused)
Als ob Dovecot meine Anfragen gar nicht erreicht.
fail2ban ist aus (geht auch noch nicht), außerdem bin ich ja die ganze Zeit per SSH auf dem Server, also meine IP wird nicht geblockt.
Vielleicht geht nur IMAP nicht und die Bruteforcer sind POP3 Anfragen?
 
Wenn die Dateienamen der verschiedenen Repositories ein Indiz für deren Inhalt sind, mischt du fleissig Quellen von verschiedenen Ubuntu-Versionen. Das schreit quasi danach, dass Probleme auftreten - bitte dringend bereinigen, sonst ist das nächste Problem quasi schon vorprogrammiert.
 
Dovecot ist in den Ubuntu-Repositories bereits enthalten, dafür braucht es normalerweise keine 3rd-Party Repositories. Die setzt man nur ein, wenn man zwingend eine andere Version als die in der Distribution enthaltene benötigt oder die Software dort gar nicht existiert.
Ansonsten verweise ich noch mal auf das, was @Joe User oben schon geschrieben hat:
Merke: Bei Binary-Distros verwendet man keine 3rd-Party-Repos, ausser man weiss ganz genau was man tut und wie man etwaige Probleme selbst löst (aka man besitzt das nötige Fachwissen)...
Und nein, ich habe meinen Beitrag nicht auf Dovecot bezogen, sondern allgemein auf dein Mischmasch aus Quellen für verschiedene Repositories, was dringend mal aufgeräumt werden sollte.
 
... Mischmasch aus Quellen für verschiedene Repositories, was dringend mal aufgeräumt werden sollte.
Tatsächlich habe ich heute den größten Teil der Quellen in /etc/apt/sources.list.d/ rausgeworfen und nur noch die Ubuntu Quellen (und die für CouchDB) drin gelassen.
Der "Mischmasch" war meinem veralteten OS geschuldet, das ich mich lange gescheut hatte (ich weiß genau warum) zu aktualisieren.
Aber als PHP keine Quellen mehr für bionic zur Verfügung stellte, nachdem das EOL war, und ich ein Paket (mbstring) hätte nachladen müssen, was nicht ging, war es dann zwingend nötig zu aktualisieren.
Es geht jetzt auch schon weitgehend alles, glaube ich. Ging abgesehen von Dovecot (wofür ich selbst schuld bin) recht glimpflich durch.
 
Last edited:
Back
Top