Czy użytkownicy VPN mogą docierać do serwerów bez przechodzenia przez host pośredniczący, to pytanie o politykę w sieciowym przebraniu. Jeśli bastion wykonuje wymaganą kontrolę, dołączenie do VPN musi do niego prowadzić, a nie go omijać. Jeśli host pośredniczący tylko mostkował segment, który wcześniej był nieosiągalny, wąska bezpośrednia ścieżka może być uczciwym zamiennikiem. Wykonaj poniższe kontrole po kolei i zatrzymaj się na pierwszej, która zawiedzie, bo ta odpowiedź decyduje o reszcie.

Sprawdź, czym bastion naprawdę steruje

Zacznij od dowodów o teraźniejszości, a nie od diagramu z dokumentu projektowego. Spójrz na konfigurację SSH i filtr pakietów celu: jeśli przychodzący port 22 jest akceptowany tylko z adresu bastionu, host pośredniczący jest wymuszoną kontrolą. Jeśli ten sam port akceptuje połączenia z całej puli VPN, bastion był tylko udogodnieniem, a egzekwowanie mieszka zupełnie gdzie indziej. Historia zgłoszeń zwykle potwierdza, które z dwojga istniało pierwsze.

Sformułuj ustalenie w jednym zdaniu, nazywając kontrolę, którą daje bastion: ograniczenie miejsca docelowego, drugi krok uwierzytelniania, nagrywanie sesji lub widoczność operacyjna podczas incydentu. Właśnie to zdanie musi zachować polityka zastępcza.

Sprawdź, czy cel rozróżnia ścieżki

Reguły adresu źródłowego działają tylko dopóki obie ścieżki przychodzą z różnych adresów źródłowych. Brama VPN maskująca ruch do podsieci serwerów zaciera tę różnicę, a wtedy każde połączenie na port 22 wygląda, jakby przychodziło z bramy. Kontrola jest lokalna na celu i zajmuje chwilę: wylistuj nawiązane sesje SSH i odczytaj adres drugiej strony każdej z nich.

Gdy obie ścieżki zapadają się w jeden adres, rozróżnienie trzeba zrobić wcześniej: przez miejsca docelowe, do których VPN może wypychać ruch, oraz przez własne filtry bramy. Dodanie reguły na celu w takiej sytuacji tworzy iluzję granicy bez zmiany tego, co przychodzi.

Sprawdź, co naprawdę zawiera każdy zapis

Trzy różne logi opisują trzy różne zdarzenia i żaden nie zastępuje innego. Zapis połączenia VPN pokazuje, że tożsamość weszła w zakres sieci. Zapis przekazywania bastionu pokazuje kanał TCP opuszczający go w stronę celu i portu. Log uwierzytelniania celu pokazuje, że konto zalogowało się przez SSH. Dopiero czytanie ich razem daje oś czasu; czytanie jednego daje domysł.

Żaden z tych zapisów nie zawiera tego, co działo się wewnątrz szyfrowanej sesji między klientem a celem. Jeśli przegląd na poziomie poleceń jest wymogiem, potrzebuje celowo wdrożonego mechanizmu nagrywania z własnymi zasadami przetwarzania danych. Oczekiwanie tego od logów hosta pośredniczącego to sposób, w jaki luka audytowa pozostaje ukryta, dopóki nie zacznie mieć znaczenia.

Sprawdź, gdzie polityka jest naprawdę egzekwowana

Ustawienie klienta takie jak ProxyJump jest prośbą, nie ograniczeniem. OpenSSH chętnie otworzy bezpośrednie połączenie, gdy cel jest osiągalny, więc pliki konfiguracji na laptopach opisują intencję, a zapory ogniowe rozstrzygają wynik. Egzekwowanie należy do dozwolonych miejsc docelowych bramy VPN i do własnych reguł dostępu celu, a użytkownik nie może edytować żadnego z nich. Jednocześnie przeprowadź audyt ścieżek alternatywnych: drugi interfejs, publiczny nasłuch, warstwa mesh lub starszy tunel między lokalizacjami mogą każdy przywrócić skrót, który właśnie zamknąłeś.

Mimo to skonfiguruj ProxyJump, bo czyni zatwierdzoną trasę łatwą i nie pozwala rutynowej pracy tworzyć wyjątków. Potwierdź, co klient naprawdę rozwiązuje, zanim mu zaufasz.

ssh -G app01.lab.internal | grep -iE '^(hostname|port|proxyjump|proxycommand)'

Zweryfikuj świadomą bezpośrednią próbą

Polityka, której nigdy nie testowano, jest nadzieją. Z klienta podłączonego do VPN spróbuj ścieżki, która teraz powinna zostać odrzucona, potem spróbuj zatwierdzonej, i zachowaj oba wyniki. Odrzucona próba jest dowodem, że zmiana weszła w życie.

nc -vz -w 3 10.20.30.41 22
ssh -J bastion.lab.internal app01.lab.internal true

Czysty wynik wygląda jak odrzucone lub przekroczone czasowo bezpośrednie połączenie do adresu celu, po którym następuje udane logowanie na host pośredniczący i wpis uwierzytelniania po stronie celu nazywający obsługiwane źródło. Cokolwiek innego oznacza, że granica wciąż jest porowata, cokolwiek mówi dokumentacja. Zapisz datę, zmienioną regułę i oba wyniki, a następnie daj ścieżce odzyskiwania właściciela i datę wygaśnięcia żeby dostęp awaryjny nie stał się po cichu trasą codzienną.

Powiązane artykuły