If-Koubou

Skonfiguruj SSH na swoim routerze, aby uzyskać bezpieczny dostęp do Internetu z dowolnego miejsca

Skonfiguruj SSH na swoim routerze, aby uzyskać bezpieczny dostęp do Internetu z dowolnego miejsca (Jak)

Łączenie się z Internetem z hotspotów Wi-Fi, w miejscu pracy lub gdziekolwiek indziej poza domem, naraża twoje dane na niepotrzebne ryzyko. Możesz łatwo skonfigurować router, aby obsługiwał bezpieczny tunel i chronić swój ruch w przeglądarce - przeczytaj, jak to zrobić.

Co to jest i dlaczego tworzy bezpieczny tunel?

Możesz być ciekawy, dlaczego chciałbyś nawet ustawić bezpieczny tunel ze swoich urządzeń na domowy router i jakie korzyści można czerpać z takiego projektu. Przedstawmy kilka różnych scenariuszy, które dotyczą wykorzystania Internetu do zilustrowania korzyści bezpiecznego tunelowania.

Scenariusz pierwszy: jesteś w kawiarni przy użyciu laptopa, aby przeglądać internet za pomocą bezpłatnego połączenia Wi-Fi. Dane opuszczają twój modem Wi-Fi, podróżują przez powietrze niezaszyfrowane do węzła Wi-Fi w kawiarni, a następnie trafiają do większego internetu. Podczas transmisji z komputera do większego Internetu twoje dane są szeroko otwarte. Każdy, kto ma w pobliżu urządzenie Wi-Fi, może sniffować Twoje dane. To tak boleśnie łatwe, że zmotywowany 12-latek z laptopem i kopią Firesheep może pochwalić się twoimi danymi uwierzytelniającymi dla wszystkich rzeczy. To tak, jakbyś był w pokoju wypełnionym głośnikami w języku angielskim, rozmawiającym przez telefon mówiącym po chińsku mandaryńskim. W momencie, w którym pojawia się ktoś, kto mówi po chińsku mandaryńskim (sniffer Wi-Fi) twoja pseudo-prywatność zostaje zniszczona.

Scenariusz drugi: jesteś w kawiarni przy użyciu laptopa, aby ponownie przeglądać internet za pośrednictwem bezpłatnego połączenia Wi-Fi. Tym razem utworzyłeś zaszyfrowany tunel między laptopem a routerem domowym za pomocą SSH. Twój ruch jest kierowany przez ten tunel bezpośrednio z laptopa do domowego routera, który działa jako serwer proxy. Ten potok jest nieprzenikniony dla snifferów Wi-Fi, które widziałyby tylko zniekształcony strumień zaszyfrowanych danych. Bez względu na to, jak trudne jest ustanowienie, jak niepewne jest połączenie Wi-Fi, dane pozostają w zaszyfrowanym tunelu i opuszczają je dopiero po osiągnięciu domowego połączenia internetowego i wyjściu z większego Internetu.

W scenariuszu pierwszym surfujesz szeroko; w scenariuszu drugim możesz zalogować się do swojego banku lub innych prywatnych stron internetowych z taką samą pewnością jak z komputera domowego.

Chociaż w naszym przykładzie używaliśmy Wi-Fi, można użyć tunelu SSH, aby zabezpieczyć połączenie typu hardline, na przykład, uruchomić przeglądarkę w sieci zdalnej i przebić dziurę w zaporze sieciowej, aby surfować tak swobodnie, jak w przypadku połączenia z domem.

Brzmi nieźle, prawda? Jest niewiarygodnie łatwy w konfiguracji, więc nie ma czasu jak teraźniejszość - możesz uruchomić swój tunel SSH w ciągu godziny.

Co będziesz potrzebował

Istnieje wiele sposobów na skonfigurowanie tunelu SSH, aby zabezpieczyć przeglądanie Internetu. W tym samouczku skupiamy się na skonfigurowaniu tunelu SSH w najprostszy z możliwych sposobów z najmniejszym nakładem pracy dla użytkownika z routerem domowym i maszynami z systemem Windows. Aby śledzić nasz samouczek, potrzebujesz następujących rzeczy:

  • Router z oprogramowaniem modyfikowanym Tomato lub DD-WRT.
  • Klient SSH, taki jak PuTTY.
  • Przeglądarka internetowa zgodna z SOCKS, taka jak Firefox.

Dla naszego przewodnika będziemy używać Tomato, ale instrukcje są prawie identyczne z tymi, które obserwujesz dla DD-WRT, więc jeśli używasz DD-WRT, nie krępuj się. Jeśli nie masz zmodyfikowanego oprogramowania na swoim routerze, zapoznaj się z naszym przewodnikiem instalacji DD-WRT i Tomato, zanim przejdziesz dalej.

Generowanie kluczy dla naszego zaszyfrowanego tunelu

Chociaż może wydawać się dziwne, aby przejść do generowania kluczy, zanim jeszcze skonfigurujemy serwer SSH, jeśli mamy przygotowane klucze, będziemy w stanie skonfigurować serwer w jednym przebiegu.

Pobierz pełny pakiet PuTTY i wyodrębnij go do wybranego folderu. W folderze znajduje się PUTTYGEN.EXE. Uruchom aplikację i kliknij Klawisz -> Wygeneruj parę kluczy. Zobaczysz ekran podobny do tego przedstawionego powyżej; poruszaj myszą, aby wygenerować losowe dane do procesu tworzenia klucza. Po zakończeniu procesu okno Generatora kluczy PuTTY powinno wyglądać mniej więcej tak: śmiało i wprowadź silne hasło:

Po podłączeniu hasła kliknij i postępuj zgodnie z instrukcjami Zapisz klucz prywatny. Przechowaj wynikowy plik .PPK w bezpiecznym miejscu. Skopiuj i wklej zawartość pola "Klucz publiczny do wklejania ..." do tymczasowego dokumentu TXT na razie.

Jeśli planujesz używać wielu urządzeń z serwerem SSH (takich jak laptop, netbook i smartphone), musisz wygenerować pary kluczy dla każdego urządzenia. Śmiało i generuj, hasło i zapisz dodatkowe pary kluczy, których potrzebujesz teraz. Pamiętaj, aby skopiować i wkleić każdy nowy klucz publiczny do dokumentu tymczasowego.

Konfigurowanie routera dla SSH

Zarówno Tomato jak i DD-WRT mają wbudowane serwery SSH. To jest niesamowite z dwóch powodów. Po pierwsze, telnet do routera był bardzo trudny, aby ręcznie zainstalować serwer SSH i skonfigurować go. Po drugie, ponieważ używasz serwera SSH na routerze (który prawdopodobnie zużywa mniej energii niż żarówka), nigdy nie musisz opuszczać głównego komputera tylko dla lekkiego serwera SSH.

Otwórz przeglądarkę internetową na komputerze podłączonym do sieci lokalnej. Przejdź do interfejsu sieciowego routera, dla naszego routera-a Linksys WRT54G z systemem Tomato - adres jest http://192.168.1.1. Zaloguj się do interfejsu internetowego i przejdź do Administracja -> Demon SSH. Tam musisz sprawdzić oba Włącz przy starcie i Zdalny dostęp. Możesz zmienić port zdalny, jeśli chcesz, ale jedyną korzyścią jest to, że nieznacznie zaciemnia on powód, dla którego port jest otwarty, jeśli któryś port Cię zeskanuje. Odznacz Zezwalaj na logowanie hasła. Nie będziemy używać loginu do hasła, aby uzyskać dostęp do routera z daleka, użyjemy pary kluczy.

Wklej klucze publiczne wygenerowane w ostatniej części samouczka do pliku Autoryzowane klucze pudełko. Każdy klucz powinien być jego własnym wpisem oddzielonym przez podział wiersza. Pierwsza część klucza ssh-rsa jest bardzo ważny. Jeśli nie dodasz go do każdego klucza publicznego, staną się nieprawidłowe dla serwera SSH.

Kliknij Zacząć teraz a następnie przewiń do dołu interfejsu i kliknij Zapisać. W tym momencie serwer SSH jest uruchomiony.

Konfigurowanie komputera zdalnego do uzyskiwania dostępu do serwera SSH

Tu właśnie dzieje się magia. Masz kluczową parę, masz serwer uruchomiony, ale nic z tego nie ma żadnej wartości, chyba że jesteś w stanie zdalnie połączyć się z pola i tunelować do routera. Czas zepsuć naszą sprawdzoną książkę sieciową z systemem Windows 7 i zacząć działać.

Najpierw skopiuj utworzony folder PuTTY na inny komputer (lub po prostu pobierz i rozpakuj go ponownie). Od tego momentu wszystkie instrukcje koncentrują się na komputerze zdalnym. Jeśli uruchomiłeś generator kluczy PuTTy na komputerze domowym, upewnij się, że przełączyłeś się na komputer mobilny do końca samouczka. Zanim się zdecydujesz, musisz również upewnić się, że masz kopię utworzonego pliku .PPK. Po wyciągnięciu PuTy i .PPK w ręce, jesteśmy gotowi, aby kontynuować.

Uruchom PuTTY. Pierwszy ekran, który zobaczysz, to Sesja ekran. Tutaj musisz podać adres IP domowego połączenia z Internetem. To nie jest adres IP twojego routera w lokalnej sieci LAN, to jest adres IP twojego modemu / routera, jak widać na zewnątrz. Możesz go znaleźć, patrząc na główną stronę statusu w interfejsie internetowym routera. Zmień port na 2222 (lub cokolwiek, co zastąpiłeś w procesie konfiguracji demona SSH). Upewnić się SSH jest zaznaczone. Śmiało i nadaj swojej sesji imię dzięki czemu można Zapisz to do przyszłego użytku. Zatytułowaliśmy nasz Tomato SSH.

Przejdź przez lewe okienko w dół do Połączenie -> Auth. Tutaj musisz kliknąć przycisk Przeglądaj i wybrać plik .PPK zapisany i przeniesiony do zdalnego komputera.

W podmenu SSH przejdź do SSH -> Tunele. Właśnie tutaj skonfigurujemy PuTTY, aby działał jako serwer proxy dla twojego komputera mobilnego. Sprawdź oba pola poniżej Port Forwarding. Poniżej, w Dodaj nowy przekazany port sekcji, wprowadź 80 dla Port źródłowy i adres IP routera dla przeznaczenie. Czek Automatyczny i Dynamiczny następnie kliknij Dodaj.

Sprawdź dwukrotnie, czy wpis pojawił się w Przesyłane porty pudełko. Nawiguj z powrotem do Sesje sekcję i kliknij Zapisać ponownie, aby zapisać całą pracę związaną z konfiguracją. Teraz kliknij otwarty. PuTTY uruchomi okno terminala. W tym momencie może pojawić się ostrzeżenie wskazujące, że klucz hosta serwera nie znajduje się w rejestrze. Śmiało i upewnij się, że ufasz hostowi. Jeśli się o to martwisz, możesz porównać ciąg odcisków palców otrzymany w komunikacie ostrzegawczym z odciskem palca klucza wygenerowanego przez załadowanie go w Generatorze kluczy PuTTY. Po otwarciu PuTTY i kliknięciu ostrzeżenia powinieneś zobaczyć ekran wyglądający tak:

W terminalu będziesz musiał zrobić tylko dwie rzeczy. W wierszu polecenia wpisz korzeń. Po znaku zachęty do hasła wprowadź swoje hasło do kluczy RSA-to hasło utworzone kilka minut temu, kiedy wygenerowałeś swój klucz, a nie hasło routera. Powłoka routera zostanie załadowana i skończysz w wierszu polecenia. Utworzyłeś bezpieczne połączenie pomiędzy PuTTY a routerem domowym. Teraz musimy poinstruować Twoje aplikacje, jak uzyskać dostęp do PuTTY.

Uwaga: Jeśli chcesz uprościć proces za cenę nieznacznego obniżenia twojego bezpieczeństwa, możesz wygenerować parę kluczy bez hasła i ustawić PuTTY na automatyczne logowanie się do konta root (możesz przełączyć to ustawienie w Connect -> Dane -> Auto Login ). Zmniejsza to proces łączenia PuTTY do prostego otwierania aplikacji, ładowania profilu i klikania Otwórz.

Konfigurowanie przeglądarki do łączenia się z PuTTY

W tym momencie w samouczku, w którym serwer jest już uruchomiony, komputer jest z nim połączony i pozostaje tylko jeden krok. Musisz powiedzieć ważnym aplikacjom, aby używać PuTTY jako serwera proxy. Każda aplikacja obsługująca protokół SOCKS może być połączona z PuTTY - na przykład Firefox, mIRC, Thunderbird i uTorrent, aby wymienić tylko kilka - jeśli nie masz pewności, czy aplikacja obsługuje SOCKS w menu opcji lub zapoznaj się z dokumentacją. Jest to kluczowy element, którego nie należy przeoczyć: cały ruch użytkownika nie jest domyślnie kierowany przez serwer proxy PuTTY; to musi być dołączone do serwera SOCKS. Mógłbyś mieć na przykład przeglądarkę internetową, na której włączono SOCKS i przeglądarkę internetową, na której nie korzystałeś - obie na tym samym komputerze - i jeden szyfrowałby twój ruch, a jeden nie.

Dla naszych celów chcemy zabezpieczyć naszą przeglądarkę Firefox Portable, która jest dość prosta. Proces konfiguracji Firefoksa oznacza praktycznie dowolną aplikację, do której będziesz potrzebować informacji SOCKS. Uruchom Firefoksa i przejdź do Opcje -> Zaawansowane -> Ustawienia. Z wewnątrz Ustawienia połączenia menu, wybierz Ręczna konfiguracja proxy i pod wtyczką SOCKS Host 127.0.0.1- łączysz się z aplikacją PuTTY uruchomioną na komputerze lokalnym, więc musisz umieścić lokalny adres IP hosta, a nie adres IP routera, tak jak to robiłeś dotychczas w każdym z automatów. Ustaw port na 80i kliknij DOBRZE.

Mamy jedną drobną poprawkę, którą musimy zastosować, zanim wszystko będzie gotowe.Firefox domyślnie nie wysyła żądań DNS za pośrednictwem serwera proxy. Oznacza to, że Twój ruch będzie zawsze szyfrowany, ale ktoś szpiegujący połączenie zobaczy wszystkie twoje żądania. Wiedzieliby, że jesteś na Facebooku.com lub Gmail.com, ale nie będą mogli zobaczyć niczego innego. Jeśli chcesz przesłać swoje żądania DNS przez SOCKS, musisz go włączyć.

Rodzaj about: config na pasku adresu, a następnie kliknij "Będę ostrożny, obiecuję!" jeśli otrzymasz surowe ostrzeżenie o tym, jak możesz zepsuć przeglądarkę. Pasta network.proxy.socks_remote_dns do Filtr: i kliknij prawym przyciskiem myszy wpis dla network.proxy.socks_remote_dns i Przełącznik to do Prawdziwe. Odtąd zarówno twoje przeglądanie, jak i twoje żądania DNS będą wysyłane przez tunel SOCKS.

Chociaż konfigurujemy naszą przeglądarkę dla SSH-all-the-time, możesz chcieć łatwo przełączać swoje ustawienia. Firefox ma poręczne rozszerzenie, FoxyProxy, które sprawia, że ​​przełączanie serwerów proxy jest bardzo łatwe. Obsługuje mnóstwo opcji konfiguracyjnych, takich jak przełączanie się pomiędzy serwerami proxy w oparciu o domenę, w której się znajdujesz, witryny, które odwiedzasz, itp. Jeśli chcesz mieć możliwość łatwego i automatycznego wyłączania usługi proxy w zależności od tego, czy jesteś w pobliżu w domu lub poza domem, na przykład, FoxyProxy Cię obejmuje. Użytkownicy Chrome będą chcieli sprawdzić Proxy Switchy! dla podobnej funkcjonalności.

Zobaczmy, czy wszystko działało zgodnie z planem, dobrze? Aby przetestować różne rzeczy, otworzyliśmy dwie przeglądarki: Chrome (widoczna po lewej) bez tunelu i Firefoksa (widoczne po prawej), które zostały świeżo skonfigurowane do korzystania z tunelu.

Po lewej stronie widzimy adres IP węzła Wi-Fi, z którym się łączymy, i po prawej stronie, dzięki tunelowi SSH, widzimy adres IP naszego odległego routera. Cały ruch Firefoksa jest kierowany przez serwer SSH. Powodzenie!

Masz wskazówkę lub sztuczkę do zabezpieczenia zdalnego ruchu? Użyj serwera SOCKS / SSH w konkretnej aplikacji i uwielbiam go? Potrzebujesz pomocy w określeniu sposobu szyfrowania ruchu? Posłuchajmy o tym w komentarzach.