Tunelowanie połączenia przez SSH: Różnice pomiędzy wersjami

Z Podręcznik Administratora by OPZ SGU
Przejdź do nawigacji Przejdź do wyszukiwania
m
Linia 21: Linia 21:
(nazwa localhost jest myląca i oznacza komputer lokalny względem maszyny zalogowanej)  
(nazwa localhost jest myląca i oznacza komputer lokalny względem maszyny zalogowanej)  
Jeżeli serwer VNC stoi na innej maszynie niż komputer na którym jest SSH, wydajemy komendę
Jeżeli serwer VNC stoi na innej maszynie niż komputer na którym jest SSH, wydajemy komendę
<pre>
<pre>
ssh -L 5901:192.168.0.152:5901 root@192.168.0.45
ssh -L 5901:192.168.0.152:5901 root@192.168.0.45
Linia 30: Linia 32:
Analogicznie wygląda to w przypadku SMTP, POP3, TELNET oraz innych podstawowych usług.  
Analogicznie wygląda to w przypadku SMTP, POP3, TELNET oraz innych podstawowych usług.  
Ta sama komenda, zmieniamy tylko porty.
Ta sama komenda, zmieniamy tylko porty.




Linia 46: Linia 51:


Dzięki temu zabiegowi, nasz ruch z serwera do użytkownika będzie całkowicie zaszyfrowany i niedostępny dla potencjalnego ciekawskiego :).
Dzięki temu zabiegowi, nasz ruch z serwera do użytkownika będzie całkowicie zaszyfrowany i niedostępny dla potencjalnego ciekawskiego :).





Wersja z 05:11, 2 wrz 2009

Wiadomo jak to jest w dzisiejszym świecie, bezpieczeństwo jest kluczowym aspektem. Są usługi i aplikacje które natywnie nie wspierają enkrypcji, przez co ich upublicznienie na świat jest zbyt niebezpieczne. Jak zapewne każdy zainteresowany wie, to fakt że tunelowanie można wykorzystać również w celu omijania firewalli, restrykcji administratorów (np w przeglądaniu określonych stron www).


Tunelowanie z powodzeniem może wykorzystać dosłownie każdy, od użytkowników Windows (putty) po konsolo-wców Debiana.


Przykładem "pożytecznego" wykorzystania tunelowania będzie zabezpieczenie sesji VNC.

ssh -L 5901:localhost:5901 root@192.168.0.45


Poprawne tunelowanie VNC

Komenda ta spowoduje otwarcie lokalnego portu 5901 i przetransferowanie go, na port (localhost:5901) na serwerze zdalnym o adresie IP 192.168.0.45 użytkownik root.

(nazwa localhost jest myląca i oznacza komputer lokalny względem maszyny zalogowanej) Jeżeli serwer VNC stoi na innej maszynie niż komputer na którym jest SSH, wydajemy komendę


ssh -L 5901:192.168.0.152:5901 root@192.168.0.45
  • 192.168.0.152 - to komputer gdzie stoi serwer VNC w lanie z maszyna SSH.

Teraz, jako użytkownik, logujemy się poprzez localhost:1 (nasz ruch, zostanie przesłany poprzez zaszyfrowany tunel do serwera).

Analogicznie wygląda to w przypadku SMTP, POP3, TELNET oraz innych podstawowych usług. Ta sama komenda, zmieniamy tylko porty.




Proxy czyli szyfrowanie ruchu HTTP :)

Firefox oraz SOCKS

Do utworzeniu tunelu typu SOCKS użyjemy parametru -D

ssh root@192.168.0.45 -D 8888

Spowoduje to, że ruch puszczony na nasz lokalny port 8888 przedostanie się przez SOCKS na świat, za pośrednictwem naszego serwera.

Jest to doskonała kwestia, jeżeli chcemy zalogować się do banku, firmowej strony www, poczty itp. wiedząc że korzystamy z publicznej sieci !

Dzięki temu zabiegowi, nasz ruch z serwera do użytkownika będzie całkowicie zaszyfrowany i niedostępny dla potencjalnego ciekawskiego :).




Reverse tunel

Webmin przez reverse tunel

Odwrotność tunelu powyższego, ten pozwala nam na udostępnienie lokalnego portu, komputerowi (lub sieci komputerów) na którym się zalogujemy.


Dzięki temu, mając wewnętrzny adres IP, możemy komuś udostępnić zdalnie pulpit (RDC) (VNC) oraz dowolną inną usługę.


Komenda

 ssh -R 7777:localhost:10000 root@192.168.0.45

Mamy tutaj odwrotną sytuację niż powyższa ponieważ:

  • 7777 - to port docelowy jaki ma zostać otwarty na serwerze
  • localhost:10000 - port lokalny na komputerze z którego się logujemy