Przekazanie klientowi profilu VPN oznacza przekazanie konfiguracji napisanej przez kogoś innego, którą ten program następnie wykonuje na Twojej maszynie. Import może zmienić, dokąd trafia objęty ruch, któremu partnerowi ufa Twoje urządzenie, a w niektórych formatach także to, jakie lokalne programy uruchamiają się przy podnoszeniu tunelu. Plik nie jest zakładką; to mały program w formacie deklaratywnym.

Czytaj go tak, jak czytałbyś skrypt powłoki z tego samego źródła.

Interpretuje go klient, nie Ty

Każde pole w pliku jest poleceniem dla konkretnego klienta. Punkt końcowy i protokół decydują, dokąd prowadzi tunel, blok uwierzytelniania decyduje, jakiego sekretu się wymaga, a dyrektywy tras decydują, co do niego wchodzi. Certyfikaty lub klucz prywatny mogą być osadzone jako bloki zamiast wskazywane jako pliki, i dlatego jeden plik tekstowy czasami niesie wszystko, co potrzebne, by podszyć się pod Ciebie przed bramą. Właśnie ta właściwość czyni zwykłe udostępnianie plików tak niebezpiecznym.

Profile OpenVPN mogą też nieść haki skryptowe, ścieżki wtyczek i poziom bezpieczeństwa, który określa, czy te haki mogą się uruchamiać. Właśnie ta kombinacja sprawia, że nieznany profil warto czytać linia po linii zamiast kliknąć dwukrotnie. Klient zrobi dokładnie to, co mówi plik, i zrobi to z Twoimi uprawnieniami.

Zmiany tras są widoczne po jednym połączeniu

Profil pełnego tunelu instaluje trasy, które wysyłają wszystko przez bramę, podczas gdy profil dzielonego tunelu wysyła tylko wybrane prefiksy. Niektóre profile wypychają też serwer DNS, co po cichu zmienia to, kto widzi Twoje zapytania. Nic z tego nie jest samo w sobie złośliwe i nic z tego nie jest oczywiste z nazwy pliku.

Porównaj tablicę tras przed pierwszym połączeniem i po nim, a zobaczysz intencję na pierwszy rzut oka. Profil reklamowany jako dostęp do jednej wewnętrznej aplikacji, ale instalujący szerszą trasę domyślną, mówi Ci coś o swoim autorze.

Prawdziwy ciężar noszą materiał zaufania i haki

Profil może dostarczyć klientowi VPN informacje o zaufaniu, a pakiet konfiguracji platformy może pójść dalej i zainstalować certyfikat lub korzeń w magazynie systemowym. To różne zakresy o różnych skutkach. Przypadek w zakresie klienta dotyczy walidacji jednej aplikacji; przypadek na poziomie systemu dotyczy wszystkiego, co korzysta z magazynu zaufania platformy.

Haki skryptowe i wtyczki to druga połowa. Dyrektywa, która przy połączeniu uruchamia polecenie, albo wtyczka wczytana do procesu klienta, ma Twoje uprawnienia i nic z izolacji klienta. Jeśli profil, o który nie prosiłeś, zawiera taki element, to pytanie do osoby, która go wysłała.

Żadna z obu kategorii nie jest automatycznie wroga. Wdrożenia korporacyjne używają obu. Rzecz w tym, że każda wymaga wyjaśnienia, które możesz sprawdzić.

Zweryfikuj pochodzenie, potem wpisz sekret

Ustal, kto wydał plik, kanałem, któremu już ufasz, a nie przez wiadomość, która go dostarczyła. Porównaj dane punktu końcowego i certyfikatu z opublikowaną dokumentacją operatora. Jeśli profil przyszedł bez zamówienia, zdobądź nowy bezpośrednio od operatora, zamiast naprawiać otrzymaną kopię. Zapytaj, którą wersję klienta operator wspiera, bo ten sam plik może być różnie interpretowany przez innego klienta.

grep -nE '^(remote|proto|auth-user-pass|redirect-gateway|route|route-nopull)' office.ovpn
grep -nE '^(up|down|plugin|script-security|setenv)' office.ovpn
openssl x509 -in embedded-ca.crt -noout -subject -issuer -dates

Nigdy nie wpisuj hasła w niejasne pole, żeby sprawdzić, czy działa, i nigdy nie akceptuj nieznanego żądania uprawnień tylko po to, by dokończyć import. Udane połączenie dowodzi, że punkt końcowy odpowiedział, i nic więcej.

Usuń zaimportowaną kopię, nie pobrany plik

Klienci kopiują profil do własnego magazynu, więc usunięcie pobranego pliku zostawia importowane połączenie aktywne. Usuń je przez interfejs samego klienta i sprawdź, czy zniknął też każdy certyfikat dodany podczas importu. Następnie potwierdź, że zniknęły również zainstalowane trasy.

Jeśli certyfikat został zainstalowany na poziomie systemu, usunięcie profilu nie wystarczy. To sprzątanie należy do zarządzania zaufaniem platformy i warto je wykonać świadomie, zamiast liczyć, że następny restart sobie poradzi.

Powiązane artykuły