85.1.50. pepsi-secure-link¶
inspect and manage messages held in the portal
- Handbuchabschnitt:
1
85.1.50.1.1. Name¶
pepsi-secure-link - Operator-CLI für das Secure-Link-Ausweichportal.
85.1.50.1.2. Übersicht¶
85.1.50.1.3. Beschreibung¶
pepsi-secure-link inspiziert und verwaltet die im Secure-Link-Ausweichportal gehaltenen Nachrichten (siehe pepsi-stage-secure-link(1) und pepsi-httpd(1)). Es ist ein Operator-Werkzeug, keine Stage.
Die globalen Optionen (-c/--config, -L/--log, -v) stehen vor dem Unterbefehl. Als root ausgeführt übernimmt das Werkzeug das Dienstkonto pepsi, sodass es sich gegenüber PostgreSQL als die Rolle authentifiziert, der die Warteschlange gehört.
85.1.50.1.4. Was es zeigen kann und was nicht¶
Es berichtet wer und wann, nie was. Es gibt keinen Unterbefehl, der eine gespeicherte Nachricht anzeigt, kein --decrypt-Flag und keinen Hinterlegungsschlüssel: Der Inhaltsschlüssel wird mit Argon2id aus der PIN des Empfängers, einem Salz je Nachricht und einem serverseitigen Pfeffer abgeleitet, und die PIN wird nie gespeichert. Nichts, was ein Administrator hält — die Datenbank, der Pfeffer, beides zusammen —, rekonstruiert ihn.
Wenn ein Empfänger die PIN also verliert, sendet der Absender die Nachricht erneut; eine neue PIN wird ausgegeben und ein neuer Link gemailt. Es gibt kein „die PIN erneut senden“, denn die PIN existiert nirgends außer in den Händen der Korrespondenten.
85.1.50.1.5. Befehle¶
- list
Offene Nachrichten, die neuesten zuerst: Token, Absender, Empfänger, Ablauf, Lesezähler, Zähler fehlgeschlagener PINs und eine etwaige Sperre.
--expiredzeigt zusätzlich Nachrichten, die abgelaufen sind, aber noch nicht entfernt wurden.--limitbegrenzt die Auflistung (standardmäßig 50) und--jsongibt dieselben Felder als JSON aus.- show TOKEN
Die Metadaten einer Nachricht samt ihrem Zugriffsjournal: wann jeder Versuch stattfand, von welcher Adresse und wie er endete (
read,bad-pin,locked,reply). Das Journal ist je Nachricht durch[pepsi-secure-link] ACCESS_LOG_ROWSbegrenzt, was auch bestimmt, wie viele Zeilenshowausgibt, und wird mit der Nachricht gelöscht.- revoke TOKEN
Zerstört eine Nachricht. Das legt die Mail nicht zurück in die Warteschlange — es zieht sie zurück, und der Link des Empfängers funktioniert nicht mehr. War es ein Versehen, sendet der Absender erneut.
- prune
Löscht jede Nachricht nach ihrem Ablauf, und damit die einzige Kopie. Gedacht für eine tägliche Cron-Aufgabe oder einen systemd-Timer, wie
pepsi-tlsrpt prune.--grace-hoursbehält abgelaufene Nachrichten etwas länger. Eine Installation, die nie aufräumt, behält für immer unlesbares Chiffrat in der Datenbank: Das Portal weist ein abgelaufenes Token bereits ab, sodass dies eher ein Problem der Datenbankgröße als der Vertraulichkeit ist, aber ein Problem bleibt es.
85.1.50.1.6. Privilegien¶
Das Werkzeug läuft als Datenbankrolle pepsi, der INSERT und DELETE auf pepsi.secure_message sowie SELECT auf jede ihrer Spalten außer ciphertext gewährt sind. Deshalb funktionieren list und show, und deshalb kann hier nichts eine Nachricht auch nur versehentlich ausgeben; pepsi-setup verifiziert die Grenze bei jedem Lauf gegen die laufende Datenbank.
85.1.50.1.7. Exit-Status¶
0 bei Erfolg, ungleich null bei einem Fehler (einschließlich show/revoke für ein Token, das nicht existiert).
85.1.50.1.8. Siehe auch¶
pepsi-stage-secure-link(1), pepsi-stage-encrypt(1), pepsi-httpd(1), pepsi-setup(1), pepsi.conf(5)