Einen Server zurückzusetzen ist eine Entscheidung darüber, welche Schicht versagt hat, keine Übung im Kopieren von Dateien. Konfiguration, Anmeldedaten und Paketversionen laufen auf getrennten Uhren, und wer eine davon wiederherstellt, während die anderen aktuell bleiben, erzeugt einen Host, der gesund aussieht und sich inkonsistent verhält. Die folgende Reihenfolge setzt voraus, dass eine Änderung bereits schiefgegangen ist, und verlangt, den kleinsten zusammenhängenden Zustand wiederherzustellen. Arbeiten Sie sie der Reihe nach durch und behandeln Sie die Zugangsprüfung außerhalb des Bandes als den Schritt, den niemand überspringen sollte.

Erstellen Sie einen Prüfpunkt, den Sie wirklich wiederherstellen können

Halten Sie die Konfiguration fest, die der Dienst beim Start liest, zusammen mit der Version, die sie zuletzt geparst hat. Eine Datei, die unter einer älteren Version sauber geladen wurde, kann nach einem Upgrade abgelehnt oder stillschweigend ignoriert werden, deshalb gehört die Version in dieselbe Notiz. Beziehen Sie das Material ein, auf das die Konfiguration verweist: private Schlüssel, Zertifikatspfade, Listener-Definitionen sowie die DNS- und Firewall-Einträge, die den Dienst erreichbar machen. Bräuchte eine Wiederherstellung eine Datei, die Sie nicht gesichert haben, ist der Prüfpunkt unvollständig.

Benennen Sie den Eigentümer jeder Einstellung, solange das System noch gesund ist. Eine Route, die das Anbieterpanel installiert, eine vom Host-Firewall hinzugefügte und eine an Clients ausgelieferte sind drei verschiedene Objekte, und wer die falsche wiederherstellt, lässt die beiden anderen stehen. Eine kurze Tabelle mit Einstellung, Eigentümer und Dateipfad genügt.

Halten Sie Sperrungen von der Konfiguration getrennt

Eine alte Konfiguration kann ein Gerät, das Sie bewusst entfernt haben, stillschweigend wieder verbinden, was eine Wiederherstellung in einen Sicherheitsrückschritt verwandelt. Bewahren Sie die aktuelle Sperrliste und deaktivierte Konten, während Sie die Netzwerkrichtlinie wiederherstellen, und wenden Sie sie erneut an, bevor der Dienst Clients annimmt.

Behandeln Sie den Identitätszustand als eigenen Rollback mit eigenen Belegen. Zertifikatssperrdateien, Kontodeaktivierung und MFA-Registrierung liegen selten am selben Ort wie die Daemon-Konfiguration, und eine Konfigurationswiederherstellung rührt sie nicht an. Prüfen Sie zuerst den aktuellen Zustand, damit Sie wissen, was überleben muss. Bestätigen Sie nach der Wiederherstellung, dass die entfernte Identität weiterhin keine Verbindung aufbauen kann.

Erreichen Sie den Host, wenn der Tunnel ausfällt

Öffnen Sie einen Weg zum Rechner, der nicht von der geänderten Komponente abhängt. Eine Hypervisor-Konsole, eine Verwaltungsadresse auf einer separaten Schnittstelle oder eine serielle Konsole kommen alle in Frage; eine durch den Tunnel geführte SSH-Sitzung nicht. Ist der einzige Zugang das VPN, das Sie gleich neu starten, nimmt Ihnen eine schlechte Route oder Firewallregel die Möglichkeit, das zu korrigieren. Testen Sie den alternativen Weg vor der Änderung, nicht danach. Melden Sie sich einmal darüber an, bestätigen Sie, dass sudo funktioniert, und notieren Sie die genaue verwendete Adresse.

Der Test ist einfach: Nehmen Sie den Tunnel herunter, während Sie über den alternativen Weg verbunden sind, und sehen Sie, ob die Sitzung überlebt. Fällt sie weg, haben Sie den Fehler gefunden, bevor er Sie stranden kann.

Wenden Sie eine Revision an und wissen Sie, wann sie wirkt

Nutzen Sie die Dokumentation des Dienstes zu reload oder restart und finden Sie heraus, welche Direktiven zu welchem Zeitpunkt gelesen werden. Manche Werte gelten beim Reload, andere erst wenn eine neue Sitzung oder ein Prozess startet, daher beweist das Bearbeiten einer Datei nichts über den laufenden Zustand. Stellen Sie eine einzelne Revision wieder her, statt eine neue Datei mit altem Laufzeitzustand zu vermischen. Im Zweifel ist ein vollständiger Neustart des Dienstes leichter nachzuvollziehen als ein teilweiser Reload.

Prüfen Sie die Unit-Definition, bevor Sie wählen: systemctl show -p ExecReload openvpn@server sagt Ihnen, ob überhaupt ein Reload-Hook existiert. Wenden Sie dann die Revision an und lesen Sie im Journal die ersten neuen Fehler, bevor Sie etwas anderes ändern.

Prüfen, dokumentieren und anschließend untersuchen

Verbinden Sie einen autorisierten Client und testen Sie, wofür der Dienst da ist: Namensauflösung, eine erneute Verbindung und die Anwendung, die versagt hat. Bestätigen Sie, dass die gesperrte Identität weiterhin abgelehnt wird. Notieren Sie die wiederhergestellte Revision, die Uhrzeit und den Grund, denn der nächste Betreiber braucht alle drei. Ein Rollback, den niemand dokumentiert hat, wird beim nächsten Fehlverhalten des Dienstes zum Rätsel.

systemctl status openvpn@server --no-pager
journalctl -u openvpn@server -n 50 --no-pager

Sobald der Dienst stabil ist, reproduzieren Sie die fehlgeschlagene Änderung auf einem Host oder Snapshot, den Sie verwerfen können. Das trennt eine schlechte Konfiguration von einem schlechten Paket oder einem abgelaufenen Zertifikat. Halten Sie die wiederhergestellte Konfiguration unter Versionskontrolle, damit der nächste Prüfpunkt von einem bekannten Commit ausgeht. Der Sinn der Übung ist ein dokumentierter Endpunkt, kein dauerhaftes Downgrade.

Ähnliche Artikel