Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:dovecot_archlinux_-_ssl_tls

Dovecot ArchLinux - SSL/TLS

:!: HINWEIS - Die Nachfolgende Konfiguration von Dovecot setzt eine lauffähige Installation von Dovecot voraus, wie unter nachfolgendem internen Link beschrieben:

* Dovecot ArchLinux

Dovecot ist ein Quelloffener IMAP-und POP3-E-Mail-Server für Linux bzw. UNIX-ähnlichen Systeme, entwickelt mit dem Hauptaugenmerk auf Sicherheit. Dovecot ist eine ausgezeichnete Wahl für kleine und grosse Installationen. Dovecot ist schnell und einfach zu installieren, erfordert keine besonderen Voraussetzungen und ist Ressourcenschonend.

Dovecot wird von Timo Sirainen entwickelt und soll hier in der Version CE zum Einsatz kommen.

Beschreibung Externer Link
Homepage Dovecot
Dokumentation https://doc.dovecot.org/2.3/

Ab hier werden root-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root zu werden geben Sie bitte folgenden Befehl ein:

$ su -
Password: 

Voraussetzungen

Für die nachfolgende Installation wird vorausgesetzt,

  • dass eine lauffähige Version von Dovecot ab Version 2.3

vorhanden ist und die unter nachfolgendem Link beschriebene Installation und Konfiguration von Dovecot als Mindestvoraussetzung zwingend durchgeführt wurde:

Zur Ermittlung der zu verwendenden „Cipher Suiten“, kann optional nachfolgendes Paket installiert werden:

  1. Installation von testssl.sh
    testssl.sh - ist im AUR-Repository von ArchLinux - AUR enthalten.

Die Einbindung des AUR-Repositories, kann wie in nachfolgenden internen Link beschrieben

durchgeführt werden.

Installation: testssl.sh

Zur Installation von testssl.sh wird nachfolgendes Paket benötigt:

Mit nachfolgendem Befehl, wird das Pakete testssl.sh installiert:

# pikaur -S --noconfirm testssl.sh

Installationsverlauf

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket testssl.sh installiert wurden:

# pikaur -Qil testssl.sh

Installierte Dateien

TLS-Zertifikat erstellen

Damit der Dovecot-Server via TLS/StartTLS-Verschlüsselung E-Mails aus Postfächern anzeigen und empfangen kann - und dies auch mit E-Mail-Clients (MUA) im Internet, muss zuerst ein Zertifikat erzeugt werden. Dabei soll ein öffentliches Zertifikat von der Zertifizierungsstelle Let's Encrypt - Freie SSL/TLS Zertifikate zum Einsatz kommen.

Nachfolgende interne Link beschreiben eine Möglichkeit der Ausstellung von Zertifikaten von der Zertifizierungsstelle Let's Encrypt - Freie SSL/TLS Zertifikate:

:!: HINWEIS - Nachfolgend soll der Einsatz eines Let's Encrypt - Wildcard Zertifikat zum Einsatz kommen.

TLS-Zertifikat installieren

Nach dem ein Zertifikat wie hier: Let's Encrypt - Wildcard Zertifikat beschrieben erstellt wurde, müssen die benötigen Komponenten noch an die entsprechenden Stellen im Betriebssystem kopiert werden. Dazu sind nachfolgende Befehle notwendig.

Bevor mit der abschliessenden Konfiguration von Dovecot zur Nutzung von TLS-Verschlüssellung begonnen werden kann, sind die in den vorhergehenden Schritten erstellten Dateien:

  • /opt/dehydrated-master/certs/tachtler.net/privkey.pem
  • /opt/dehydrated-master/certs/tachtler.net/fullchain.pem

noch zu kopieren, umzubenennen und zusammen zu fassen und die Besitz- und Dateirechte der entsprechend Dateien noch anzupassen!

Als erstes werden mit den nachfolgenden Befehlen zwei neue Verzeichnisse im bestehen Verzeichnis /etc/dovecot angelegt:

# mkdir -p /etc/dovecot/ssl/{certs,private}

Anschliessend werden mit den nachfolgenden Befehlen die entsprechenden Dateien an den jeweiligen Bestimmungsort kopiert und ggf. umbenannt:

# cp -a /opt/dehydrated-master/certs/tachtler.net/privkey.pem /etc/dovecot/ssl/private/privkey.pem
# cp -a /opt/dehydrated-master/certs/tachtler.net/fullchain.pem /etc/dovecot/ssl/certs/fullchain.pem

Die Besitz- und Dateirechte der soeben kopieren und ggf. umbenannten Dateien

  • /etc/dovecot/ssl/private/privkey.pem
  • /etc/doveot/ssl/certs/fullchain.pem

können mit folgenden Befehlen die Besitzrechte wie folgt korrigiert werden:

# chown root:root /etc/dovecot/ssl/private/privkey.pem
# chown root:root /etc/dovecot/ssl/certs/fullchain.pem

und mit folgenden Befehlen die Dateirechte:

# chmod 400 /etc/dovecot/ssl/private/privkey.pem
# chmod 444 /etc/dovecot/ssl/certs/fullchain.pem

Durch Ausführen der oben genannten Befehle sieht der Inhalt des Verzeichnisses

  • /etc/dovecot/ssl

wie folgt aus, welches mit nachfolgendem Befehl aufgelistet werden kann:

# ls -l /etc/dovecot/ssl/*
/etc/dovecot/ssl/certs:
total 4
-r--r--r-- 1 root root 3968 Dec 16 19:32 fullchain.pem

/etc/dovecot/ssl/private:
total 4
-r-------- 1 root root 3242 Dec 16 19:32 privkey.pem

Konfiguration

Nachfolgende Konfigurationen sind notwendig, um einen SSSL/TLS gesicherten Dovecot zu betreiben.

/etc/dovecot/conf.d/10-ssl.conf

In dieser Konfigurationsdatei werden die Parameter für die Verschlüsselung SSL/TLS festgelegt.

Die in der vorhergehenden Konfiguration, welche unter nachfolgendem internen Link nachzulesen ist

kann jetzt wiederum teilweise revidiert und angepasst werden.

ssl

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl
Dovecot SSL Configuration
Defaultwert
ssl = yes
Neuer Wert
ssl = required
Konfiguration
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
# Tachtler
# default: #ssl = yes
ssl = required
Beschreibung Die Stufe der SSL-Unterstützung. Diese Einstellung wirkt sich sowohl auf die impliziten SSL-Ports als auch auf die STARTTLS-Befehle aus.

Optionen:

no = SSL/TLS ist vollständig deaktiviert.
yes = SSL/TLS ist aktiviert, aber nicht unbedingt für clients erforderlich.
required = SSL/TLS ist für alle imap-, pop3-, managesieve- und submission-Protokoll-client-Verbindungen erforderlich.

Dies unterscheidet sich von disable_plaintext_auth dadurch, dass auch Nicht-Plaintext-Authentifizierungsmechanismen ohne SSL/TLS nicht erlaubt sind.

Zu beachten ist, dass SSL für „gesicherte“ Verbindungen immer noch nicht erforderlich ist, wenn:

¹ Client-IP ist in login_trusted_networks
² Die Client-IP ist von localhost und kommt nicht vom HAProxy-Listener

Siehe auch Dovecot SSL Configuration
Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-auth.conf - disable_plaintext_auth
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl_cert
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl_key

Der Standardwert ist auf yes gesetzt. Nachfolgende Werte sind hier möglich

  • no = SSL/TLS ist vollständig deaktiviert
  • yes = SSL/TLS ist aktiviert, aber nicht unbedingt für clients zwingednd
  • required = SSL/TLS ist für alle imap-, pop3-, managesieve- und submission-Protokoll-client-Verbindungen zwingend vorgeschrieben

Diese Definition aktiviert, deaktiviert und erzwingt den Zugriff von Rechnern, ausser localhost, zur Verwendung einer SSL/TLS-verschlüsselte Verbindung.

ssl_cert

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl_cert
Dovecot SSL Configuration
Defaultwert
ssl_cert = </etc/ssl/certs/dovecot.pem
Neuer Wert
ssl_cert = </etc/dovecot/ssl/certs/fullchain.pem
Konfiguration
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
# Tachtler
# default: ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_cert = </etc/dovecot/ssl/certs/fullchain.pem
# Tachtler
# default: ssl_key = </etc/ssl/private/dovecot.pem
ssl_key = </etc/dovecot/ssl/private/privkey.pem
Beschreibung Das PEM-kodierte X.509 SSL/TLS-Zertifikat, das für eingehende imap/pop3/etc.-client-Verbindungen vorgelegt wird.

Der ssl_key wird auch für das private Zertifikat benötigt.

Beispiel:

ssl_cert = </etc/ssl/private/dovecot.crt
ssl_key = </etc/ssl/private/dovecot.key


Siehe auch Dovecot SSL Configuration

Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl_key

ssl_key

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl_key
Dovecot SSL Configuration
Defaultwert
ssl_key = </etc/ssl/private/dovecot.pem
Neuer Wert
ssl_key = </etc/dovecot/ssl/private/privkey.pem
Konfiguration
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
# Tachtler
# default: ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_cert = </etc/dovecot/ssl/certs/fullchain.pem
# Tachtler
# default: ssl_key = </etc/ssl/private/dovecot.pem
ssl_key = </etc/dovecot/ssl/private/privkey.pem
Beschreibung Der PEM-kodierte X.509 SSL/TLS private Schlüssel für ssl_cert.

Beispiel:

ssl_cert = </etc/ssl/private/dovecot.crt
ssl_key = </etc/ssl/private/dovecot.key


Siehe auch Dovecot SSL Configuration

Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl_cert

ssl_dh

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl_dh
Dovecot SSL Configuration
Defaultwert
ssl_dh = 
Neuer Wert
ssl_dh = </etc/dovecot/dh.pem
Konfiguration
# SSL DH parameters
# Generate new params with `openssl dhparam -out /etc/dovecot/dh.pem 4096`
# Or migrate from old ssl-parameters.dat file with the command dovecot
# gives on startup when ssl_dh is unset.
# Tachtler
# default: #ssl_dh = </etc/dovecot/dh.pem
ssl_dh = </etc/dovecot/dh.pem 
Beschreibung Neu in Version v2.3.0. Ab Dovecot v2.3 muss der Pfad zur Diffie-Hellman-Parameterdatei angegeben werden. Diese Einstellung ist nicht erforderlich, wenn nur ECDSA-Zertifikate verwendet werden.

Es kann mit nachfolgendem Befehl eine neue Parameterdatei erzeugen: openssl gendh 4096 auf einem Rechner mit ausreichender Entropie ausgeführt werden. (dies kann einige Zeit dauern).

Beispiel:

ssl_dh = </path/to/dh.pem

Siehe auch Dovecot SSL Configuration

:!: HINWEIS - Mit nachfolgendem Befehl, kann die Diffie-Hellman-Parameterdatei direkt erzeugt werden (Befehlsausgabe wurde gekürzt):

# openssl dhparam 4096 > /etc/dovecot/dh.pem
Generating DH parameters, 4096 bit long safe prime

Die Besitz- und Dateirechte der soeben erzeugten Datei

  • /etc/dovecot/dh.pem

können angepasst werden. Die Besitzrechte können wie folgt korrigiert werden:

# chown root:root /etc/dovecot/dh.pem

und mit folgenden Befehlen die Dateirechte:

# chmod 400 /etc/dovecot/dh.pem

Durch Ausführen der oben genannten Befehle sehen die Besitz - und Dateirechte für

  • /etc/dovecot/dh.pem

wie folgt aus, welche mit nachfolgendem Befehl aufgelistet werden können:

# ls -l /etc/dovecot/dh.pem
-r-------- 1 root root 773 Dec 16 14:20 /etc/dovecot/dh.pem

ssl_min_protocol

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl_min_protocol
Dovecot SSL Configuration
Defaultwert
ssl_min_protocol = TLSv1.2
Neuer Wert KEIN neuer Wert!
Konfiguration
# Minimum SSL protocol version to use. Potentially recognized values are SSLv3,
# TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3, depending on the OpenSSL version used.
#
# Dovecot also recognizes values ANY and LATEST. ANY matches with any protocol
# version, and LATEST matches with the latest version supported by library.
# Tachtler
# default: #ssl_min_protocol = TLSv1.2
ssl_min_protocol = TLSv1.2 
Beschreibung Die minimale SSL-Protokollversion, die Dovecot akzeptiert.

Diese Einstellung wird sowohl für eingehende als auch für ausgehende SSL-Verbindungen verwendet.

Unterstützte Werte sind:

ANY = Unterstützt jede Version. (SOLLTE NICHT VERWENDET WERDEN) Neu in Version v2.3.15.
SSLv3 = Unterstützt SSLv3+. (SOLLTE NICHT VERWENDET WERDEN) (SSLv3 veraltet: RFC 7568)
TLSv1 = Unterstützt TLSv1+. (Standard vor v2.3.15) (TLSv1 veraltet: RFC 8996)
TLSv1.1 = Unterstützt TLSv1.1+. (TLSv1.1 veraltet: RFC 8996)
TLSv1.2 = Unterstützt TLSv1.2+. (Standard seit v2.3.15)
TLSv1.3 = Unterstützt TLSv1.3+. Neu in Version v2.3.15.
LATEST = Unterstützt nur die neueste verfügbare Version. Neu in der Version v2.3.15.
Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl_cipher_list

ssl_cipher_list

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl_cipher_list
Dovecot SSL Configuration
Defaultwert
ssl_cipher_list = ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES
:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH
Neuer Wert
ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256
:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384
:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-ECDSA-AES128-SHA256
:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA
:DHE-DSS-AES128-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384
:!CAMELLIA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA
:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
Konfiguration
# SSL ciphers to use, the default is:
#ssl_cipher_list = ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK
:!RC4:!ADH:!LOW@STRENGTH
# To disable non-EC DH, use:
# Tachtler
# default: #ssl_cipher_list = ALL:!DH:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:
!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH
ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256
:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256
:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:  ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA
:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:DHE-DSS-AES128-SHA256:DHE-DSS-AES256-SHA
:AES128-GCM-SHA256:AES256-GCM-SHA384:!CAMELLIA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK
:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
Beschreibung Die Liste der SSL-Chiffren, die für TLSv1.2 und niedrigere Verbindungen zu verwenden sind, in der Reihenfolge ihrer Bevorzugung. Verwenden Sie ssl_cipher_suites für TLSv1.3-Verbindungen.

Es müssen diese Einstellung nicht bearbeitet werden, um bestimmte SSL-Protokolle zu deaktivieren; das kann mit ssl_min_protocol besser erreicht werden.

Diese Einstellung wird sowohl für eingehende als auch für ausgehende SSL-Verbindungen verwendet.
Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl_cipher_suites
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl_min_protocol

:!: HINWEIS - Die Konfiguration erfolgt in einer Zeile - ohne - Zeilenumbrüche!

:!: HINWEIS - Siehe auch den nachfolgenden externen Link:

ssl_cipher_suites

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl_cipher_suites
Dovecot SSL Configuration
Defaultwert
ssl_cipher_suites =
Neuer Wert
ssl_cipher_suites = TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
:TLS_AES_128_GCM_SHA256:TLS_AES_128_CCM_8_SHA256:TLS_AES_128_CCM_SHA256
Konfiguration
# Tachtler - NEW -
ssl_cipher_suites = TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
:TLS_AES_128_GCM_SHA256:TLS_AES_128_CCM_8_SHA256:TLS_AES_128_CCM_SHA256
Beschreibung Neu in Version v2.3.15. Die Liste der SSL-Chiffre-Suites, die für TLSv1.3-Verbindungen zu verwenden sind, in der Reihenfolge ihrer Bevorzugung. Verwenden Sie ssl_cipher_list für TLSv1.2 und niedrigere Verbindungen.

Diese Einstellung wird sowohl für eingehende als auch für ausgehende SSL-Verbindungen verwendet.
Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl_cipher_list

:!: HINWEIS - Die Konfiguration erfolgt in einer Zeile - ohne - Zeilenumbrüche!

:!: HINWEIS - Siehe auch den nachfolgenden externen Link:

ssl_prefer_server_ciphers

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl_prefer_server_ciphers
Dovecot SSL Configuration
Defaultwert
ssl_prefer_server_ciphers = no
Neuer Wert
ssl_prefer_server_ciphers = yes
Konfiguration
# Prefer the server's order of ciphers over client's.
# Tachtler
# default: #ssl_prefer_server_ciphers = no
ssl_prefer_server_ciphers = yes
Beschreibung Wenn diese Option aktiviert ist, wird die Chiffrierliste des Servers der Liste des Clients vorgezogen. Diese Einstellung wird nur für Serververbindungen verwendet.
Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl

/etc/dovecot/conf.d/10-auth.conf

In dieser Konfigurationsdatei werden die Parameter für die Authentifizierung festgelegt.

Die in der vorhergehenden Konfiguration, welche unter nachfolgendem internen Link nachzulesen ist

temporär gesetzte Option, sollte nun wieder auf den Standardwert zurückgesetzt werden.

disable_plaintext_auth

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-disable_plaintext_auth
Dovecot SSL Configuration
Defaultwert
disable_plaintext_auth = yes
Temporär
disable_plaintext_auth = yes
Konfiguration
# Disable LOGIN command and all other plaintext authentications unless
# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
# matches the local IP (ie. you're connecting from the same computer), the
# connection is considered secure and plaintext authentication is allowed.
# See also ssl=required setting.
# Tachtler
# default: #disable_plaintext_auth = yes
disable_plaintext_auth = yes
Beschreibung Wenn ja, werden der LOGIN-Befehl und alle anderen Klartext-Authentifizierungen deaktiviert, es sei denn, SSL/TLS wird verwendet (LOGINDISABLED-Fähigkeit) oder die Verbindung ist „gesichert“:

¹ Client IP ist in login_trusted_networks
² Die Client-IP ist von localhost und kommt nicht vom HAProxy-Listener

Siehe Dovecot SSL Configuration für eine detailliertere Erklärung, wie diese Einstellung mit der SSL-Einstellung interagiert.
Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/10-ssl.conf - ssl

Diese Definition erlaubt oder verbietet den Zugriff von Rechnern, ausser localhost, das Anmelden mit den Methoden

  • plain
  • login

wenn, keine SSL/TLS-verschlüsselte Verbindung genutzt wird.

/etc/dovecot/conf.d/10-master.conf

Damit Dovecot auch auf Anfragen von z.B. Postfix über das Protokoll lmtp - auch SSL/TLS-verschlüsselt -, wie hier beschrieben

erreichbar ist, sind nachfolgende Einstellungen in der Konfigurationsdatei

  • /etc/dovecot/conf.d/10-master.conf

zusätzlich durchzuführen.

ssl

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl
Dovecot SSL Configuration
Defaultwert
ssl = no
Neuer Wert
ssl = yes
Konfiguration
service lmtp {
  unix_listener lmtp {
    #mode = 0666
  }
 
  # Create inet listener only if you can't use the above UNIX socket
  # Tachtler
  # default: #inet_listener lmtp {
  inet_listener lmtp {
    # Avoid making LMTP visible for the entire internet
    # Tachtler
    # default: #address =
    address = 10.0.0.80, fd00::10:10:0:0:80
    # Tachtler
    # default: #port = 
    port = 24
    # Tachtler - NEW -
    ssl = yes 
  # Tachtler
  # default: #}
  }
  # Tachtler - NEW -
  user = vmail
}
Beschreibung Die Stufe der SSL-Unterstützung. Diese Einstellung wirkt sich sowohl auf die impliziten SSL-Ports als auch auf die STARTTLS-Befehle aus.

Optionen:

no = SSL/TLS ist vollständig deaktiviert.
yes = SSL/TLS ist aktiviert, aber nicht unbedingt für clients erforderlich.
required = SSL/TLS ist für alle imap-, pop3-, managesieve- und submission-Protokoll-client-Verbindungen erforderlich.

Dies unterscheidet sich von disable_plaintext_auth dadurch, dass auch Nicht-Plaintext-Authentifizierungsmechanismen ohne SSL/TLS nicht erlaubt sind.

Zu beachten ist, dass SSL für „gesicherte“ Verbindungen immer noch nicht erforderlich ist, wenn:

¹ Client-IP ist in login_trusted_networks
² Die Client-IP ist von localhost und kommt nicht vom HAProxy-Listener

Siehe auch Dovecot SSL Configuration
Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl_verify_client_cert
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - auth_ssl_require_client_cert

Der Standardwert ist auf yes gesetzt. Nachfolgende Werte sind hier möglich

  • no = SSL/TLS ist vollständig deaktiviert
  • yes = SSL/TLS ist aktiviert, aber nicht unbedingt für clients zwingednd
  • required = SSL/TLS verbindlich ist nicht für lmtp verfügbar

Diese Definition aktiviert oder deaktiviert den Zugriff von Rechnern, ausser localhost, zur Verwendung einer SSL/TLS-verschlüsselte Verbindung.

/etc/dovecot/conf.d/20-lmtp.conf

In dieser Konfigurationsdatei werden die Parameter für das Protokoll lmtp festgelegt.

ssl_ca

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl_ca
Dovecot SSL Configuration
Defaultwert
ssl_ca = 
Variante 1
ssl_ca = </etc/dovecot/ssl/certs/server-lmtp-chain.pem

Es soll als CA hier, wie unter nachfolgendem internen Link:

Postfix ArchLinux - Konfiguration: main server - Dovecot-Anbindung

ein self-signed-certificate verwendet werden, wenn der Client ebenfalls das Zertifikat verwendet!

Variante 2
ssl_ca = </etc/dovecot/ssl/certs/fullchain.pem

Es soll als CA hier Let's Encrypt - Wildcard Zertifikat verwendet werden, wenn der Client ebenfalls das Zertifikat verwendet!

Variante 3
ssl_ca = </etc/ca-certificates/extracted/ca-bundle.trust.crt

Es kann als CA auch der Zertifikats-Speicher des OS Archlinux verwendet werden, da der Client dann eines der dort gelisteten Zertifikate verwenden kann!

Konfiguration
protocol lmtp {
  # Space separated list of plugins to load (default is global mail_plugins).
  #mail_plugins = $mail_plugins
  # Tachtler - NEW - 
  ssl_ca = </etc/dovecot/ssl/certs/server-lmtp-chain.pem
  # Tachtler - NEW - 
  ssl_verify_client_cert = yes 
  # Tachtler - NEW - 
  auth_ssl_require_client_cert = yes 
  # Tachtler - NEW - 
  ssl_require_crl = no
  # Tachtler - NEW - 
  ssl=required
}
Beschreibung Liste der SSL-CA-Zertifikate, die verwendet werden, um zu überprüfen, ob die von eingehenden imap/pop3/etc.-Client-Verbindungen vorgelegten SSL-Zertifikate gültig sind.

Diese CAs werden von einigen Prozessen zusätzlich zu ssl_client_ca_file und ssl_client_ca_dir auch für die Validierung ausgehender SSL-Verbindungen verwendet. Dies ist vor allem wichtig für imap-login, pop3-login, etc. Prozesse, die chroot sind und keinen Zugriff auf die CA-Dateien ausserhalb des chroot haben.

Zu beachten ist, dass Mailprozesse (imap, pop3, etc.) diese Einstellung nicht lesen, um Speicher zu sparen, da die CAs gross sein können und es viele Mailprozesse geben kann.
Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl_verify_client_cert
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - auth_ssl_require_client_cert
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl_require_crl

ssl_verify_client_cert

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl_verify_client_cert
Dovecot SSL Configuration
Defaultwert
ssl_verify_client_cert = no
Neuer Wert
ssl_verify_client_cert = yes
Konfiguration
protocol lmtp {
  # Space separated list of plugins to load (default is global mail_plugins).
  #mail_plugins = $mail_plugins
  # Tachtler - NEW - 
  ssl_ca = </etc/dovecot/ssl/certs/server-lmtp-chain.pem
  # Tachtler - NEW - 
  ssl_verify_client_cert = yes 
  # Tachtler - NEW - 
  auth_ssl_require_client_cert = yes 
  # Tachtler - NEW - 
  ssl_require_crl = no
  # Tachtler - NEW - 
  ssl=required
}
Beschreibung Wenn aktiviert, wird der imap/pop3/etc.-Client aufgefordert, ein SSL-Zertifikat zu senden.

:!: HINWEIS - Diese Einstellung setzt noch nicht voraus, dass das Zertifikat gültig ist oder überhaupt existiert.
Siehe auth_ssl_require_client_cert.

Siehe auch Dovecot SSL Configuration
Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl_ca
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - auth_ssl_require_client_cert

auth_ssl_require_client_cert

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-auth_ssl_require_client_cert
Dovecot SSL Configuration
Defaultwert
auth_ssl_require_client_cert = no
Neuer Wert
auth_ssl_require_client_cert= yes
Konfiguration
protocol lmtp {
  # Space separated list of plugins to load (default is global mail_plugins).
  #mail_plugins = $mail_plugins
  # Tachtler - NEW - 
  ssl_ca = </etc/dovecot/ssl/certs/server-lmtp-chain.pem
  # Tachtler - NEW - 
  ssl_verify_client_cert = yes 
  # Tachtler - NEW - 
  auth_ssl_require_client_cert = yes 
  # Tachtler - NEW - 
  ssl_require_crl = no
  # Tachtler - NEW - 
  ssl=required
}
Beschreibung Wenn aktiviert, schlägt die Authentifizierung fehl, wenn kein gültiges SSL-Client-Zertifikat bereitgestellt wird.
Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl_ca
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl_verify_client_cert

ssl_require_crl

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl_require_crl
Dovecot SSL Configuration
Defaultwert
ssl_require_crl = yes
Neuer Wert
ssl_require_crl = no
Konfiguration
protocol lmtp {
  # Space separated list of plugins to load (default is global mail_plugins).
  #mail_plugins = $mail_plugins
  # Tachtler - NEW - 
  ssl_ca = </etc/dovecot/ssl/certs/server-lmtp-chain.pem
  # Tachtler - NEW - 
  ssl_verify_client_cert = yes 
  # Tachtler - NEW - 
  auth_ssl_require_client_cert = yes 
  # Tachtler - NEW - 
  ssl_require_crl = no
  # Tachtler - NEW - 
  ssl=required
}
Beschreibung Wenn aktiviert, muss die CRL-Prüfung (Certificate Revocaion List) für das vorgelegte SSL-Client-Zertifikat und alle Zwischenzertifikate erfolgreich sein. Die CRL-Liste wird im Allgemeinen an die ssl_ca-Datei angehängt.

Diese Einstellung wird nur für Server-Verbindungen verwendet.
Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl_ca

:!: HINWEIS - Da hier ein self-signed-certificate oder ggf. auch ein Zertifikat von Let's Encrypt - Wildcard Zertifikat zum Einsatz kommt, ist dies nicht erforderlich bzw. nicht möglich!

Siehe auch nachfolgenden externen Link:

ssl

Information Beschreibung
Dokumentation https://doc.dovecot.org/2.3/settings/core/#core_setting-ssl
Dovecot SSL Configuration
Defaultwert
ssl = yes
Neuer Wert
ssl = required
Konfiguration
protocol lmtp {
  # Space separated list of plugins to load (default is global mail_plugins).
  #mail_plugins = $mail_plugins
  # Tachtler - NEW - 
  ssl_ca = </etc/dovecot/ssl/certs/server-lmtp-chain.pem
  # Tachtler - NEW - 
  ssl_verify_client_cert = yes 
  # Tachtler - NEW - 
  auth_ssl_require_client_cert = yes 
  # Tachtler - NEW - 
  ssl_require_crl = no
  # Tachtler - NEW - 
  ssl=required
}
Beschreibung Die Stufe der SSL-Unterstützung. Diese Einstellung wirkt sich sowohl auf die impliziten SSL-Ports als auch auf die STARTTLS-Befehle aus.

Optionen:

no = SSL/TLS ist vollständig deaktiviert.
yes = SSL/TLS ist aktiviert, aber nicht unbedingt für clients erforderlich.
required = SSL/TLS ist für alle imap-, pop3-, managesieve- und submission-Protokoll-client-Verbindungen erforderlich.

Dies unterscheidet sich von disable_plaintext_auth dadurch, dass auch Nicht-Plaintext-Authentifizierungsmechanismen ohne SSL/TLS nicht erlaubt sind.

Zu beachten ist, dass SSL für „gesicherte“ Verbindungen immer noch nicht erforderlich ist, wenn:

¹ Client-IP ist in login_trusted_networks
² Die Client-IP ist von localhost und kommt nicht vom HAProxy-Listener

Siehe auch Dovecot SSL Configuration
Siehe auch Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl_ca
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl_verify_client_cert
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - auth_ssl_require_client_cert
Dovecot ArchLinux - SSL/TLS - Konfiguration - /etc/dovecot/conf.d/20-lmtp.conf - ssl_require_crl

Der Standardwert ist auf yes gesetzt. Nachfolgende Werte sind hier möglich

  • no = SSL/TLS ist vollständig deaktiviert
  • yes = SSL/TLS ist aktiviert, aber nicht unbedingt für clients zwingednd
  • required = SSL/TLS ist für alle imap-, pop3-, managesieve- und submission-Protokoll-client-Verbindungen zwingend vorgeschrieben

Diese Definition aktiviert, deaktiviert und erzwingt den Zugriff von Rechnern, ausser localhost, zur Verwendung einer SSL/TLS-verschlüsselte Verbindung.

Neustart

Bevor der der dovecot-Daemon/Dienst neu gestartet werden soll, ist eine Überprüfung der korrekten Konfiguration durch nachfolgenden Befehl, zu empfehlen

doveconf -n

# doveconf -n
# 2.3.21.1 (d492236fa0): /etc/dovecot/dovecot.conf
# OS: Linux 6.6.63-1-lts x86_64  
# Hostname: vml080.idmz.tachtler.net
auth_mechanisms = plain digest-md5 cram-md5 login
auth_verbose = yes
listen = 127.0.0.1, 10.0.0.80, ::1, fd00::10:10:0:0:80, 2001:db8::10:10:0:0:80
mail_location = maildir:~/Maildir
namespace inbox {
  inbox = yes
  location = 
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix = INBOX/
  separator = /
  type = private
}
passdb {
  args = scheme=CRYPT username_format=%u /etc/dovecot/users
  driver = passwd-file
}
protocols = imap lmtp
service lmtp {
  inet_listener lmtp {
    address = 10.0.0.80, fd00::10:10:0:0:80
    port = 24
    ssl = yes
  }
  user = vmail
}
ssl = required
ssl_cert = </etc/dovecot/ssl/certs/fullchain.pem
ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256
:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256
:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA
:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:DHE-DSS-AES128-SHA256:DHE-DSS-AES256-SHA
:AES128-GCM-SHA256:AES256-GCM-SHA384:!CAMELLIA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK
:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
ssl_cipher_suites = TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
:TLS_AES_128_CCM_8_SHA256:TLS_AES_128_CCM_SHA256
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_prefer_server_ciphers = yes
userdb {
  args = username_format=%u /etc/dovecot/users
  driver = passwd-file
}
verbose_proctitle = yes
protocol lmtp {
  auth_ssl_require_client_cert = yes
  ssl = required
  ssl_ca = </etc/dovecot/ssl/certs/server-lmtp-chain.pem
  ssl_require_crl = no
  ssl_verify_client_cert = yes
}

:!: HINWEIS - Die Konfiguration der Parameter

  • ssl_cipher_list
  • ssl_cipher_suites

erfolgt in einer Zeile - OHNE - Zeilenumbrüche!

:!: HINWEIS - die Konfiguration des dovecot-Daemon/Dienst konnte korrekt gelesen werden, wenn die Konfiguration erscheint, was letztendlich zwar nicht bedeutet, das Sie auch korrekt ist, aber syntaktische Fehler ausschliesst !!!

Danach kann der dovecot-Server mit nachfolgendem Befehle neu gestartet werden:

# systemctl restart dovecot.service

Überprüfung erfolgreicher Neustart

Um zu Überprüfen, ob der Neustart des dovecot-Daemons/Dienstes erfolgreich durchgeführt wurden, kann nachfolgender Befehl genutzt werden:

# ss -tauben | grep dovecot
tcp   LISTEN 0      100                    127.0.0.1:143       0.0.0.0:*     ino:280204 sk:3
 cgroup:/system.slice/dovecot.service <->
tcp   LISTEN 0      100                    10.0.0.80:143       0.0.0.0:*     ino:280205 sk:4
 cgroup:/system.slice/dovecot.service <-> 
tcp   LISTEN 0      100                    10.0.0.80:24        0.0.0.0:*     ino:280181 sk:7
 cgroup:/system.slice/dovecot.service <->
tcp   LISTEN 0      100                    10.0.0.80:993       0.0.0.0:*     ino:280210 sk:8
 cgroup:/system.slice/dovecot.service <->
tcp   LISTEN 0      100                    127.0.0.1:993       0.0.0.0:*     ino:280209 sk:9
 cgroup:/system.slice/dovecot.service <->
tcp   LISTEN 0      100                        [::1]:143          [::]:*     ino:280206 sk:c
 cgroup:/system.slice/dovecot.service v6only:1 <-> 
tcp   LISTEN 0      100         [fd00::10:10:0:0:80]:24           [::]:*     ino:280182 sk:e
 cgroup:/system.slice/dovecot.service v6only:1 <->
tcp   LISTEN 0      100         [fd00::10:10:0:0:80]:143          [::]:*     ino:280207 sk:10
 cgroup:/system.slice/dovecot.service v6only:1 <-> 
tcp   LISTEN 0      100    [2001:470:7203:10:10::80]:993          [::]:*     ino:280213 sk:12
 cgroup:/system.slice/dovecot.service v6only:1 <->
tcp   LISTEN 0      100     [2001:db8::10:10:0:0:80]:143          [::]:*     ino:280208 sk:13
 cgroup:/system.slice/dovecot.service v6only:1 <->
tcp   LISTEN 0      100         [fd00::10:10:0:0:80]:993          [::]:*     ino:280212 sk:14
 cgroup:/system.slice/dovecot.service v6only:1 <->
tcp   LISTEN 0      100                        [::1]:993          [::]:*     ino:280211 sk:15
 cgroup:/system.slice/dovecot.service v6only:1 <->

oder auch dieser Befehl:

# ps auxwf | grep dovecot | grep -v grep
root      251353  0.0  0.2   7916  5120 ?        Ss   13:05   0:00 /usr/bin/dovecot -F
dovecot   251354  0.0  0.1   4424  2816 ?        S    13:05   0:00  \_ dovecot/anvil [0 connections]
root      251355  0.0  0.1   4560  2944 ?        S    13:05   0:00  \_ dovecot/log 
root      251356  0.0  0.2   7340  4992 ?        S    13:05   0:00  \_ dovecot/config

bzw. auch dieser Befehl:

# systemctl status dovecot.service 
● dovecot.service - Dovecot IMAP/POP3 email server
     Loaded: loaded (/usr/lib/systemd/system/dovecot.service; enabled; preset: >
     Active: active (running) since Tue 2024-12-17 19:05:02 CET; 6min ago
 Invocation: cea084576ef740ef8425f9a47fd30dcb
       Docs: man:dovecot(1)
             https://doc.dovecot.org/
   Main PID: 251353 (dovecot)
     Status: "v2.3.21.1 (d492236fa0) running"
      Tasks: 4 (limit: 2315)
     Memory: 3.5M (peak: 4M)
        CPU: 29ms
     CGroup: /system.slice/dovecot.service
             ├─251353 /usr/bin/dovecot -F
             ├─251354 "dovecot/anvil [0 connections]"
             ├─251355 "dovecot/log "
             └─251356 "dovecot/config "

Dec 17 19:05:02 server systemd[1]: Starting Dovecot IMAP/POP3 email server...
Dec 17 19:05:02 server dovecot[251353]: master: Dovecot v2.3.21.1 (d492236fa0) >
Dec 17 19:05:02 server systemd[1]: Started Dovecot IMAP/POP3 email server.

Verbindungs-Test via openssl

SSL/TLS via STARTTLS

Eine Überprüfung, ob eine Anmeldung unter Nutzung von SSL/TLS (STARTTLS) bei Verwendung einer Zertifikatskette erfolgreich ist, kann mit nachfolgendem Befehl durchgeführt werden: (Es wird nur ein Verbindung, ohne abgeschlossenen login aufgebaut)

# openssl s_client -starttls imap -connect imap.tachtler.net:143
Connecting to fd00::10:10:0:0:80
CONNECTED(00000003)
depth=2 C=US, O=Internet Security Research Group, CN=ISRG Root X1
verify return:1
depth=1 C=US, O=Let's Encrypt, CN=R10
verify return:1
depth=0 CN=tachtler.net
verify return:1
---
Certificate chain
 0 s:CN=tachtler.net
   i:C=US, O=Let's Encrypt, CN=R10
   a:PKEY: rsaEncryption, 4096 (bit); sigalg: RSA-SHA256
   v:NotBefore: Dec  9 09:17:52 2024 GMT; NotAfter: Mar  9 09:17:51 2025 GMT
 1 s:C=US, O=Let's Encrypt, CN=R10
   i:C=US, O=Internet Security Research Group, CN=ISRG Root X1
   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
   v:NotBefore: Mar 13 00:00:00 2024 GMT; NotAfter: Mar 12 23:59:59 2027 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGEjCCBPqgAwIBAgISA77VgnRw4HEdMMJnb1bmRAwkMA0GCSqGSIb3DQEBCwUA
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
EwNSMTAwHhcNMjQxMjA5MDkxNzUyWhcNMjUwMzA5MDkxNzUxWjAXMRUwEwYDVQQD
Ewx0YWNodGxlci5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQD+
qbUqa3TORs2GwXHxykg48j+KLv8TNBw7/hqsJxQ/WzuZpEiTxlXDgFztlFEEj5zf
UVOyg//vs6msSPqDkrxIx9Yo8SAfjUlS4erwXggRUZsyf1HxKIR89/SAPmw7PgKq
Bb9B71Wwpg570X9RqDsszxguVbDBUw/u5Ijb7uOBoIPUe2dpOuS6qmnmNzssKbJX
Hx2JHUstqvxfk3Tsgm6CnTfZPJablLyausO3BDn7e+UE0jd9V8xPemkKuLhwIICG
HKzYLu61AkdOYYOZnx2LI6xMtqfwBqq0CDHLq1mrIRT3cr4NbBKdrkWL+xjtVP0R
WVKeodH531z64XEIX74FlOE8gX6ZkO81EZgWWStLJUwVKVB1oZUElEtkxx4+blGJ
XlxsMIbEh72IrF44qoZn/9+JVe4zWxbe5IzMeoc62ax13ovznVQ4QnwMliVtvtSF
FPZsNTO12MLmcf2S60ars2vcFMpGDfH/JMnRirv6IIx/JTJFR63OLDcetSxWu0Kq
6sespVDA1c7l8RUBNQlTENPrJ4q2T5x2wp0cH18+NV4xl4nRQVz1XOCYZt1oocmI
CBh4YLZCcI888OXcEwuNiCy8k/qbm6fTB3fCnIkamlhw/bcKSz1YxyPqrX5NqDAO
QJPlJWvBLCbybF/82VDLAbGlpAK+nRe7iF8yp1Ad6wIDAQABo4ICOjCCAjYwDgYD
VR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNV
HRMBAf8EAjAAMB0GA1UdDgQWBBT+qMwQqGvSFqb9VP+yKDFfYrtZJjAfBgNVHSME
GDAWgBS7vMNHpeS8qcbDpHIMEI2iNeHI6DBXBggrBgEFBQcBAQRLMEkwIgYIKwYB
BQUHMAGGFmh0dHA6Ly9yMTAuby5sZW5jci5vcmcwIwYIKwYBBQUHMAKGF2h0dHA6
Ly9yMTAuaS5sZW5jci5vcmcvMEIGA1UdEQQ7MDmCDioudGFjaHRsZXIubmV0ggx0
YWNodGxlci5uZXSCGXd3dy5kb2t1d2lraS50YWNodGxlci5uZXQwEwYDVR0gBAww
CjAIBgZngQwBAgEwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdgBOdaMnXJoQwzhb
bNTfP1LrHfDgjhuNacCx+mSxYpo53wAAAZOq64hgAAAEAwBHMEUCIFHdfsua8WoQ
+7pES6B50OzUqAx3pEGWNiFAvyqOBdf0AiEAnAQJd/s+y/1wNRd39qaWHB9c5UNt
y+VhMI28mw/3gUEAdQDgkrP8DB3I52g2H95huZZNClJ4GYpy1nLEsE2lbW9UBAAA
AZOq64iVAAAEAwBGMEQCIFoHh24Xe9heEIgQILIHKVeCZcXEqOGBEGtCuQAv8+XF
AiA21yd26l6UrTJa9Gh5JqSUiHombXus1S1iTTVq+CvfLjANBgkqhkiG9w0BAQsF
AAOCAQEATRx7zn51qn+MtgcZ/b+JP8kTeBjVHejyQxUSR/lp2a5wt0Aob+gm3QC5
lOFyEr2WQwDuCCi9V3GPhdGqZjV5HNWpNJVlzqugjXcUt1vaQbXC7lPv2bjbJDGO
Oyxxo+VEBPXV+nKOYILaI/vZ+7WW9jk2A6lXefwbXF3eQW/tE0wzvTtzXUuwMQqP
XRywG5KX5N4+9SjMJw4kdzAjQb0AsgyBEsVJs1kU65G0yyBWbMGkXYgJpTkBCDh1
KouTDY+LluY9FwU/KvkkQfSj43nXzmAKAUbdLirFgdsuelElHFB2YTyG/4o6MBj7
2PAIkiAQfwSAXzdvUuArvWgtwAxlaw==
-----END CERTIFICATE-----
subject=CN=tachtler.net
issuer=C=US, O=Let's Encrypt, CN=R10
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 4059 bytes and written 434 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Protocol: TLSv1.3
Server public key is 4096 bit
This TLS version forbids renegotiation.
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
. OK Pre-login capabilities listed, post-login capabilities have more.
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: F21D2BDC4C93DB51CC0843A254851E65A61F5E005C686AEB9820EA5F28C99D1C
    Session-ID-ctx: 
    Resumption PSK: 41956F84F12B97E1110A2F39F09BD0115F6584649F8B91FD08CFDA646AB60E7FEDBD29945A98DBEC9785C7CD3A5ABF4B
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - a3 e5 76 3c fa d2 4e ff-de b9 fc d8 12 14 26 fd   ..v<..N.......&.
    0010 - c0 be 4c cb be 99 5a a3-4e 12 01 d2 2a 7b 7a 98   ..L...Z.N...*{z.
    0020 - 8c 34 19 99 39 96 9b bb-23 83 4f 05 e3 b5 58 4e   .4..9...#.O...XN
    0030 - 0a a2 78 6a e0 07 81 86-77 5b a5 5c c6 ba 20 3d   ..xj....w[.\.. =
    0040 - 5e 63 8d 55 20 09 f4 1e-b1 cd 1e b5 2d aa 3d ae   ^c.U .......-.=.
    0050 - b9 ff 98 30 c6 6a e0 ee-18 dc 56 d0 30 b7 31 fd   ...0.j....V.0.1.
    0060 - e2 a8 ab 03 bd a6 1a b9-0f 2e c0 d8 7d 8c fe 37   ............}..7
    0070 - ac 05 65 30 5c 9c 9c ec-3c 7d 23 c1 39 f1 e1 51   ..e0\...<}#.9..Q
    0080 - 9e aa 02 7c 4f 7e 3a da-80 2e 9f 88 ed 34 3b c9   ...|O~:......4;.
    0090 - d0 16 4f 34 9e 9a f2 5a-ad 10 db 96 f1 d6 73 36   ..O4...Z......s6
    00a0 - fe 10 21 29 11 c3 a4 66-3b ca 04 95 01 f4 5b e1   ..!)...f;.....[.
    00b0 - ca 6a 62 82 06 6d f3 5e-e0 70 e3 d3 58 ce cb c1   .jb..m.^.p..X...
    00c0 - fd f5 a7 5a 42 6e a9 68-67 7a 7e 4f 1c b9 42 85   ...ZBn.hgz~O..B.
    00d0 - 19 74 6c 30 60 ea 89 8a-44 22 68 e7 35 69 55 8e   .tl0`...D"h.5iU.

    Start Time: 1734438714
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: 094E15425A239D0F1C068B52D09581F463D5C54F65534589E5D42113744598B1
    Session-ID-ctx: 
    Resumption PSK: 676B74CD584AF7106E0A60E0B1205E71449897193C257FA4C6BDCAD2BA96909067B7F0D3516C45BC891CC7267D528441
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - a3 e5 76 3c fa d2 4e ff-de b9 fc d8 12 14 26 fd   ..v<..N.......&.
    0010 - d4 55 d9 64 8f 3a e4 6c-36 4a 74 3b 25 d4 82 68   .U.d.:.l6Jt;%..h
    0020 - b2 87 49 d2 12 04 5b 94-06 7c 28 27 36 06 44 43   ..I...[..|('6.DC
    0030 - 51 c3 63 72 9b 47 57 ee-ab ad 1e 8a 37 80 18 3c   Q.cr.GW.....7..<
    0040 - 65 87 fa a9 f1 75 f8 82-06 17 10 b2 c9 3e 5d 26   e....u.......>]&
    0050 - 68 96 e2 4a 46 d3 cb f5-ba fd 07 fa a3 3e c2 4f   h..JF........>.O
    0060 - d9 df 6c 33 02 3a ae 20-d2 e8 78 e7 14 39 03 ff   ..l3.:. ..x..9..
    0070 - 36 45 c1 9d cb bd af 1b-28 ee be ec e4 11 e1 c8   6E......(.......
    0080 - 8b 34 d5 ae f2 39 32 8e-8d a0 a4 f6 4a 2e b9 46   .4...92.....J..F
    0090 - d9 89 cb 78 3c 6d c2 9b-fe 3d e1 a1 81 33 a6 ef   ...x<m...=...3..
    00a0 - 00 1d 2d c1 0e 66 6c 58-b9 be 16 fa 9b 66 83 88   ..-..flX.....f..
    00b0 - 9c b3 0f 2e 2a e3 70 7a-84 37 bc f4 0f 19 0c 40   ....*.pz.7.....@
    00c0 - b3 97 e2 eb b4 b9 fa 6a-e6 ca 9b 02 04 b0 7b f6   .......j......{.
    00d0 - c4 20 e7 17 d5 66 9d 90-93 ce f3 e5 38 9d b5 e6   . ...f......8...

    Start Time: 1734438714
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
a1 logout
* BYE Logging out
a1 OK Logout completed.
closed

Erforderliche Benutzereingaben:

  1. openssl s_client -starttls imap -connect imap.tachtler.net:143
  2. a1 logout

SSL/TLS Direktverbindung

Eine Überprüfung, ob eine Anmeldung unter Nutzung von SSL/TLS (mittels direkter verschlüsselter Verbindung) bei Verwendung einer Zertifikatskette erfolgreich ist, kann mit nachfolgendem Befehl durchgeführt werden: (Es wird nur ein Verbindung, ohne abgeschlossenen login aufgebaut)

# openssl s_client -connect imap.tachtler.net:993
Connecting to fd00::10:10:0:0:80
CONNECTED(00000003)
depth=2 C=US, O=Internet Security Research Group, CN=ISRG Root X1
verify return:1
depth=1 C=US, O=Let's Encrypt, CN=R10
verify return:1
depth=0 CN=tachtler.net
verify return:1
---
Certificate chain
 0 s:CN=tachtler.net
   i:C=US, O=Let's Encrypt, CN=R10
   a:PKEY: rsaEncryption, 4096 (bit); sigalg: RSA-SHA256
   v:NotBefore: Dec  9 09:17:52 2024 GMT; NotAfter: Mar  9 09:17:51 2025 GMT
 1 s:C=US, O=Let's Encrypt, CN=R10
   i:C=US, O=Internet Security Research Group, CN=ISRG Root X1
   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
   v:NotBefore: Mar 13 00:00:00 2024 GMT; NotAfter: Mar 12 23:59:59 2027 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGEjCCBPqgAwIBAgISA77VgnRw4HEdMMJnb1bmRAwkMA0GCSqGSIb3DQEBCwUA
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
EwNSMTAwHhcNMjQxMjA5MDkxNzUyWhcNMjUwMzA5MDkxNzUxWjAXMRUwEwYDVQQD
Ewx0YWNodGxlci5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQD+
qbUqa3TORs2GwXHxykg48j+KLv8TNBw7/hqsJxQ/WzuZpEiTxlXDgFztlFEEj5zf
UVOyg//vs6msSPqDkrxIx9Yo8SAfjUlS4erwXggRUZsyf1HxKIR89/SAPmw7PgKq
Bb9B71Wwpg570X9RqDsszxguVbDBUw/u5Ijb7uOBoIPUe2dpOuS6qmnmNzssKbJX
Hx2JHUstqvxfk3Tsgm6CnTfZPJablLyausO3BDn7e+UE0jd9V8xPemkKuLhwIICG
HKzYLu61AkdOYYOZnx2LI6xMtqfwBqq0CDHLq1mrIRT3cr4NbBKdrkWL+xjtVP0R
WVKeodH531z64XEIX74FlOE8gX6ZkO81EZgWWStLJUwVKVB1oZUElEtkxx4+blGJ
XlxsMIbEh72IrF44qoZn/9+JVe4zWxbe5IzMeoc62ax13ovznVQ4QnwMliVtvtSF
FPZsNTO12MLmcf2S60ars2vcFMpGDfH/JMnRirv6IIx/JTJFR63OLDcetSxWu0Kq
6sespVDA1c7l8RUBNQlTENPrJ4q2T5x2wp0cH18+NV4xl4nRQVz1XOCYZt1oocmI
CBh4YLZCcI888OXcEwuNiCy8k/qbm6fTB3fCnIkamlhw/bcKSz1YxyPqrX5NqDAO
QJPlJWvBLCbybF/82VDLAbGlpAK+nRe7iF8yp1Ad6wIDAQABo4ICOjCCAjYwDgYD
VR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNV
HRMBAf8EAjAAMB0GA1UdDgQWBBT+qMwQqGvSFqb9VP+yKDFfYrtZJjAfBgNVHSME
GDAWgBS7vMNHpeS8qcbDpHIMEI2iNeHI6DBXBggrBgEFBQcBAQRLMEkwIgYIKwYB
BQUHMAGGFmh0dHA6Ly9yMTAuby5sZW5jci5vcmcwIwYIKwYBBQUHMAKGF2h0dHA6
Ly9yMTAuaS5sZW5jci5vcmcvMEIGA1UdEQQ7MDmCDioudGFjaHRsZXIubmV0ggx0
YWNodGxlci5uZXSCGXd3dy5kb2t1d2lraS50YWNodGxlci5uZXQwEwYDVR0gBAww
CjAIBgZngQwBAgEwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdgBOdaMnXJoQwzhb
bNTfP1LrHfDgjhuNacCx+mSxYpo53wAAAZOq64hgAAAEAwBHMEUCIFHdfsua8WoQ
+7pES6B50OzUqAx3pEGWNiFAvyqOBdf0AiEAnAQJd/s+y/1wNRd39qaWHB9c5UNt
y+VhMI28mw/3gUEAdQDgkrP8DB3I52g2H95huZZNClJ4GYpy1nLEsE2lbW9UBAAA
AZOq64iVAAAEAwBGMEQCIFoHh24Xe9heEIgQILIHKVeCZcXEqOGBEGtCuQAv8+XF
AiA21yd26l6UrTJa9Gh5JqSUiHombXus1S1iTTVq+CvfLjANBgkqhkiG9w0BAQsF
AAOCAQEATRx7zn51qn+MtgcZ/b+JP8kTeBjVHejyQxUSR/lp2a5wt0Aob+gm3QC5
lOFyEr2WQwDuCCi9V3GPhdGqZjV5HNWpNJVlzqugjXcUt1vaQbXC7lPv2bjbJDGO
Oyxxo+VEBPXV+nKOYILaI/vZ+7WW9jk2A6lXefwbXF3eQW/tE0wzvTtzXUuwMQqP
XRywG5KX5N4+9SjMJw4kdzAjQb0AsgyBEsVJs1kU65G0yyBWbMGkXYgJpTkBCDh1
KouTDY+LluY9FwU/KvkkQfSj43nXzmAKAUbdLirFgdsuelElHFB2YTyG/4o6MBj7
2PAIkiAQfwSAXzdvUuArvWgtwAxlaw==
-----END CERTIFICATE-----
subject=CN=tachtler.net
issuer=C=US, O=Let's Encrypt, CN=R10
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 3668 bytes and written 408 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Protocol: TLSv1.3
Server public key is 4096 bit
This TLS version forbids renegotiation.
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: F17DE57D4F7C5EF6979FE98A0F86E925FD8428DC27FC5C2CBB34F9A8EA572611
    Session-ID-ctx: 
    Resumption PSK: E56415576C18B5C7408C5220B5824209ECD8C45BDA0230CC992FE6EC9126BDA8571F8B24FFC0D6A1B2767C8B8D4CDEB8
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - 89 f9 e3 92 b7 2c 05 78-99 97 aa 45 04 9d 07 87   .....,.x...E....
    0010 - 89 77 db d1 2b 42 23 99-84 7b 37 6a f0 08 b6 68   .w..+B#..{7j...h
    0020 - 7f 7f d9 83 dd 7f 63 26-db 7c c4 b1 a5 d9 4a e2   ......c&.|....J.
    0030 - 19 a1 df 95 53 18 d9 80-33 e0 54 98 93 30 a6 fd   ....S...3.T..0..
    0040 - 87 b0 4b 5d d9 b9 0a 04-75 60 2b 8d e2 a6 d6 a9   ..K]....u`+.....
    0050 - 6d 6e 19 f3 e8 6b d9 3e-7f 2e 23 36 01 e9 2b c9   mn...k.>..#6..+.
    0060 - 15 12 4a 6f 6f 25 b9 f5-62 79 4e 13 8f ac 8f 12   ..Joo%..byN.....
    0070 - fb f2 fc cd d3 1e 75 52-60 3b 9b 89 ba 7e de 04   ......uR`;...~..
    0080 - 1b d9 e1 56 07 73 22 8c-89 92 63 4e e9 6c 53 94   ...V.s"...cN.lS.
    0090 - d9 7c ea 78 6d d1 c2 76-bc 66 03 9a bb 1c 93 21   .|.xm..v.f.....!
    00a0 - 5d 4a ac 6a 36 57 a7 de-0b d2 aa 49 eb 75 cc 9f   ]J.j6W.....I.u..
    00b0 - f0 d2 d3 a7 06 e7 ed 9b-80 2b b4 0b 12 01 21 76   .........+....!v
    00c0 - 6a d4 af 8f 89 53 2a 05-54 95 1f a1 39 db 20 e2   j....S*.T...9. .
    00d0 - 67 d8 84 77 b3 df c0 4f-9e bf 95 46 bd 38 06 75   g..w...O...F.8.u

    Start Time: 1734438856
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: 351D19E38B8805DAD0BF15E755372AB657AE1E207977BC4D02A6B9C1854759EE
    Session-ID-ctx: 
    Resumption PSK: FDBF555E3F6E908F3B948137204B3119B550E01020394C4A99C86ACFB4620850B00D0EFD996F352FF834CFFF1725DB30
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - 89 f9 e3 92 b7 2c 05 78-99 97 aa 45 04 9d 07 87   .....,.x...E....
    0010 - 77 fd 44 bf 70 5a 86 e8-54 19 6c f7 c5 bd fc 96   w.D.pZ..T.l.....
    0020 - 24 35 58 37 0e a6 70 e1-91 e0 36 80 eb bd 77 2e   $5X7..p...6...w.
    0030 - 9e 6c 9c e5 c5 bd e0 92-ff 67 33 0a 0e 2d 6d 73   .l.......g3..-ms
    0040 - 2e b5 db 21 7c f0 b2 91-e7 88 87 89 a6 f7 54 2c   ...!|.........T,
    0050 - c7 2b eb de 74 99 a9 dc-09 84 f6 cd f8 39 a1 70   .+..t........9.p
    0060 - 05 0d 15 cd 3f bc 27 2a-ca 0d 46 33 66 72 ce 92   ....?.'*..F3fr..
    0070 - 47 5e 1b 05 36 e0 a4 50-c1 a5 10 b9 17 4b e3 8f   G^..6..P.....K..
    0080 - 7f 02 5b 1d d9 25 84 83-ae 47 60 2e 6e e3 de f4   ..[..%...G`.n...
    0090 - 15 72 26 99 eb 21 49 42-f5 64 ea 5b 5a 24 75 65   .r&..!IB.d.[Z$ue
    00a0 - 0e f3 dd d9 5e 05 08 66-ba df 8b 7a ac f9 91 58   ....^..f...z...X
    00b0 - 7b 5e c7 d0 05 c9 ee 40-80 3a 66 bd 30 9d 74 74   {^.....@.:f.0.tt
    00c0 - 7a 82 d6 54 f9 87 c6 33-c2 9f a1 0c 8f 36 6f 1a   z..T...3.....6o.
    00d0 - 5b 1b 90 3a 12 89 6f 47-59 ba b7 18 02 78 96 58   [..:..oGY....x.X

    Start Time: 1734438856
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN AUTH=DIGEST-MD5 AUTH=CRAM-MD5 AUTH=LOGIN] Dovecot ready.
a1 logout
* BYE Logging out
a1 OK Logout completed.
closed

Erforderliche Benutzereingaben:

  1. openssl s_client -connect imap.tachtler.net:993
  2. a1 logout

SSL/TLS via lmtp

Eine Überprüfung, ob eine Anmeldung unter Nutzung von SSL/TLS (mittels direkter verschlüsselter Verbindung) bei Verwendung einer Zertifikatskette erfolgreich ist, kann mit nachfolgendem Befehl durchgeführt werden: (Es wird nur ein Verbindung, ohne abgeschlossenen login aufgebaut)

# openssl s_client -connect imap.tachtler.net:24
Connecting to fd00::10:10:0:0:80
CONNECTED(00000003)
depth=2 C=US, O=Internet Security Research Group, CN=ISRG Root X1
verify return:1
depth=1 C=US, O=Let's Encrypt, CN=R10
verify return:1
depth=0 CN=tachtler.net
verify return:1
---
Certificate chain
 0 s:CN=tachtler.net
   i:C=US, O=Let's Encrypt, CN=R10
   a:PKEY: rsaEncryption, 4096 (bit); sigalg: RSA-SHA256
   v:NotBefore: Dec  9 09:17:52 2024 GMT; NotAfter: Mar  9 09:17:51 2025 GMT
 1 s:C=US, O=Let's Encrypt, CN=R10
   i:C=US, O=Internet Security Research Group, CN=ISRG Root X1
   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
   v:NotBefore: Mar 13 00:00:00 2024 GMT; NotAfter: Mar 12 23:59:59 2027 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGEjCCBPqgAwIBAgISA77VgnRw4HEdMMJnb1bmRAwkMA0GCSqGSIb3DQEBCwUA
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
EwNSMTAwHhcNMjQxMjA5MDkxNzUyWhcNMjUwMzA5MDkxNzUxWjAXMRUwEwYDVQQD
Ewx0YWNodGxlci5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQD+
qbUqa3TORs2GwXHxykg48j+KLv8TNBw7/hqsJxQ/WzuZpEiTxlXDgFztlFEEj5zf
UVOyg//vs6msSPqDkrxIx9Yo8SAfjUlS4erwXggRUZsyf1HxKIR89/SAPmw7PgKq
Bb9B71Wwpg570X9RqDsszxguVbDBUw/u5Ijb7uOBoIPUe2dpOuS6qmnmNzssKbJX
Hx2JHUstqvxfk3Tsgm6CnTfZPJablLyausO3BDn7e+UE0jd9V8xPemkKuLhwIICG
HKzYLu61AkdOYYOZnx2LI6xMtqfwBqq0CDHLq1mrIRT3cr4NbBKdrkWL+xjtVP0R
WVKeodH531z64XEIX74FlOE8gX6ZkO81EZgWWStLJUwVKVB1oZUElEtkxx4+blGJ
XlxsMIbEh72IrF44qoZn/9+JVe4zWxbe5IzMeoc62ax13ovznVQ4QnwMliVtvtSF
FPZsNTO12MLmcf2S60ars2vcFMpGDfH/JMnRirv6IIx/JTJFR63OLDcetSxWu0Kq
6sespVDA1c7l8RUBNQlTENPrJ4q2T5x2wp0cH18+NV4xl4nRQVz1XOCYZt1oocmI
CBh4YLZCcI888OXcEwuNiCy8k/qbm6fTB3fCnIkamlhw/bcKSz1YxyPqrX5NqDAO
QJPlJWvBLCbybF/82VDLAbGlpAK+nRe7iF8yp1Ad6wIDAQABo4ICOjCCAjYwDgYD
VR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNV
HRMBAf8EAjAAMB0GA1UdDgQWBBT+qMwQqGvSFqb9VP+yKDFfYrtZJjAfBgNVHSME
GDAWgBS7vMNHpeS8qcbDpHIMEI2iNeHI6DBXBggrBgEFBQcBAQRLMEkwIgYIKwYB
BQUHMAGGFmh0dHA6Ly9yMTAuby5sZW5jci5vcmcwIwYIKwYBBQUHMAKGF2h0dHA6
Ly9yMTAuaS5sZW5jci5vcmcvMEIGA1UdEQQ7MDmCDioudGFjaHRsZXIubmV0ggx0
YWNodGxlci5uZXSCGXd3dy5kb2t1d2lraS50YWNodGxlci5uZXQwEwYDVR0gBAww
CjAIBgZngQwBAgEwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdgBOdaMnXJoQwzhb
bNTfP1LrHfDgjhuNacCx+mSxYpo53wAAAZOq64hgAAAEAwBHMEUCIFHdfsua8WoQ
+7pES6B50OzUqAx3pEGWNiFAvyqOBdf0AiEAnAQJd/s+y/1wNRd39qaWHB9c5UNt
y+VhMI28mw/3gUEAdQDgkrP8DB3I52g2H95huZZNClJ4GYpy1nLEsE2lbW9UBAAA
AZOq64iVAAAEAwBGMEQCIFoHh24Xe9heEIgQILIHKVeCZcXEqOGBEGtCuQAv8+XF
AiA21yd26l6UrTJa9Gh5JqSUiHombXus1S1iTTVq+CvfLjANBgkqhkiG9w0BAQsF
AAOCAQEATRx7zn51qn+MtgcZ/b+JP8kTeBjVHejyQxUSR/lp2a5wt0Aob+gm3QC5
lOFyEr2WQwDuCCi9V3GPhdGqZjV5HNWpNJVlzqugjXcUt1vaQbXC7lPv2bjbJDGO
Oyxxo+VEBPXV+nKOYILaI/vZ+7WW9jk2A6lXefwbXF3eQW/tE0wzvTtzXUuwMQqP
XRywG5KX5N4+9SjMJw4kdzAjQb0AsgyBEsVJs1kU65G0yyBWbMGkXYgJpTkBCDh1
KouTDY+LluY9FwU/KvkkQfSj43nXzmAKAUbdLirFgdsuelElHFB2YTyG/4o6MBj7
2PAIkiAQfwSAXzdvUuArvWgtwAxlaw==
-----END CERTIFICATE-----
subject=CN=tachtler.net
issuer=C=US, O=Let's Encrypt, CN=R10
---
Acceptable client certificate CA names
CN=tachtler.net
C=US, O=Let's Encrypt, CN=R10
Requested Signature Algorithms: ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:Ed25519:Ed448:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA512:ECDSA+SHA224:RSA+SHA224
Shared Requested Signature Algorithms: ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:Ed25519:Ed448:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA512
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 3829 bytes and written 438 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Protocol: TLSv1.3
Server public key is 4096 bit
This TLS version forbids renegotiation.
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: 7A72849171737E9FBE3B785ACAAFA0D8BF6FDB89D04157DD5B63FA4C9FB875E8
    Session-ID-ctx: 
    Resumption PSK: 39FF8B2D67C05B934A579F26FEA5A40DA786E9D7D5FC72DD740D363DB01C6C478B4206A5CF3DBE8F73FC118542A390AD
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - f6 38 72 1c 9a 58 43 5c-1d 84 a1 1e aa 01 2d 6f   .8r..XC\......-o
    0010 - 37 ef a4 fc a5 07 7c 74-8a 17 ae f6 9c 91 49 46   7.....|t......IF

    Start Time: 1734514038
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: D7E14CE3945A3C1F70847E1BE14FE1448D6F1259EE928EDDB0814261EBFDE8DE
    Session-ID-ctx: 
    Resumption PSK: 3CB11598EE5140B54ED0F813116E2D433E97606CE5BCFDEF845B66F237E00E642608555EA9CF6A76A5D31DA58A2768B5
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - fd b3 c2 43 8c 8c aa db-46 f2 9e cb 6d db 81 7f   ...C....F...m...
    0010 - e4 43 65 a6 d3 fd 1a b7-60 8a 80 35 25 45 24 f6   .Ce.....`..5%E$.

    Start Time: 1734514038
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
220 vml080.idmz.tachtler.net Dovecot ready.
quit
221 2.0.0 Bye
closed

Erforderliche Benutzereingaben:

  1. openssl s_client -connect imap.tachtler.net:24
  2. quit

Test: Ciphers

Wie bereits unter nachfolgendem internen Link beschrieben

kann das Programm testssl verwendet werden.

Mit nachfolgendem Befehl, kann ermittelt werden, welche Verschlüsselungsalgorithmen (Ciphers) verwendet bzw. nicht verwendet werden sollen.

Ermittlung aller möglichen Ciphers für einen MDA:

# testssl --mode parallel -e -s -t imap imap.tachtler.net:143

:!: HINWEIS - Die hiermit ermittelten Ciphers können z.B in den Parametern

  • ssl_cipher_list
  • ssl_cipher_suites

aus kommentiert - eingetragen werden, und dann einzeln - Eintrag um Eintrag - ein kommentiert zu werden, um zu sehen, wann bei mehrfacher Befehlswiederholung, sich die Ergebnisse verbessern!

Ausführlicher Test aller Ciphers für einen MDA:

# testssl --mode parallel imap.tachtler.net:993

Ausführlicher Test aller Ciphers für einen MDA via lmtp:

# testssl --mode parallel imap.tachtler.net:24
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/dovecot_archlinux_-_ssl_tls.txt · Zuletzt geändert: 2025/01/11 11:59 von klaus