Jak bezpiecznie wycofać konfigurację serwera VPN
Wycofanie przywraca znaną dobrą politykę sieciową, a nie najstarszy plik, jaki znajdziesz. Utrzymuj aktualne unieważnienia i ścieżkę zarządzania poza tunelem.
Wycofanie serwera to decyzja o tym, która warstwa zawiodła, a nie ćwiczenie z kopiowania plików. Konfiguracja, dane uwierzytelniające i wersje pakietów poruszają się według różnych zegarów, a przywrócenie jednego, gdy pozostałe pozostają aktualne, daje host, który wygląda zdrowo i zachowuje się niespójnie. Poniższa kolejność zakłada, że zmiana już się nie udała, i prosi o przywrócenie najmniejszego spójnego stanu. Przejdź ją po kolei i potraktuj kontrolę dostępu poza pasmem jako krok, którego nikt nie powinien pominąć.
Zrób punkt kontrolny, który naprawdę możesz przywrócić
Zapisz konfigurację, którą usługa czyta przy starcie, wraz z wersją, która ostatnio ją przetworzyła. Plik, który ładował się czysto w starszym wydaniu, może po aktualizacji zostać odrzucony lub po cichu zignorowany, więc wersja należy do tej samej notatki. Uwzględnij materiał, na który wskazuje konfiguracja: klucze prywatne, ścieżki certyfikatów, definicje nasłuchu oraz wpisy DNS i zapory, które czynią usługę osiągalną. Jeśli przywrócenie wymagałoby pliku, którego nie zapisałeś, punkt kontrolny jest niekompletny.
Nazwij właściciela każdego ustawienia, dopóki system jest jeszcze zdrowy. Trasa instalowana przez panel dostawcy, trasa dodana przez zaporę hosta i trasa wypychana do klientów to trzy różne obiekty, a przywrócenie niewłaściwego zostawia pozostałe dwa na miejscu. Wystarczy krótka tabela ustawienia, właściciela i ścieżki pliku.
Trzymaj unieważnienia osobno od konfiguracji
Stara konfiguracja może po cichu ponownie podłączyć urządzenie, które celowo usunąłeś, co zamienia odzyskiwanie w regresję bezpieczeństwa. Zachowaj bieżącą listę unieważnień i wyłączone konta, przywracając politykę sieciową, a następnie zastosuj je ponownie, zanim usługa zacznie przyjmować klientów.
Traktuj stan tożsamości jako osobne wycofanie z własnymi dowodami. Pliki unieważnień certyfikatów, wyłączanie kont i rejestracja MFA rzadko znajdują się w tym samym miejscu co konfiguracja demona, a przywrócenie konfiguracji ich nie tknie. Najpierw sprawdź stan bieżący, aby wiedzieć, co musi przetrwać. Po przywróceniu potwierdź, że usunięta tożsamość nadal nie może się połączyć.
Dotrzyj do hosta, gdy tunel zawodzi
Otwórz ścieżkę do maszyny, która nie zależy od zmienianego komponentu. Konsola hiperwizora, adres zarządzania na osobnym interfejsie lub konsola szeregowa — wszystkie się nadają; sesja SSH przenoszona przez tunel nie. Jeśli jedynym wejściem jest VPN, który właśnie restartujesz, zła trasa lub reguła zapory odbiera ci możliwość poprawienia go. Przetestuj ścieżkę alternatywną przed zmianą, nie po niej. Zaloguj się przez nią raz, potwierdź, że sudo działa, i zapisz dokładny adres, którego użyłeś.
Test jest prosty: opuść tunel, będąc połączonym przez ścieżkę alternatywną, i sprawdź, czy sesja przetrwa. Jeśli padnie, znalazłeś usterkę, zanim mogła cię osadzić.
Zastosuj jedną rewizję i wiedz, kiedy wchodzi w życie
Skorzystaj z dokumentacji usługi dotyczącej reload lub restart i ustal, które dyrektywy są czytane w którym momencie. Niektóre wartości działają przy reload, inne dopiero gdy zaczyna się nowa sesja lub proces, więc edycja pliku niczego nie dowodzi o stanie działania. Przywróć jedną rewizję zamiast mieszać nowy plik ze starym stanem wykonania. W razie wątpliwości pełny restart usługi łatwiej uzasadnić niż częściowy reload.
Sprawdź definicję jednostki przed wyborem: systemctl show -p ExecReload openvpn@server mówi ci, czy hak reload w ogóle istnieje. Następnie zastosuj rewizję i odczytaj w dzienniku pierwsze nowe błędy, zanim zmienisz cokolwiek innego.
Sprawdź, zapisz i zbadaj później
Podłącz jednego upoważnionego klienta i przećwicz to, do czego służy usługa: rozwiązywanie nazw, ponowne połączenie i aplikację, która zawiodła. Potwierdź, że unieważniona tożsamość nadal jest odrzucana. Zapisz przywróconą rewizję, godzinę i powód, bo następny operator będzie potrzebował wszystkich trzech. Wycofanie, którego nikt nie udokumentował, staje się zagadką, gdy usługa następnym razem zachowa się źle.
systemctl status openvpn@server --no-pager
journalctl -u openvpn@server -n 50 --no-pager
Gdy usługa będzie stabilna, odtwórz nieudaną zmianę na hoście lub migawce, którą możesz wyrzucić. To oddziela złą konfigurację od złego pakietu lub wygasłego certyfikatu. Trzymaj przywróconą konfigurację pod kontrolą wersji, aby następny punkt kontrolny zaczynał się od znanego commita. Sens ćwiczenia to udokumentowany punkt końcowy, a nie trwały downgrade.