Aktivieren Sie auth-nocache, und die Warnung zur Passwort-Cacheung verschwindet, zusammen mit der Kopie der Anmeldedaten, die OpenVPN für die nächste Neuverhandlung bereithielt. Ob daraus eine Abfrage, ein stiller neuer Versuch oder ein abgebrochener Tunnel wird, hängt davon ab, woher die Anmeldedaten beim zweiten Mal kommen. Damit ist das ein Vergleich zwischen Bereitstellungsformen und kein Urteil über die Option. Lesen Sie die Form, die Sie tatsächlich betreiben, bevor Sie irgendein Profil bearbeiten.

Woher der zweite Satz Anmeldedaten kommen muss

OpenVPN wendet auth-nocache auf die Geheimnisse an, die auth-user-pass und askpass sammeln: Sobald sie benutzt wurden, verwirft der Prozess sie, statt sie für den nächsten Handshake zu behalten. Eine Neuverhandlung kommt per Timer, standardmäßig einmal pro Stunde, sodass die zweite Anfrage lange nachdem die Person, die das Passwort eingegeben hat, weitergezogen ist, eintrifft. Diese Lücke ist die ganze Geschichte. Bleibt der Cache an, spielt der Client die gespeicherte Kopie ab, ohne jemanden zu fragen; ist er aus, muss er das Geheimnis woanders finden oder scheitern.

Listen Sie also jeden Ort auf, von dem das Geheimnis in diesem Moment kommen könnte, und seien Sie ehrlich, welche davon auf dem Host existieren. Eine Person am Terminal, eine Datei, die auth-user-pass oder askpass lesen kann, oder ein vom Server ausgestelltes Sitzungstoken sind die drei, die hier zählen. Ist keines davon verfügbar, scheitert die Neuverhandlung eine Stunde nach der Änderung und nicht in dem Moment, in dem Sie sie vorgenommen haben.

Drei Formen, drei Fehlerpunkte

Ein Desktop-Client mit einer Person davor ist der milde Fall: Die Abfrage kehrt zurück, jemand tippt das Passwort erneut ein, und der Preis ist Aufmerksamkeit. Ein Dienst, Container oder Router, der OpenVPN ohne Terminal betreibt, ist der harte Fall, denn niemand ist da, um zu antworten, und die Wiederverbindung, die früher still war, beendet jetzt den Tunnel. Ein Hybrid liegt dazwischen und verhält sich wie der Desktop-Fall, bis die Sitzung, die die Abfrage beantworten könnte, verschwindet. Was sie trennt, ist nicht, ob eine GUI installiert ist, sondern ob zum Zeitpunkt der Neuverhandlung eine Quelle für Anmeldedaten existiert.

Ordnen Sie Ihre Bereitstellung einer dieser drei Formen zu, bevor Sie etwas ändern, denn der Rat, den Sie online finden, ist fast immer für die erste geschrieben. Die Desktop-Antwort auf einen kopflosen Dienst anzuwenden, ist der Weg, auf dem ein Tunnel, der monatelang lief, jede Stunde abzubrechen beginnt.

Direktive oder Flag: Wählen Sie eines und wissen Sie, welches Sie benutzt haben

Innerhalb eines Profils ist auth-nocache eine eigene Zeile; bei einem Aufruf, der ein Profil ausdrücklich nennt, ist es ein Flag auf dieser Kommandozeile, und das OpenVPN-Handbuch führt beide Formen auf. Beide tun dasselbe für das Zurückhalten von Anmeldedaten, und keines berührt den Schnittstellentyp oder repariert eine unabhängige Warnung im selben Protokoll. Der Unterschied ist die Beständigkeit: Das Flag gilt nur für diesen Lauf, daher hat ein Dienst, der aus einer Unit-Datei oder einem Wrapper-Skript neu gestartet wird, es nicht, es sei denn, der Wrapper gibt es ebenfalls weiter.

auth-nocache
openvpn --config /path/client.ovpn --auth-nocache

Entscheiden Sie, welches Artefakt die Einstellung besitzt, ändern Sie sie dort und nirgends sonst. Ein auf einem Laptop bearbeitetes Profil plus eine systemd-Unit, die es mit einem Flag überschreibt, ist die Paarung, die nach einem Neustart widersprüchliches Verhalten erzeugt.

Eine Datei mit Anmeldedaten verschiebt das Geheimnis, statt es zu löschen

auth-user-pass auf eine Datei zu richten, gibt jeder späteren Neuverhandlung eine Quelle, und es legt das Passwort auch an einem Ort ab, der Neustarts übersteht. Fragen Sie, wer diese Datei lesen kann, ob der Daemon sie nach dem Ablegen von Privilegien noch lesen kann und was passiert, wenn das Dateisystem nur lesend eingehängt ist oder eine Container-Ansicht den Pfad verbirgt. Ein Geheimnis auf der Platte und ein Geheimnis im Speicher sind verschiedene Probleme, und das eine zu lösen lässt das andere an Ort und Stelle. Rotation ist der Schritt, der übersprungen wird: Ein Passwort, das auf dem Server geändert, aber nicht in der Datei geändert wurde, erzeugt einen Fehler, der wie ein Netzwerkfehler aussieht.

Halten Sie die Datei im Besitz des Kontos, das den Daemon ausführt, für niemanden sonst lesbar und außerhalb von Sicherungen, die den Host verlassen. Die serverseitige Option auth-gen-token von OpenVPN übergibt dem Client nach einer erfolgreichen Anmeldung ein Sitzungstoken, was weniger ist, was man herumliegen lässt, als das Kontopasswort. Schreiben Sie den Rotationsschritt in jedem Fall neben die Datei, denn die Datei überlebt meist die Person, die sie erstellt hat.

Die Neuverhandlung zu strecken verschiebt die Kosten, beseitigt sie nicht

Der andere Vorschlag ist, reneg-sec zu erhöhen, bis die Abfrage so selten ist, dass man sie ignorieren kann. Das schreibt den Schlüsselrotationsplan der Sitzung neu und schiebt dasselbe Anmeldedatenproblem auf einen späteren, weniger vorhersehbaren Moment; es schafft keine Quelle für Anmeldedaten. Eine Richtlinie, die Schlüssel aus einem Grund nach Plan erneuert, sollte nicht gelockert werden, nur um das Tippen eines Passworts zu vermeiden.

Testen Sie die Wiederverbindung statt der Sitzung, in der Sie gerade sitzen, denn die laufende Sitzung beweist nichts. Lassen Sie den Tunnel von der Serverseite abfallen oder starten Sie den Client-Dienst neu, und beobachten Sie, was die nächste Neuverhandlung tut, wenn niemand an der Tastatur ist. Wenn er sich wieder verbindet, benennen Sie den Mechanismus, der das Geheimnis geliefert hat; wenn nicht, haben Sie die tatsächlichen Kosten der Option auf diesem Host gefunden. Beides gibt Ihnen eine Antwort, die während einer Störung gilt, statt einer, die während des Tests galt.

In einer verwalteten Flotte sollte, wer die Bereitstellung besitzt, drei Dinge nennen können: woher die Anmeldedaten kommen, wo sie gespeichert sind und wer sie rotiert. Wenn eine dieser Antworten die Person ist, die den Host eingerichtet hat, ist die Option dort noch nicht sicher.

Ähnliche Artikel