W poprzedniej notce opisałem niebezpieczeństwo związane z używaniem niezabezpieczonych sieci bezprzewodowych. Napiszę teraz, jak w bardzo prosty sposób można zaszyfrować swoje bytowanie w bezprzewodowej (i nie tylko) sieci.
Zakładam, że:
- korzystamy z publicznej sieci bezprzewodowej,
- używamy jakiegoś uniksowego systemu operacyjnego (np. opartego o Linuksa),
- do przeglądania stron www używamy Firefoksa,
- mamy konto shell na jakimś zaufanym hoście w Internecie.
Jaki mamy plan? Utworzymy szyfrowany tunel z naszym zaufanym hostem poprzez protokół ssh. Tak więc wszystkie dane, które będziemy przesyłać w sieci bezprzewodowej (w której nasłuchuje potencjalny włamywacz) będą zaszyfrowane. Sytuacja, gdy nie używamy tunelu ssh wygląda tak:

Gdy używamy tunelu ssh, sytuacja wygląda tak:

Czarna linia oznacza nieszyfrowane połączenie, podatne na podsłuch. Zielone połączenie oznacza połączenie szyfrowane, którego nie sposób podsłuchać.
Bierzmy się zatem do roboty. W konsoli wpisujemy:
ssh -D 8080 login@nasze.konto.shell.com
Po wykonaniu tego polecenia otwieramy na naszej lokalnej maszynie port TCP/8080 do nasłuchu. Jest to coś w rodzaju szyfrowanego proxy, z którym teraz możemy się połączyć. Okienko terminala w którym jesteśmy zalogowani na shellu minimalizujemy (aby nie przeszkadzało) i ustawiamy naszego Firefoksa: Edit->Preferences, zakładka Advenced->Network, pole Connection, przycisk Settings. Wybieramy “Manual proxy configuration”, w polu “SOCKS Host” wpisujemy localhost oraz port 8080. I to wszystko.
Oto zrzutka ekranu z konfiguracji Firefoksa.
Gdy kończymy pracę, możemy zamknąć połączenie ssh oraz z powrotem ustawić, aby firefox “łączył się z Internetem” bezpośrednio.
A co innymi połączeniami? Praktycznie każde pojedyncze połączenie możemy przetunelować. Na przykład - chcemy odbierać pocztę przez protokół pop3 (port 110) z serwera pop3.serwer.pl oraz wysyłać przez smtp (port 25) przez domenę smtp.serwer.pl.
Otwieramy więc dwa okna terminala i klepiemy kolejno:
ssh -L 10110:pop3.serwer.pl:110 login@nasze.konto.shell.com
ssh -L 10025:smtp.serwer.pl:25 login@nasze.konto.shell.com
Teraz, gdy połączymy się z localhost:10025, połączenie to zostanie przetunelowane do smtp.serwer.pl:25, analogicznie jeśli chodzi o protokół pop3. W ustawieniach naszego klienta poczty należy więc podać serwer pop3: “localhost” oraz port 10110, serwer smtp: “localhost” port 10025. Teraz w sieci WiFi jesteśmy secure :).
UWAGA! Należy się upewnić, że na firewallu mamy odblokowane porty, które otwieramy do nasłuchu. Dobrym pomysłem jest blokowanie wszelkich połączeń na te porty za wyjątkiem naszej lokalnej maszyny (localhost), aby nikt niepowołany korzystał z naszych ślicznych tunelików.
Mam nadzieję, że wystarczająco opisałem temat. Pozdrawiam i życzę miłego tunelowania!