Tunelowanie portów SSH - HOWTO

Hunter

Użytkownik
Dołączył
Październik 29, 2005
Posty
478


1) Tunelowanie lokalne
- zalozmy ze chcemy sie bezpiecznie polaczyc z CRM'em firmowym ktory dziala na firmowym serwerze na standardowym porcie 80:


ssh [email protected] -L 8080:127.0.0.1:80


dzieki temu na Twoim lokalnym komputerze zostanie otwarty port 8080 ktory posluzy jako poczatek tunelu dla koncowego portu 80 na zdalnym serwerze.
Czyli wpisujac w przegladarce 127.0.0.1:8080 wyswietli sie Tobie strona www z uslugi apache na Twoim zdalnym linuxie.

nasz serwer firma.com moze rowniez posluzyc jako brama tunelujac port na inny docelowy host np.

ssh [email protected] -L 8080:192.168.5.17:80

W tym przypadku po wpisaniu w przegladarce http://127.0.0.1:8080 wyswietli sie strona internetowa komputera z wew. sieci. ( cos ala vpn ;) )

2) Tunelowanie jako serwer socks proxy - wyobrazmy sobie sytuacje ze zapomnielismy zaplacic za neta... admin zablokowal nam dostep do www: port 80,443,8080


mozemy ominac ta blokade zestawiajac dynamiczny tunel na dostepnym lokalnym porcie, w tym celu klepiemy:


ssh [email protected] -D 3000


nastepnie w przegladarce internetowej wchodzimy do konfiguracji proxy i ustawiamy tylko 1 rodzaj proxy SOCKS v5, 127.0.0.1, port 3000
Dzieki temu nasza przegladarka laczy sie dynamicznym tunelem przez nasz lokalny port 3000 na firma.com a nastepnie polaczenie jest forwardowane na port 80 naszego zdalnego hosta.

Ps. przypominam ze jest to proxy czyli nasze zew. ip uleglo zmianie (wykorzystujemy adres servera firma.com), sprawdzimy to wchodzac na strone http://ifconfig.me


3) tunelowanie z przekazem zdalnym - dzieki temu mozemy uruchomic na zdalnym serwerze port ktory bedzie forwardowany do innego docelowego serwera. Pewnie jest to malo zrozumiale dlatego wyjasnie to w praktyce.


Zalozmy ze w mojej firmie chcialbym wyslac maila z serwera poczty innej firmy. Wszystko bylo by ok gdyby nie to ze zew. adres ip tejze firmy jest zmienny i nie ma mozliwosci stworzenia dynamicznych dns'ow.


dlatego zestawiamy tunel z przekazywaniem zdalnym na komputerze drugiej firmy z serwerem mojej firmy:
ssh [email protected] -R 4000:127.0.0.1:25


nastepnie na komputerze w mojej firmie zestawiam tunel z serwerem na ktorym wczesniej ustawilismy polaczenie z przekazem zdalynm:
ssh [email protected] -L 5000:127.0.0.1:4000


Dzieki temu otrzymalismy:


komputer firma X ----> serwer firma X <----- komputer firma Y --> serwer poczty Y
teraz aby moc wyslac maila wystarczy na komputerze firmy X wpisac adres serwera 127.0.0.1 port smtp:25


4) Putty - konfiguracja tunelowania:

-L (Local)
-D (Dynamic)
-R (Remote)


putty1.jpg putty2.jpg



Istnieje tez mozliwosc tunelowania ruchu tcp/udp po udp ale nie bede o tym pisal poniewaz tego typu tunelowanie przydaje sie raczej w skrajnych przypadkach .


A dobrze wiemy ze tunelowanie tcp po udp uzywa sie w vpn'ie ktory jest uznany za bezpieczniejszy i bardziej zautomatyzowany standard nizeli ssh.




Ps. tunel ssh jest polaczeniem szyfrowanym ;).
 
Ostatnia edycja:

Hunter

Użytkownik
Dołączył
Październik 29, 2005
Posty
478
PS.2 Aby umozliwic tunelowanie nalezy dopisac w pliku konfiguracjynym /etc/ssh/sshd_config (dla docelowego usera):

AllowTcpForwarding no
# blokujemy globlanie tunelowanie portow
Match User nazwa_usera
# indywidualne reguly dla nazwa_usera
AllowTcpForwarding yes
# zezwalamy userowi na tunelowanie portow
 
Ostatnia edycja:
Do góry Bottom