Skonfiguruj SSH na swoim routerze, aby uzyskać bezpieczny dostęp do Internetu z dowolnego miejsca
Łączenie się z Internetem z hotspotów Wi-Fi, w pracy lub gdziekolwiek indziej poza domem, naraża twoje dane na niepotrzebne ryzyko. Możesz łatwo skonfigurować swój router, aby obsługiwał bezpieczny tunel i chronić swój ruch w przeglądarce - przeczytaj, jak to zrobić.
Co to jest i dlaczego należy utworzyć 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ć dane. To tak boleśnie łatwe, że zmotywowany 12-latek z laptopem i egzemplarzem Firesheep może pochwalić się twoimi referencjami za różne 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 rozbita.
Scenariusz drugi: jesteś w kawiarni, korzystając z laptopa, aby ponownie przeglądać Internet za pomocą bezpłatnego połączenia Wi-Fi. Tym razem utworzyłeś zaszyfrowany tunel pomię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órzy widzą tylko zniekształcony strumień zaszyfrowanych danych. Niezależnie od tego, jak niewielkie jest ustanowienie, jak niepewne jest połączenie Wi-Fi, dane pozostają w zaszyfrowanym tunelu i pozostawiają je tylko po osiągnięciu domowego połączenia internetowego i wyjściu z 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ą siebie, jak z komputera domowego.
Chociaż w naszym przykładzie korzystaliśmy z 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 przy jak najmniejszym zamieszaniu 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 przeskoczyć w prawo do generowania kluczy, zanim jeszcze skonfigurujemy serwer SSH, jeśli mamy przygotowane klucze, będziemy mogli skonfigurować serwer w jednym przejściu.
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 klucza generatora 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 wygeneruj hasło, a następnie 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 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 Dostęp zdalny. Możesz zmienić port zdalny, jeśli chcesz, ale jedyną korzyścią jest to, że nieznacznie zaciemni on powód, dla którego port jest otwarty, jeśli ktokolwiek port Cię zeskanuje. Usuń zaznaczenie 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 go nie uwzględnisz przy każdym kluczu publicznym, staną się nieprawidłowe dla serwera SSH.
Kliknij Zacząć teraz a następnie przewiń w dół na dół interfejsu i kliknij Zapisać. W tym momencie serwer SSH jest uruchomiony.
Konfigurowanie komputera zdalnego do uzyskiwania dostępu do serwera SSH
Tutaj 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 tunelu do routera. Nadszedł czas, aby zniszczyć naszą sprawdzoną książkę sieciową z systemem Windows 7 i uruchomić ją.
Najpierw skopiuj utworzony folder PuTTY na inny komputer (lub po prostu pobierz i rozpakuj go ponownie). Odtąd 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 routera w lokalnej sieci LAN, to jest adres IP twojego modemu / routera, tak jak widzi go świat zewnętrzny. Możesz go znaleźć, patrząc na główną stronę statusu w interfejsie internetowym routera. Zmień port na 2222 (lub cokolwiek, co zostało podstawione w procesie konfiguracji Daemona 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.
Nawiguj, 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. Przejdź 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-jest to hasło utworzone kilka minut temu podczas generowania klucza, a nie hasła routera. Powłoka routera zostanie załadowana, a 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 samouczka, 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. Możesz na przykład mieć przeglądarkę internetową, w której włączono SOCKS i przeglądarkę internetową, na której nie działasz - obie na tym samym komputerze - i można zaszyfrować ruch, a jeden nie.
Dla naszych celów chcemy zabezpieczyć naszą przeglądarkę Firefox Portable, która jest dość prosta. Proces konfiguracji przeglądarki Firefox 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 80, i 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ś, kto śledzi 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ć żądania DNS za pośrednictwem SOCKS, musisz go włączyć.
Rodzaj about: config w 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ę między serwerami proxy w oparciu o domenę, w której się znajdujesz, odwiedzane witryny 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, prawda? Aby przetestować różne rzeczy, otworzyliśmy dwie przeglądarki: Chrome (widoczna po lewej) bez tunelu i Firefoksa (widoczne po prawej), ś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 naszemu 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.