Zanim charm Juju stanie się twoim VPN: tożsamość, umowa, porty
Pięć kroków oddziela to, co charm faktycznie dostarcza, od tego, co zakładasz: przypnij wersję, przeczytaj konfigurację, a następnie traktuj ekspozycję jako działanie zapory.
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ś.