Posttls‑finger: Unterschied zwischen den Versionen
Zeile 195: | Zeile 195: | ||
[[Kategorie:Linux:Befehl]] | [[Kategorie:Linux:Befehl]] | ||
{{DEFAULTSORT:posttls‑finger}} | {{DEFAULTSORT:posttls‑finger}} | ||
Version vom 26. Juni 2022, 11:05 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 mail.foxtom.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
Option | Beschreibung |
---|---|
-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 Certificate auf den Verify“ und Secure Ebenen Wenn die Sicherheitsstufe ist dane oder dane-only werden die übereinstimmenden Namen ignoriert und hostname,nexthop verwendet. |
Umgebungsvariablen
- MAIL_CONFIG
Konfigurationsparameter von einem nicht standardmäßigen Speicherort lesen.
- MAIL_VERBOSE
Identisch mit der -v Option
Exit-Status
Konfiguration
Dateien
Anwendungen
# posttls-finger -F /etc/ssl/certs/ca-certificates.crt mail.foxtom.de
Sicherheit
Dokumentation
RFC
Man-Pages
# man posttls-finger
Info-Pages
info posttls-finger
Siehe auch
smtp-source(1) , SMTP/LMTP-Nachrichtenquelle smtp-sink(1) , SMTP/LMTP-Nachrichtenauszug
README
- TLS_README
- Postfix STARTTLS-Anleitung
Links
Projekt-Homepage
Weblinks
Einzelnachweise
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5