Jak korzystać z VPN na komputerze Mac, aby uniknąć kompromisu przed uruchomieniem VPN?

11

Jak usłyszą najbardziej doświadczeni użytkownicy, korzystanie z komputera Mac w niezaufanym publicznym Wi-Fi może być potencjalnie szkodliwe. Narzędzie takie jak Firesheep 1 ułatwiło przechwytywanie nieszyfrowanej komunikacji.

Korzystanie z pełnego tunelu VPN do szyfrowania całej komunikacji jest tak często wymieniane, jak magiczne rozwiązanie podsłuchu, ale oczywiście nie jest to takie proste:

  • W zależności od protokołu i konfiguracji połączenia VPN połączenie może zostać zerwane łatwiej. (np. TLS vs UDP)
  • Połączenie VPN nie jest ustanawiane natychmiast po podłączeniu do sieci publicznej.

Myślę, że ostatnie dwa punkty mają duże znaczenie, ponieważ za każdym razem, gdy zmieniają się ustawienia sieci, różne aplikacje natychmiast komunikują się z ich serwerami - zakładam, configdże to one o nich informują, prawda?

tzn. przed ustanowieniem tunelu VPN większość (działających) procesów wymagających połączenia z Internetem będzie się komunikować.

Widzę dwa elementy bycia dobrym użytkownikiem VPN:

  1. Dopilnowanie, aby rzeczy nie zostały wysłane w wyraźny sposób, zanim nie zostaną ustalone.
  2. Dopilnowanie, aby rzeczy nie zostały wysłane później w przypadku awarii VPN .

Jak mogę korzystać z VPN na komputerze Mac w sieci publicznej, aby ograniczyć nieszyfrowany ruch przed uruchomieniem VPN?

gentmatt
źródło
Miło jest wrócić do tego tematu - starsze pytanie, z którym się połączyłem, wydaje się bardziej skoncentrowane na tym, jak wiedzieć, kiedy VPN zrywa połączenie, niż na tym, jak skonfigurować bezpieczne uruchamianie - abyśmy mogli skorzystać z kilku spostrzeżonych pytań na temat praktyk zwiększania bezpieczeństwa podczas korzystania z VPN.
bmike

Odpowiedzi:

2

Odłóżmy na bok każde rozwiązanie, w którym do problemu wprowadzisz drugą część sprzętu sieciowego. Pozwólmy też, że problem zatrzymania ruchu po tym, jak sieć VPN zawiedzie z tym powiązanym, ale innym pytaniem .

Traktuję ten problem jako rozwiązanie zorientowane na użytkownika, a nie coś, co można łatwo osiągnąć, modyfikując zachowanie OS X.

Skonfiguruj dwa konta na komputerze Mac (żadne z nich nie musi być kontem administratora, ale jeśli tak, to nie potrzebujesz trzeciego konta, aby zmienić ustawienia systemowe).

  1. Konto powłoki, które istnieje, aby nic nie uruchamiać i tylko ustanawiać połączenie VPN.
  2. Konto główne, na którym będą uruchamiane programy, które chcesz zapewnić, aby uzyskać dostęp do sieci dopiero po odpowiednim zabezpieczeniu przez VPN.

Dzięki włączeniu szybkiego przełączania użytkowników możesz wylogować się z konta głównego. Dzięki temu żadne programy ani procesy tego użytkownika nie będą nadal działały w tle. Większość aplikacji na system OS X działa dobrze i zawieszają dostęp do sieci, gdy nie mają aktywnego okna na ekranie, ale trzeba by to monitorować i testować na zawsze, aby upewnić się, że nic się nie dzieje - wylogowanie jest łatwiejsze w utrzymaniu.

Teraz możesz także zastąpić powyższe „konto” systemem operacyjnym i uruchomić system wirtualizacji, taki jak Fusion (lub Parallels lub inny), i uruchomić system gościa dopiero, gdy system hosta zabezpieczy wszystko w sieci VPN. W zależności od wybranego oprogramowania maszyny Wirtualnej możesz mieć kontrolę nad siecią i możesz włączać i wyłączać dostęp, nawet gdy działa system operacyjny (lub systemy operacyjne). Jest to w zasadzie symulacja dodatkowego sprzętu, którego początkowo powiedziałem, że nie będę rozważał.

Mam nadzieję, że pokazuje to jeden ze sposobów, w jaki możesz być bardziej bezpieczny podczas podróży i korzystania z sieci, której nie ufasz, przy jednoczesnym zminimalizowaniu ryzyka, jakie to zawsze będzie wiązać. Jeśli ktoś jest właścicielem sieci - jest właścicielem DNS, może rejestrować pakiety, może próbować ataków typu man-in-the-middle (MITM), a także dokładnie sprawdzać wszystkie pakiety, aby ustalić, co płynie w tunelu VPN.

bmike
źródło
1
To dość rozsądna odpowiedź. Korzystanie z maszyny wirtualnej na drugim koncie użytkownika jest łatwe do skonfigurowania. Chociaż system operacyjny może nadal zezwalać na niezabezpieczony ruch sieciowy, nie ma znaczenia, czy znajduje się on w ograniczonym środowisku nadmiarowego konta użytkownika.
gentmatt,
Chciałbym, żeby istniał łatwy przycisk, ale jak widać - kontrolowanie ruchu przed lub po ruchu w warstwie jądra nie jest trywialne, ponieważ OS X jest zaprojektowany tak, aby używać dowolnej ścieżki, która jest w górę. System operacyjny nie został zaprojektowany do zamykania wszystkiego, ale sprzęt sieciowy jest.
bmike
3

Oto podejście całkowicie poza graficznym interfejsem MacOS X. Dlatego takie podejście problemu nie będzie zakłócać żadnego ustawienia sieci lub VPN.

Powiedzmy, że chcę korzystać z IPSEC VPN (w oparciu o użycie 500 / udp == isakmp i 50 / ip == esp).

Utwórz ipfwplik konfiguracyjny, pozwalając tylko wymaganym protokołom zbudować VPN:

/usr/bin/sudo cat <<____eof >/etc/ipfw.vpn.rules
# VPN trafic contention
#
# DHCP
add 00100 permit udp from any to any src-port bootpc dst-port bootps
# DNS
add 01000 permit udp from me to any dst-port domain
add 01010 permit udp from any to me dst-port domain
# isakmp
add 01050 permit udp from me to any dst-port isakmp
add 01060 permit udp from any to me dst-port isakmp
# esp
add 01100 permit esp from me to any
add 01110 permit esp from any to me
# all other ip go to the central black hole
add 20000 deny ip from any to any
____eof

Sprawdź, czy jego składnia jest poprawna:

/usr/bin/sudo /sbin/ipfw -n /etc/ipfw.vpn.rules

Zainstaluj go w jądrze:

/usr/bin/sudo /sbin/ipfw /etc/ipfw.vpn.rules

Sprawdź, czy system operacyjny może się zrestartować, i uzyskaj jego adres IP przez zwykły DHCP. Sprawdź, czy większość protokołów IP jest zablokowana:

ping www.google.com

Oczywiście, jeśli chcesz korzystać z VPN na SSL, musisz dostosować ten plik konfiguracyjny (isakmp + esp → https).

dan
źródło