Posttls‑finger: Unterschied zwischen den Versionen
Zeile 63: | Zeile 63: | ||
== Anwendungen == | == Anwendungen == | ||
posttls-finger -F /etc/ssl/certs/ca-certificates.crt mail.foxtom.de | |||
== Sicherheit == | == Sicherheit == | ||
== Dokumentation == | == Dokumentation == |
Version vom 26. Juni 2022, 10:39 Uhr
posttls-finger – Prüfen der TLS-Eigenschaften eines ESMTP- oder LMTP-Servers
Beschreibung
- Um eine Verbindung zu überprüfen, bietet sich das Tool posttls-finger an
- damit erspart sich ein Admin eventuell das Anpassen von Logeinstellungen oder die Verwendung von Telnet.
# posttls-finger smtp.testserver.de
posttls-finger (1) verbindet sich mit dem angegebenen Ziel und meldet TLS-bezogene Informationen über den Server.
- Bei SMTP ist das Ziel ein Domänenname; bei LMTP ist es entweder ein Domainname mit dem Präfix inet: oder ein Pfadname mit dem Präfix unix: .
- Wenn Postfix ohne TLS gebaut wird unterstützt, hat das resultierende posttls-finger (1) nur sehr begrenzte Funktionen.
- Funktionalität, und nur die -a , -c , -h , -o , -S , -t , -T und -v Optionen verfügbar.
Hinweis: Dies ist ein nicht unterstütztes Testprogramm.
- Es wird kein Versuch unternommen, Kompatibilität zwischen aufeinanderfolgenden Versionen beibehalten.
Bei SMTP-Servern, die ESMTP nicht unterstützen, werden nur das Begrüßungsbanner und die negative EHLO-Antwort wird gemeldet.
- Ansonsten meldete sich die EHLO Antwort enthält weitere Serverfunktionen.
- Wenn die TLS-Unterstützung wann aktiviert ist posttls-finger (1) wird kompiliert, und die Server STARTTLS , wird ein TLS-Handshake versucht.
- Wenn DNSSEC-Unterstützung verfügbar ist, wird die TLS-Sicherheitsstufe der Verbindung ( -l Option) ist standardmäßig dane ; siehe TLS_README für Details.
- Ansonsten es standardmäßig auf sicher .
- Diese Einstellung bestimmt den Zertifikatsabgleich Politik.
Wenn die TLS-Aushandlung erfolgreich ist, sind das TLS-Protokoll und die Verschlüsselungsdetails gemeldet.
- Das Serverzertifikat wird dann gemäß verifiziert die Richtlinie auf der gewählten (oder Standard-)Sicherheitsstufe.
- Mit Öffentlichkeit CA-basiertes Vertrauen, wenn die -L Option certmatch (true by default) wird der Namensabgleich durchgeführt, auch wenn die Zertifikatskette ist nicht vertraut.
- Dadurch werden die im entfernten SMTP-Server gefundenen Namen protokolliert.
- tifikat und welche, falls vorhanden, übereinstimmen würden, wäre die Zertifikatskette Vertrauenswürdige.
Hinweis: posttls-finger (1) führt keine Tabellensuche durch, daher die TLS Richtlinientabelle und veraltete Tabellen pro Site werden nicht konsultiert.
- Es tut nicht mit dem kommunizieren tlsmgr (8) (oder irgendein anderer Postfix-Daemons); Sein TLS-Sitzungscache wird im privaten Speicher gehalten und verschwindet wenn der Prozess beendet wird.
mit der -r delay eine TLS-Sitzungs-ID zuweist, wird die Die TLS-Sitzung wird zwischengespeichert.
- Die Verbindung wird dann geschlossen und wieder geöffnet nach der angegebenen Verzögerung, und posttls-finger (1) meldet dann, ob die zwischengespeicherte TLS-Sitzung wurde wiederverwendet.
Wenn das Ziel ein Load Balancer ist, verteilt es möglicherweise Last zwischen mehreren Server-Caches.
- Normalerweise gibt jeder Server seine zurück eindeutiger Name in seiner EHLO-Antwort.
- Wenn beim erneuten Verbinden mit -r eine neue Servername erkannt wird, wird eine weitere Sitzung für den neuen Server zwischengespeichert,
und die Wiederverbindung wird bis zu einer maximalen Anzahl von Malen wiederholt (Standard 5), die über die -m Option
Die Wahl von SMTP oder LMTP ( -S ) bestimmt die Syntax der Zielargument.
- Mit SMTP kann man einen Dienst auf einem angeben Nicht-Standard-Port als host : service und deaktivieren Sie MX (Mail Exchanger) DNS Suchen mit [ host ] oder [ host ]: port .
- Das Formular [] ist erforderlich, wenn Sie Geben Sie eine IP-Adresse anstelle eines Hostnamens an.
- Eine IPv6-Adresse nimmt die Formular [ ipv6: Adresse ].
- Der Standardport für SMTP wird von der übernommen smtp/tcp -Eintrag in /etc/services, standardmäßig 25, wenn der Eintrag es nicht ist gefunden.
bei LMTP unix: pathname an, um eine Verbindung zu einem lokalen Server herzustellen, der zuhört auf einem Unix-Domain-Socket, der an den angegebenen Pfadnamen gebunden ist; Andernfalls, ein optionales inet: -Präfix an, gefolgt von einer Domäne und einem optionalen Port, mit der gleichen Syntax wie für SMTP.
- Der Standard-TCP-Port für LMTP ist 24.
Installation
Syntax
posttls-finger [ Optionen ] [ inet: ] Domäne [: Port ] [ Übereinstimmung ... ] posttls-finger -S [ Optionen ] Unix: Pfadname [ Übereinstimmung ... ]
Parameter
Optionen
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Anwendungen
posttls-finger -F /etc/ssl/certs/ca-certificates.crt mail.foxtom.de
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Siehe auch
Links
Projekt-Homepage
Weblinks
Einzelnachweise
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
TMP
Manpage (de)
POSTTLS-FINGER(1) POSTTLS-FINGER(1)
NAME posttls-finger – Prüfen Sie die TLS-Eigenschaften eines ESMTP- oder LMTP-Servers.
ZUSAMMENFASSUNG posttls-finger [ Optionen ] [ inet: ] Domäne [: Port ] [ Übereinstimmung ... ] posttls-finger -S [ Optionen ] Unix: Pfadname [ Übereinstimmung ... ]
BESCHREIBUNG posttls-finger (1) verbindet sich mit dem angegebenen Ziel und meldet TLS-bezogene Informationen über den Server. Bei SMTP ist das Ziel ein Domänenname; bei LMTP ist es entweder ein Domainname mit dem Präfix inet: oder ein Pfadname mit dem Präfix unix: . Wenn Postfix ohne TLS gebaut wird unterstützt, hat das resultierende posttls-finger (1) nur sehr begrenzte Funktionen. Funktionalität, und nur die -a , -c , -h , -o , -S , -t , -T und -v Optionen verfügbar.
Hinweis: Dies ist ein nicht unterstütztes Testprogramm. Es wird kein Versuch unternommen, Kompatibilität zwischen aufeinanderfolgenden Versionen beibehalten.
Bei SMTP-Servern, die ESMTP nicht unterstützen, werden nur das Begrüßungsbanner und die negative EHLO-Antwort wird gemeldet. Ansonsten meldete sich die EHLO Antwort enthält weitere Serverfunktionen.
Wenn die TLS-Unterstützung wann aktiviert ist posttls-finger (1) wird kompiliert, und die Server STARTTLS , wird ein TLS-Handshake versucht.
Wenn DNSSEC-Unterstützung verfügbar ist, wird die TLS-Sicherheitsstufe der Verbindung ( -l Option) ist standardmäßig dane ; siehe TLS_README für Details. Ansonsten es standardmäßig auf sicher . Diese Einstellung bestimmt den Zertifikatsabgleich Politik.
Wenn die TLS-Aushandlung erfolgreich ist, sind das TLS-Protokoll und die Verschlüsselungsdetails gemeldet. Das Serverzertifikat wird dann gemäß verifiziert die Richtlinie auf der gewählten (oder Standard-)Sicherheitsstufe. Mit Öffentlichkeit CA-basiertes Vertrauen, wenn die -L Option certmatch (true by default) wird der Namensabgleich durchgeführt, auch wenn die Zertifikatskette ist nicht vertraut. Dadurch werden die im entfernten SMTP-Server gefundenen Namen protokolliert. tifikat und welche, falls vorhanden, übereinstimmen würden, wäre die Zertifikatskette Vertrauenswürdige.
Hinweis: posttls-finger (1) führt keine Tabellensuche durch, daher die TLS Richtlinientabelle und veraltete Tabellen pro Site werden nicht konsultiert. Es tut nicht mit dem kommunizieren tlsmgr (8) (oder irgendein anderer Postfix-Dae- Mons); Sein TLS-Sitzungscache wird im privaten Speicher gehalten und verschwindet wenn der Prozess beendet wird.
mit der -r delay eine TLS-Sitzungs-ID zuweist, wird die Die TLS-Sitzung wird zwischengespeichert. Die Verbindung wird dann geschlossen und wieder geöffnet nach der angegebenen Verzögerung, und posttls-finger (1) meldet dann, ob die zwischengespeicherte TLS-Sitzung wurde wiederverwendet.
Wenn das Ziel ein Load Balancer ist, verteilt es möglicherweise Last zwischen mehreren Server-Caches. Normalerweise gibt jeder Server seine zurück eindeutiger Name in seiner EHLO-Antwort. Wenn beim erneuten Verbinden mit -r eine neue Servername erkannt wird, wird eine weitere Sitzung für den neuen Server zwischengespeichert, und die Wiederverbindung wird bis zu einer maximalen Anzahl von Malen wiederholt (Standard 5), die über die -m Option
Die Wahl von SMTP oder LMTP ( -S ) bestimmt die Syntax der Zielargument. Mit SMTP kann man einen Dienst auf einem angeben Nicht-Standard-Port als host : service und deaktivieren Sie MX (Mail Exchanger) DNS Suchen mit [ host ] oder [ host ]: port . Das Formular [] ist erforderlich, wenn Sie Geben Sie eine IP-Adresse anstelle eines Hostnamens an. Eine IPv6-Adresse nimmt die Formular [ ipv6: Adresse ]. Der Standardport für SMTP wird von der übernommen smtp/tcp -Eintrag in /etc/services, standardmäßig 25, wenn der Eintrag es nicht ist gefunden.
bei LMTP unix: pathname an, um eine Verbindung zu einem lokalen Server herzustellen, der zuhört auf einem Unix-Domain-Socket, der an den angegebenen Pfadnamen gebunden ist; Andernfalls, ein optionales inet: -Präfix an, gefolgt von einer Domäne und einem optionalen Port, mit der gleichen Syntax wie für SMTP. Der Standard-TCP-Port für LMTP ist 24.
Argumente:
-a Familie (Standard: any ) Adressfamilienpräferenz: ipv4 , ipv6 oder any . Wenn Sie irgendwelche , posttls-finger (1) wählt zufällig einen der beiden als aus mehr bevorzugt, und schöpfen Sie zuerst alle MX-Einstellungen aus Adressfamilie, bevor Sie irgendwelche Adressen für die andere versuchen.
-A trust-anchor.pem (Standard: keine) Eine Liste von PEM-Vertrauensankerdateien, die CAfile und CAp- Ath-Verifizierung der Vertrauenskette. Geben Sie die Option mehrmals an um mehrere Dateien anzugeben. Siehe die main.cf- Dokumentation für smtp_tls_trust_anchor_file für Details.
-c SMTP-Chatprotokollierung deaktivieren; nur TLS-bezogene Informationen sind protokolliert.
-C Drucken Sie die Vertrauenskette des Zertifikats des Remote-SMTP-Servers in PEM für- Matte. Aussteller-DN, Subjekt-DN, Zertifikat und öffentlicher Schlüssel Gerprints (siehe -d mdalg unten) werden über jedem PEM gedruckt Zertifikatblock. Wenn Sie -F CAfile oder -P CApath angeben , wird die Die OpenSSL-Bibliothek kann die Kette mit fehlenden Ausstellerzertifikaten erweitern. tifikate. Um die tatsächliche Kette anzuzeigen, die vom Remote-SMTP gesendet wurde Server lassen CAfile und CApath unset .
-d MDalg (Standard: $ smtp_tls_fingerprint_digest ) Der Nachrichtenauszugsalgorithmus, der zum Melden von Remote-SMTP verwendet werden soll Server-Fingerabdrücke und Abgleich mit vom Benutzer bereitgestellten Zertifikaten Fingerabdrücke (bei DANE TLSA-Einträgen ist der Algorithmus spezifiziert) im DNS eingetragen). In Postfix-Versionen vor 3.6 wurde die Standardwert war "md5".
-f Sucht das zugehörige DANE TLSA RRset, auch wenn es sich um einen Hostnamen handelt kein Alias und seine Adressdatensätze liegen in einer unsignierten Zone. smtp_tls_force_insecure_host_tlsa_lookup Einzelheiten finden .
-F CAfile.pem (Standard: keine) Die PEM-formatierte CA-Datei für das Zertifikat des Remote-SMTP-Servers ifizierung. Standardmäßig wird keine CA-Datei und keine öffentlichen CAs verwendet Vertrauenswürdige.
-g Note (Standard: mittel) Der minimale TLS-Verschlüsselungsgrad, der von posttls-finger (1) . Sehen smtp_tls_mandatory_ciphers für Details.
-h host_lookup Standard ( : DNS ) Die für die Verbindung verwendeten Hostnamen-Suchmethoden. Siehe die Dokumentation von smtp_host_lookup für Syntax und Semantik.
-H Kettendateien (Standard: none ) Liste der Dateien mit einem Sequenz-PEM-codierten TLS-Client-Zertifikat Ketten. Die Liste kann inkrementell aufgebaut werden, indem angegeben wird die Option mehrmals oder alle auf einmal über ein Komma oder Weiß- durch Leerzeichen getrennte Liste von Dateinamen. Jede Kette beginnt mit a privaten Schlüssel, dem unmittelbar der entsprechende folgt Zertifikat und optional durch zusätzliche Ausstellerzertifikate. Jeder neue Schlüssel beginnt eine neue Kette für den entsprechenden Algorithmus. Diese Option schließt sich gegenseitig mit den untenstehenden -k und -K Optionen.
-k Zertifikatsdatei (Standard: Schlüsseldatei ) Datei mit PEM-codierter TLS-Client-Zertifikatkette. Dies standardmäßig Schlüsseldatei falls eine angegeben ist.
-K Schlüsseldatei (Standard: Zertifikatsdatei ) Datei mit PEM-codiertem privatem TLS-Clientschlüssel. Dies ist standardmäßig auf Zertifikatsdatei , falls eine angegeben ist.
-l level (Standard: dane oder secure ) Die Sicherheitsstufe für die Verbindung, Standardeinstellung „dane“ oder secure abhängig davon, ob DNSSEC verfügbar ist. Für Syntax und Seman- finden Sie in der Dokumentation von smtp_tls_security_level . Wann dane oder dane-only wird unterstützt und ausgewählt, wenn keine TLSA-Einträge vorhanden sind gefunden werden, oder alle gefundenen Datensätze unbrauchbar sind, das sichern Ebene wird stattdessen verwendet. Die Fingerabdruck -Sicherheitsstufe ermöglicht es Ihnen, Zertifikats- oder Public-Key-Fingerabdruckübereinstimmungen zu testen bevor Sie sie in der Richtlinientabelle bereitstellen.
Beachten Sie, dass posttls-finger (1) eigentlich keine liefert E-Mail, die keine , darf und verschlüsseln Sicherheitsstufen sind nicht sehr nützlich. Seit Mai u Verschlüsselung erfordert keine Peer-Zertifikate, Sie werden oft anonyme TLS-Verschlüsselungssammlungen aushandeln, also Sie erfährt nicht viel über die Zertifikate des Remote-SMTP-Servers unter diese Ebenen, wenn es auch anonymes TLS unterstützt (obwohl Sie dies tun können erfahren, dass der Server anonymes TLS unterstützt).
-L Logopts (Standard: routine,certmatch ) Fein abgestufte TLS-Protokollierungsoptionen. So optimieren Sie die TLS-Funktionen während des TLS-Handshakes protokolliert werden, geben Sie eines oder mehrere der folgenden an:
0, keine Diese liefern keine TLS-Protokollierung; Sie werden im Allgemeinen mehr wollen, aber das ist praktisch, wenn Sie nur die Vertrauenskette wollen: $ posttls-finger -cC -L kein Ziel
1, Routine, Zusammenfassung Diese synonymen Werte ergeben eine normale einzeilige Zusammenfassung der TLS-Verbindung.
2, debuggen Diese synonymen Werte kombinieren routine, ssl-debug, cache und wortreich.
3, SSL-Experte Diese synonymen Werte kombinieren debug mit ssl-hand- shake-packet-dump. Nur für Experten.
4, SSL-Entwickler Diese synonymen Werte kombinieren ssl-expert mit ssl-ses- sion-packet-dump. Nur für Experten und in den meisten Fällen Verwenden Sie stattdessen Wireshark.
ssl-debug Aktivieren Sie die OpenSSL-Protokollierung des Fortschritts der SSL-Hand- Shake.
ssl-handshake-packet-dump Hexadezimale Paketspeicherauszüge des SSL-Handshakes protokollieren; zum nur Experten.
ssl-session-packet-dump Protokollieren Sie hexadezimale Paket-Dumps der gesamten SSL-Sitzung; nur nützlich für diejenigen, die Probleme mit dem SSL-Protokoll debuggen können aus Hex-Dumps.
nicht vertrauenswürdig Protokolliert Probleme bei der Überprüfung der Vertrauenskette. Dies ist gedreht auf Sicherheitsstufen, die Peer-Namen verwenden, automatisch aktiviert von den Zertifizierungsstellen unterzeichnet, um die Zertifizierung zu validieren Katzen. Während diese Einstellung erkannt wird, sollten Sie dies tun Sie müssen es nie explizit festlegen.
peercert Dadurch wird eine einzeilige Zusammenfassung des Remote-SMTP-Servers protokolliert Betreff, Aussteller und Fingerabdrücke des Zertifikats.
certmatch Dadurch wird der Zertifikatsabgleich des Remote-SMTP-Servers protokolliert. ing der CN und jedes SubjectAltName und welcher Name abgestimmt. Mit DANE wird der Abgleich des TLSA-Eintrags protokolliert Trust-Anchor- und End-Entity-Zertifikate.
cache Dies protokolliert Sitzungs-Cache-Vorgänge und zeigt an, ob Sitzungen Sion-Caching ist mit dem Remote-SMTP-Server wirksam. Wird automatisch verwendet, wenn die Verbindung mit der -r Option muss selten explizit gesetzt werden.
ausführlich Aktiviert die ausführliche Protokollierung im Postfix-TLS-Treiber; enthält alle peercert..caches und mehr.
Der Standardwert ist routine,certmatch . Nach einer erneuten Verbindung peercert , certmatch und verbose werden automatisch deaktiviert, während cache and Zusammenfassung aktiviert sind.
-m Anzahl (Standard: 5 ) Wenn die -r delay angegeben ist, bestimmt die -m Option die maximale Anzahl von Wiederverbindungsversuchen, die mit einem Server verwendet werden können hinter einem Load Balancer, um zu sehen, ob Verbindungs-Caching vorhanden ist wahrscheinlich für dieses Ziel wirksam sein. Einige MTAs tun dies nicht die zugrunde liegende Serveridentität in ihrer EHLO-Antwort offenlegen; mit diesen Servern wird es nie mehr als 1 Wiederverbindung geben versuchen.
-M unsichere _ mx _ Richtlinie (Standard: dane ) Die TLS-Richtlinie für MX-Hosts mit „sicheren“ TLSA-Einträgen, wenn die nexthop Zielsicherheitsstufe ist dane , aber der MX- wurde über eine "unsichere" MX-Suche gefunden. Siehe das main.cf Dokument unter smtp_tls_dane_insecure_mx_policy finden Sie .
-o Name=Wert null oder mehrmals an, um den Wert von main.cf Parametername _ mit Wert . Mögliche Anwendungsfälle umfassen Überschreibungen die Werte von TLS-Bibliotheksparametern oder " myhostname " an Konfigurieren Sie den SMTP-EHLO-Namen, der an den Remote-Server gesendet wird.
-p Protokolle (Standard: >=TLSv1) TLS-Protokolle, die posttls-finger (1) ausschließen oder einschließen. Siehe smtp_tls_mandatory_protocols für Details.
-P CApath/ (Standard: keiner) Das OpenSSL-CApath/-Verzeichnis (indiziert über c_rehash(1)) für Überprüfung des Remote-SMTP-Serverzertifikats. Standardmäßig kein CAP- ath wird verwendet und es wird keinen öffentlichen Zertifizierungsstellen vertraut.
-r Verzögerung Trennen Sie bei einer zwischenspeicherbaren TLS-Sitzung die Verbindung und stellen Sie die Verbindung danach wieder her verzögern Sekunden Melden Sie, ob die Sitzung wiederverwendet wird. Versuchen Sie es erneut, wenn a neuer Server gefunden wird, bis zu 5 Mal oder wie angegeben mit das -m- Option. Standardmäßig ist die Wiederverbindung deaktiviert, geben Sie a an positive Verzögerung, um dieses Verhalten zu ermöglichen.
-s Servername Der mit der TLS Server Name Indication zu sendende Servername (SNI)-Erweiterung. Wenn der Server über DANE TLSA-Einträge verfügt, ist dies Der Parameter wird ignoriert und stattdessen die TLSA-Basisdomäne verwendet. Andernfalls wird SNI standardmäßig nicht verwendet, kann aber aktiviert werden Geben Sie mit dieser Option den gewünschten Wert an.
-S SMTP deaktivieren; Stellen Sie also eine Verbindung zu einem LMTP-Server her. Der Standard Port für LMTP über TCP ist 24. Alternative Ports können angegeben werden durch Anhängen von „ :servicename “ oder „: portnumber “ an das Ziel Streit.
-t Zeitüberschreitung (Standard: 30 ) Das zu verwendende Zeitlimit für die TCP-Verbindung. Dies ist auch die Zeitüberschreitung für Lesen des 220-Banners des entfernten Servers.
-T Zeitüberschreitung (Standard: 30 ) Das Zeitlimit für SMTP/LMTP-Befehle für EHLO/LHLO, STARTTLS und QUIT.
-v Aktiviert die ausführliche Postfix-Protokollierung. Geben Sie mehr als einmal an Erhöhen Sie den Grad der ausführlichen Protokollierung.
-w Aktiviert den abgehenden TLS-Wrapper-Modus oder die Unterstützung von SUBMISSIONS/SMTPS. Dies wird normalerweise auf Port 465 von Servern bereitgestellt, die kompatibel mit dem SMTP-in-SSL-Protokoll und nicht mit STARTTLS Protokoll. Die Zieldomain : Port muss natürlich angegeben werden so ein Dienst.
-X ( Aktiviert den tlsproxy 8) -Modus. Dies ist ein nicht unterstützter Modus für Pro- Nur Grammentwicklung.
[ inet: ] Domäne [: Port ] Verbinden Sie sich über TCP mit der Domäne Domäne , Port Port . Der Standardport ist smtp (oder 24 mit LMTP). Bei SMTP wird dazu ein MX-Lookup durchgeführt die Domäne zu einem Host auflösen, es sei denn, die Domäne ist eingeschlossen [] . Wenn Sie sich beispielsweise mit einem bestimmten MX-Host verbinden möchten mx1.example.com , geben Sie [ mx1.example.com ] als Ziel an und example.com als Übereinstimmungsargument . Bei Verwendung von DNS werden die Ziele nation-Domäne wird als vollständig qualifiziert und als keine Standarddomäne oder Suchsuffixe werden angewendet; Sie müssen vollständig qualifiziert verwenden Namen oder aktivieren Sie auch native Host-Lookups (diese unterstützen keine dane oder dane-only , da keine DNSSEC-Validierungsinformationen verfügbar sind über native Lookups möglich).
unix: Pfadname Verbinden Sie sich mit dem UNIX-Domänen-Socket unter Pfadname . Nur LMTP.
passen ... Wenn keine Übereinstimmungsargumente angegeben sind, Zertifikats-Peername-Übereinstimmung verwendet die einkompilierten Standardstrategien für jede Sicherheitsstufe. Wenn Sie ein oder mehrere Argumente angeben, werden diese als verwendet Liste von Zertifikat- oder Public-Key-Digests, die mit der Fingerabdruckebene abgeglichen werden sollen, oder als Liste von DNS-Namen, die in der Cer- tificate auf den Verify“ und Secure Ebenen Wenn die Sicherheitsstufe ist dane oder dane-only werden die übereinstimmenden Namen ignoriert und hostname, nexthop verwendet.
UMGEBUNG MAIL_CONFIG Konfigurationsparameter von einem nicht standardmäßigen Speicherort lesen.
MAIL_VERBOSE Identisch mit der -v Option
SIEHE AUCH smtp-source(1) , SMTP/LMTP-Nachrichtenquelle smtp-sink(1) , SMTP/LMTP-Nachrichtenauszug
README -DATEIEN TLS_README , Postfix STARTTLS-Anleitung
LIZENZ Die Secure Mailer-Lizenz muss mit dieser Software verteilt werden.
AUTOR(EN) Wietse Venema IBM TJ Watson Research Postfach 704 Yorktown Heights, NY 10598, USA
Wietse Venema Google Inc. 111 8th Avenue New York, NY 10011, USA
Viktor Duchowni
POSTTLS-FINGER(1)
Manpage (en)
POSTTLS-FINGER(1) POSTTLS-FINGER(1)
NAME
posttls-finger - Probe the TLS properties of an ESMTP or LMTP server.
SYNOPSIS
posttls-finger [options] [inet:]domain[:port] [match ...] posttls-finger -S [options] unix:pathname [match ...]
DESCRIPTION
posttls-finger(1) connects to the specified destination and reports TLS-related information about the server. With SMTP, the destination is a domainname; with LMTP it is either a domainname prefixed with inet: or a pathname prefixed with unix:. If Postfix is built without TLS support, the resulting posttls-finger(1) program has very limited func- tionality, and only the -a, -c, -h, -o, -S, -t, -T and -v options are available.
Note: this is an unsupported test program. No attempt is made to main- tain compatibility between successive versions.
For SMTP servers that don't support ESMTP, only the greeting banner and the negative EHLO response are reported. Otherwise, the reported EHLO response details further server capabilities.
If TLS support is enabled when posttls-finger(1) is compiled, and the server supports STARTTLS, a TLS handshake is attempted.
If DNSSEC support is available, the connection TLS security level (-l option) defaults to dane; see TLS_README for details. Otherwise, it defaults to secure. This setting determines the certificate matching policy.
If TLS negotiation succeeds, the TLS protocol and cipher details are reported. The server certificate is then verified in accordance with the policy at the chosen (or default) security level. With public CA-based trust, when the -L option includes certmatch, (true by default) name matching is performed even if the certificate chain is not trusted. This logs the names found in the remote SMTP server cer- tificate and which if any would match, were the certificate chain trusted.
Note: posttls-finger(1) does not perform any table lookups, so the TLS policy table and obsolete per-site tables are not consulted. It does not communicate with the tlsmgr(8) daemon (or any other Postfix dae- mons); its TLS session cache is held in private memory, and disappears when the process exits.
With the -r delay option, if the server assigns a TLS session id, the TLS session is cached. The connection is then closed and re-opened after the specified delay, and posttls-finger(1) then reports whether the cached TLS session was re-used.
When the destination is a load balancer, it may be distributing load between multiple server caches. Typically, each server returns its unique name in its EHLO response. If, upon reconnecting with -r, a new server name is detected, another session is cached for the new server, and the reconnect is repeated up to a maximum number of times (default 5) that can be specified via the -m option.
The choice of SMTP or LMTP (-S option) determines the syntax of the destination argument. With SMTP, one can specify a service on a non-default port as host:service, and disable MX (mail exchanger) DNS lookups with [host] or [host]:port. The [] form is required when you specify an IP address instead of a hostname. An IPv6 address takes the form [ipv6:address]. The default port for SMTP is taken from the smtp/tcp entry in /etc/services, defaulting to 25 if the entry is not found.
With LMTP, specify unix:pathname to connect to a local server listening on a unix-domain socket bound to the specified pathname; otherwise, specify an optional inet: prefix followed by a domain and an optional port, with the same syntax as for SMTP. The default TCP port for LMTP is 24.
Arguments:
-a family (default: any) Address family preference: ipv4, ipv6 or any. When using any, posttls-finger(1) will randomly select one of the two as the more preferred, and exhaust all MX preferences for the first address family before trying any addresses for the other.
-A trust-anchor.pem (default: none) A list of PEM trust-anchor files that overrides CAfile and CAp- ath trust chain verification. Specify the option multiple times to specify multiple files. See the main.cf documentation for smtp_tls_trust_anchor_file for details.
-c Disable SMTP chat logging; only TLS-related information is logged.
-C Print the remote SMTP server certificate trust chain in PEM for- mat. The issuer DN, subject DN, certificate and public key fin- gerprints (see -d mdalg option below) are printed above each PEM certificate block. If you specify -F CAfile or -P CApath, the OpenSSL library may augment the chain with missing issuer cer- tificates. To see the actual chain sent by the remote SMTP server leave CAfile and CApath unset.
-d mdalg (default: $smtp_tls_fingerprint_digest) The message digest algorithm to use for reporting remote SMTP server fingerprints and matching against user provided certifi- cate fingerprints (with DANE TLSA records the algorithm is spec- ified in the DNS). In Postfix versions prior to 3.6, the default value was "md5".
-f Lookup the associated DANE TLSA RRset even when a hostname is not an alias and its address records lie in an unsigned zone. See smtp_tls_force_insecure_host_tlsa_lookup for details.
-F CAfile.pem (default: none) The PEM formatted CAfile for remote SMTP server certificate ver- ification. By default no CAfile is used and no public CAs are trusted.
-g grade (default: medium) The minimum TLS cipher grade used by posttls-finger(1). See smtp_tls_mandatory_ciphers for details.
-h host_lookup (default: dns) The hostname lookup methods used for the connection. See the documentation of smtp_host_lookup for syntax and semantics.
-H chainfiles (default: none) List of files with a sequence PEM-encoded TLS client certificate chains. The list can be built-up incrementally, by specifying the option multiple times, or all at once via a comma or white- space separated list of filenames. Each chain starts with a private key, which is followed immediately by the corresponding certificate, and optionally by additional issuer certificates. Each new key begins a new chain for the corresponding algorithm. This option is mutually exclusive with the below -k and -K options.
-k certfile (default: keyfile) File with PEM-encoded TLS client certificate chain. This defaults to keyfile if one is specified.
-K keyfile (default: certfile) File with PEM-encoded TLS client private key. This defaults to certfile if one is specified.
-l level (default: dane or secure) The security level for the connection, default dane or secure depending on whether DNSSEC is available. For syntax and seman- tics, see the documentation of smtp_tls_security_level. When dane or dane-only is supported and selected, if no TLSA records are found, or all the records found are unusable, the secure level will be used instead. The fingerprint security level allows you to test certificate or public-key fingerprint matches before you deploy them in the policy table.
Note, since posttls-finger(1) does not actually deliver any email, the none, may and encrypt security levels are not very useful. Since may and encrypt don't require peer certificates, they will often negotiate anonymous TLS ciphersuites, so you won't learn much about the remote SMTP server's certificates at these levels if it also supports anonymous TLS (though you may learn that the server supports anonymous TLS).
-L logopts (default: routine,certmatch) Fine-grained TLS logging options. To tune the TLS features logged during the TLS handshake, specify one or more of:
0, none These yield no TLS logging; you'll generally want more, but this is handy if you just want the trust chain: $ posttls-finger -cC -L none destination
1, routine, summary These synonymous values yield a normal one-line summary of the TLS connection.
2, debug These synonymous values combine routine, ssl-debug, cache and verbose.
3, ssl-expert These synonymous values combine debug with ssl-hand- shake-packet-dump. For experts only.
4, ssl-developer These synonymous values combine ssl-expert with ssl-ses- sion-packet-dump. For experts only, and in most cases, use wireshark instead.
ssl-debug Turn on OpenSSL logging of the progress of the SSL hand- shake.
ssl-handshake-packet-dump Log hexadecimal packet dumps of the SSL handshake; for experts only.
ssl-session-packet-dump Log hexadecimal packet dumps of the entire SSL session; only useful to those who can debug SSL protocol problems from hex dumps.
untrusted Logs trust chain verification problems. This is turned on automatically at security levels that use peer names signed by Certification Authorities to validate certifi- cates. So while this setting is recognized, you should never need to set it explicitly.
peercert This logs a one line summary of the remote SMTP server certificate subject, issuer, and fingerprints.
certmatch This logs remote SMTP server certificate matching, show- ing the CN and each subjectAltName and which name matched. With DANE, logs matching of TLSA record trust-anchor and end-entity certificates.
cache This logs session cache operations, showing whether ses- sion caching is effective with the remote SMTP server. Automatically used when reconnecting with the -r option; rarely needs to be set explicitly.
verbose Enables verbose logging in the Postfix TLS driver; includes all of peercert..cache and more.
The default is routine,certmatch. After a reconnect, peercert, certmatch and verbose are automatically disabled while cache and summary are enabled.
-m count (default: 5) When the -r delay option is specified, the -m option determines the maximum number of reconnect attempts to use with a server behind a load balancer, to see whether connection caching is likely to be effective for this destination. Some MTAs don't expose the underlying server identity in their EHLO response; with these servers there will never be more than 1 reconnection attempt.
-M insecure_mx_policy (default: dane) The TLS policy for MX hosts with "secure" TLSA records when the nexthop destination security level is dane, but the MX record was found via an "insecure" MX lookup. See the main.cf documen- tation for smtp_tls_dane_insecure_mx_policy for details.
-o name=value Specify zero or more times to override the value of the main.cf parameter name with value. Possible use-cases include overrid- ing the values of TLS library parameters, or "myhostname" to configure the SMTP EHLO name sent to the remote server.
-p protocols (default: >=TLSv1) TLS protocols that posttls-finger(1) will exclude or include. See smtp_tls_mandatory_protocols for details.
-P CApath/ (default: none) The OpenSSL CApath/ directory (indexed via c_rehash(1)) for remote SMTP server certificate verification. By default no CAp- ath is used and no public CAs are trusted.
-r delay With a cacheable TLS session, disconnect and reconnect after delay seconds. Report whether the session is re-used. Retry if a new server is encountered, up to 5 times or as specified with the -m option. By default reconnection is disabled, specify a positive delay to enable this behavior.
-s servername The server name to send with the TLS Server Name Indication (SNI) extension. When the server has DANE TLSA records, this parameter is ignored and the TLSA base domain is used instead. Otherwise, SNI is not used by default, but can be enabled by specifying the desired value with this option.
-S Disable SMTP; that is, connect to an LMTP server. The default port for LMTP over TCP is 24. Alternative ports can specified by appending ":servicename" or ":portnumber" to the destination argument.
-t timeout (default: 30) The TCP connection timeout to use. This is also the timeout for reading the remote server's 220 banner.
-T timeout (default: 30) The SMTP/LMTP command timeout for EHLO/LHLO, STARTTLS and QUIT.
-v Enable verbose Postfix logging. Specify more than once to increase the level of verbose logging.
-w Enable outgoing TLS wrapper mode, or SUBMISSIONS/SMTPS support. This is typically provided on port 465 by servers that are com- patible with the SMTP-in-SSL protocol, rather than the STARTTLS protocol. The destination domain:port must of course provide such a service.
-X Enable tlsproxy(8) mode. This is an unsupported mode, for pro- gram development only.
[inet:]domain[:port] Connect via TCP to domain domain, port port. The default port is smtp (or 24 with LMTP). With SMTP an MX lookup is performed to resolve the domain to a host, unless the domain is enclosed in []. If you want to connect to a specific MX host, for instance mx1.example.com, specify [mx1.example.com] as the destination and example.com as a match argument. When using DNS, the desti- nation domain is assumed fully qualified and no default domain or search suffixes are applied; you must use fully-qualified names or also enable native host lookups (these don't support dane or dane-only as no DNSSEC validation information is avail- able via native lookups).
unix:pathname Connect to the UNIX-domain socket at pathname. LMTP only.
match ... With no match arguments specified, certificate peername matching uses the compiled-in default strategies for each security level. If you specify one or more arguments, these will be used as the list of certificate or public-key digests to match for the fin- gerprint level, or as the list of DNS names to match in the cer- tificate at the verify and secure levels. If the security level is dane, or dane-only the match names are ignored, and hostname, nexthop strategies are used.
ENVIRONMENT
MAIL_CONFIG Read configuration parameters from a non-default location.
MAIL_VERBOSE Same as -v option.
SEE ALSO
smtp-source(1), SMTP/LMTP message source smtp-sink(1), SMTP/LMTP message dump
README FILES
TLS_README, Postfix STARTTLS howto
LICENSE
The Secure Mailer license must be distributed with this software.
AUTHOR(S)
Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA
Wietse Venema Google, Inc. 111 8th Avenue New York, NY 10011, USA
Viktor Dukhovni
POSTTLS-FINGER(1)