76. pepsi-tlsrpt

Erstellt und versendet die täglichen SMTP-TLS-Reporting-Berichte (RFC 8460).

76.1. Rolle

pepsi-tlsrpt ist die Absenderseite von SMTP TLS Reporting (RFC 8460). Die Relay-Stages halten jedes Ergebnis einer ausgehenden TLS-Sitzung (Erfolg oder ein klassifizierter Fehler; eine Klartext-Zustellung zählt nur, wenn MTA-STS oder DANE TLS verlangte, und zwar als starttls-not-supported) in der Aggregat-Zähler-Tabelle pepsi.tls_session fest, wenn [pepsi-tlsrpt] SEND_REPORTS an ist (es ist standardmäßig aus). Einmal täglich per Cron ausgeführt, stellt dieses Werkzeug die Zähler eines Tages zu einem Sammelbericht pro Richtliniendomain zusammen, schlägt die _smtp._tls-rua-Berichtsadresse dieser Domain nach und verschickt den gzip-komprimierten JSON-Bericht dorthin — per E-Mail (mailto:, bei REPORT_STAGE in die Pipeline injiziert, sodass er signiert und weitergeleitet wird) oder HTTPS-POST (https:). Es verbindet sich über [pepsi-postgres] und wird durch [pepsi-tlsrpt] konfiguriert. Es ist keine Stage. Als Cron-Job startet es normalerweise als root und läuft dann vor dem Verbinden als Dienstkonto pepsi weiter, sodass der Crontab-Eintrag kein sudo -u pepsi braucht. Referenz: pepsi-tlsrpt(1).

Die ankündigende Hälfte (das Veröffentlichen unseres eigenen _smtp._tls-Eintrags aus [pepsi-tlsrpt] RUA) wird von pepsi-setup erledigt.

76.2. Funktionen

  • report — stellt die Berichte des Tages zusammen und verschickt sie (Standardwert: gestern, UTC). --date wählt einen anderen UTC-Tag; --dry-run gibt das JSON jedes Berichts aus und behält die Zähler. Die Zähler einer berichteten Domain für diesen Tag werden gelöscht, sodass erneute Läufe idempotent sind.

  • prune — löscht Zähler, die älter als das Aufbewahrungsfenster sind ([pepsi-tlsrpt] RETAIN_DAYS, Standardwert 7; --older-than überschreibt), und erfasst dabei Tage, die nie berichtet wurden (z. B. eine Domain, die kein rua ankündigt). pepsi-tlsrpt-prune.timer führt es täglich aus, ob Berichte gesendet werden oder nicht.

Eine Berichtsnachricht trägt state.tlsrpt = true; die Sitzungsaufzeichnung der Relay-Stages überspringt solche Nachrichten, sodass ein Bericht, der selbst auf einen TLS-Fehler stößt, nie einen Bericht über einen Bericht erzeugt.

76.3. Konfiguration

[pepsi-tlsrpt]: SEND_REPORTS (Standardwert no — ob die Relay-Stages überhaupt Sitzungen festhalten), RUA (die Berichtsadresse, die wir bekanntgeben und die pepsi-setup in den _smtp._tls-TXT-Eintrag verwandelt), REPORT_FROM (zum Senden erforderlich) und REPORT_STAGE (wohin ein mailto:-Bericht injiziert wird), die optionalen, im Bericht gezeigten ORGANIZATION und CONTACT sowie RETAIN_DAYS (Standardwert 7). Siehe pepsi.conf(5).

76.4. Siehe auch

pepsi-setup, pepsi-stage-relay-to-internet, pepsi-stage-relay-to-smarthost, Architektur, pepsi-tlsrpt(1), pepsi.conf(5).