Ktoś znajduje charm, który twierdzi, że uruchamia VPN, wdraża go, eksponuje aplikację i czeka, aż klient się połączy. Wdrożenie się udaje, port się otwiera, a tunel nadal nie działa, ponieważ trzy niezwiązane obietnice zostały połączone w jedną. Charm to implementacja wdrożenia z określoną umową. Przeanalizuj te obietnice osobno, a luki pojawią się przed wdrożeniem, a nie po nim.

Krok pierwszy: przypnij artefakt, o którym czytasz

Przeczytaj metadane samego kandydata: wydawcę, repozytorium źródłowe, kanał, wersję, bazę i architekturę. Następnie ustal, kto utrzymuje oprogramowanie VPN w obrębie obciążenia i kto dostarcza jego aktualizacje bezpieczeństwa, bo to często dwie różne strony. Nieutrzymywany upstream w dobrze utrzymywanym charme to problem wsparcia czekający na zły tydzień.

juju info CHARM_NAME w Juju 3.6 zgłasza kanały, bazy i architektury, a dokumentacja zauważa, że zapytania o konkretną wersję nie można łączyć z tymi filtrami. Pytaj o wersję osobno, zamiast budować kombinację, którą polecenie odrzuca. Przeczytaj także bazę i architekturę, ponieważ kanał może obejmować więcej niż jedną.

Zapisz dokładną kombinację, którą sprawdziłeś, obok wdrożenia. Wtedy odświeżenie, które przesuwa kanał, jest zamierzoną zmianą z przed i po, a nie niespodzianką w poniedziałek.

Krok drugi: czytaj konfigurację jako umowę

Ustal rolę, jaką odgrywa charm: zakończenie dostępu zdalnego, dołączenie do istniejącego VPN lub coś zupełnie innego. Następnie znajdź, jak dokumentuje rejestrację klientów, zaufanych wystawców, rotację poświadczeń i unieważnianie. Te cztery decydują, czy możesz to obsługiwać, a wygenerowany plik klienta jest wrażliwym wynikiem, a nie plikiem do zgłoszenia.

Podążaj za interfejsami i akcjami, które charm faktycznie udostępnia. Nie zakładaj, że akcja rejestracji istnieje, tylko dlatego że ma ją inny charm dla tego samego oprogramowania.

Zapytaj, co uzgadnianie robi z ręcznymi zmianami. Jeśli charm nadpisze plik konfiguracyjny przy następnej aktualizacji, ręczna poprawka ma żywotność jednej aktualizacji. Zapytaj opiekunów, gdzie to zachowanie jest udokumentowane, a milczenie traktuj jako nieznane.

Krok trzeci: oddziel nasłuchującego od przekazywanej ścieżki

Zewnętrzny nasłuchujący to gniazdo, które przyjmuje tunel. Przekazywanie to to, co dzieje się z ruchem w jego wnętrzu, a ścieżka powrotna to to, co pozwala odpowiedziom wrócić. Charm może dostarczyć pierwsze i zostawić pozostałe dwa zespołowi infrastruktury.

Wyjście to trzecia część. Jeśli klienci tunelu mają docierać do internetu przez ten host, musi istnieć układ adresowania lub tłumaczenia, a nie powstaje on przez otwarcie portu. Przypisz właściciela tej części, zanim przybędzie pierwszy klient.

Krok czwarty: ekspozycja to działanie zapory

W Juju 3.6 eksponowanie aplikacji dostosowuje reguły zapory w chmurze i domyślnie zezwala na ruch z dowolnego źródła do portów otwartych przez obciążenie. Selektory endpoint i CIDR polecenia istnieją właśnie po to, by tę wartość domyślną można było zawęzić.

Ekspozycja nie tworzy użytkowników VPN, nie weryfikuje ich poświadczeń i nie instaluje polityki przekazywania. Nie dowodzi też, że obciążenie nasłuchuje na adresie i transporcie, których oczekujesz, dlatego test po ekspozycji jest ważniejszy niż komunikat o powodzeniu. Sprawdź gniazdo nasłuchujące na jednostce oraz regułę w chmurze.

Krok piąty: zaakceptuj czterema testami

Po zatwierdzonym wdrożeniu zarejestruj nowego klienta i potwierdź zamierzoną usługę prywatną. Następnie unieważnij tę tożsamość i potwierdź, że dostęp naprawdę się kończy, a nie tylko następne logowanie zostaje odrzucone. Powtórz kontrolę z sieci, której nie kontrolujesz, a potem z wnętrza biura, bo te dwie drogi odpowiadają na różne pytania.

Zakończ aktualizacją i ponownym połączeniem, bo tam współdziałają uzgadnianie, obsługa poświadczeń i restarty usług. Jeśli dokumentacja nie potrafi wyjaśnić, kto jest właścicielem jednej z tych operacji, zapisz to jako lukę adopcyjną, zamiast wypełniać ją nieutrzymywanym przepisem pod tą samą nazwą charmu. Zapisana luka to decyzja; po cichu wypełniona luka to przyszła awaria. Przekaż ją właścicielowi decyzji o usłudze, z datą, w której ją znalazłeś.

Powiązane artykuły