Moin zusammen,
ich betreibe im heimischen LAN u.a. einen per KVM virtualisierten Server. Der Server dient der Vorbereitung eines später anzumietenden live Servers, auf dem Dinge wie Application-Backends, phpmyadmin, postfixadmin und Mail-Dienste ausschließlich per ssl/tls mit sicheren Ciphers erreichbar sein sollen. Läuft auch fast alles, außer bei verschlüsselten Verbindungen vom Client zu Mail Diensten.
Da ich an vielen Stellen tls einsetzen möchte, habe ich mich selbst als Root-CA (myCA.pem, myCA.crt) definiert. Mit meinem Root_CA habe ich dann ein Wildcard Zertifikat für den Server unterzeichnet (myServer.cert.crt, myServer.unsecure.key), und in den Apache ssl-Hosts sowie den Mailprogrammen verlinkt. Importiere ich myCA.crt auf den LAN Clients (+ sudo dpkg-reconfigure ca-certificates), so können sich diese ohne jedes Gemecker aus Firefox verbinden. Chrome verschlüsselt die Verbindung, weist sie aber dennoch als "unsicher" aus, obwohl myCA.crt auch hier importiert wurde. Trotzdem klappen die Zertifikate mit allen ssl/tls Apache Domains.
Telnet vom Server klappt auf Port 110 und 143. Beim Client Login per Telnet klappt pop3:110, nicht jedoch 143 (Plaintext authentication disallowed on non-secure (SSL/TLS)
interessanter wirds bei diesen Tests, ausgeführt vom Client:
openssl s_client -connect parmenides.unkommod-local.eu:993 # Verbindung scheitert: Verify return code: 21 (unable to verify the first certificate)
dagegen:
openssl s_client -CApath /etc/ssl/certs -connect parmenides.unkommod-local.eu:993 # Verbindung klappt: Verify return code: 0 (ok)
Der einzige unterschied zwischen funktionierender und gescheiterter Variante ist "-CApath /etc/ssl/certs".
Mein privates Root_CA ist auf Server und Clients installiert (+ sudo dpkg-reconfigure ca-certificates), scheint aber nicht gefunden (oder ignoriert) zu werden. Dovecot Logging ist aktiviert. Bei fehlgeschlagenen Versuchen steht in syslog und mail.log:
Apr 17 21:06:19 parmenides dovecot: auth: Debug: auth client connected (pid=7681) Apr 17 21:08:21 parmenides dovecot: imap-login: Disconnected (no auth attempts in 122 secs): user=<>, rip=192.168.2.20, lip=192.168.2.23, TLS: Disconnected, session=<YJDCTfAT8ADAqAIU>
Der user bleibt also schon mal auf der Strecke, wohl weil die TLS Verbindung nicht klappt. Reiche ich den "CApath" mit, so sieht alles bestens aus, und User-Lookup in der DB klappt. Auch das Serverzertifikat scheint grundsätzlich zu klappen.
Bin nach 20 Stunden Fehlersuche etwas groggy. Vielleicht hat ja jemand eine Idee?
Grüße,
Thomas