piątek, 23 października 2009

Jak przekierować porty za pomocą SSH?

Przekierowania mogą być realizowane przez zaszyfrowane tunele i dlatego są uważane za dobry sposób zabezpieczenia zawartości ruchu sieciowego. Jest to połączenie routingu i przepisania pakietów – dlatego, że aby dostarczyć pakiety danych do docelowej usługi sieciowej, trzeba zmienić ich docelowy IP, docelowy port lub jedno i drugie. Przepisanie takie musi być z punktu widzenia użytkownika przezroczyste, tak by gdy sądzi on, że łączy się z portem 23, a faktycznie połączenie następuje na porcie 2323, nie było różnicy w funkcjonowaniu usługi.

Przekierowanie można uzyskać za pomocą ustawienia reguł dla zapory sieciowej albo też za pomocą oprogramowania takiego jak SSH. Zaletą wykorzystania SSH jest to, że możemy to zrobić bez konieczności zmiany konfiguracji usług systemowych (do czego możemy też nie mieć uprawnień), a w dodatku nasze połączenia będą zaszyfrowane.

Załóżmy, że chcemy przekierować połączenia z portu 2323 naszego komputera na port 23 w maszynie zdalny.host.net:
ssh -L 2323:localhost:23 zdalny.host.net. -o "KeepAlive yes"


Flaga -L mówi klientowi SSH, by uruchomić lokalny tunel pomiędzy podanymi portami i maszynami, flaga -o zaś, by podtrzymać połączenie, nawet jeśli nie ma na nim żadnego ruchu sieciowego.

Po uruchomieniu połączenia zostajemy poproszeni o zalogowanie się do zdalnego systemu. Po zalogowaniu pomiędzy maszynami localhost i zdalny.host.net zostaje uruchomiony szyfrowany tunel. Teraz by np. uzyskać dostęp do usługi telnet na maszynie zdalny.host.net (normalnie niedostępnej), wystarczy wydać polecenie:
telnet localhost 2323


UWAGA: Przekierowanie portów wymaga praw administratora tylko wtedy, gdy otwieramy tunel do portów uprzywilejowanych, o numerze od 0 do 1023. Podany w przykładzie port 2323 może być oczywiście wykorzystany przez każdego użytkownika.

Zamiast usługi telnet możemy w ten sposób przekierować np. połączenia FTP czy SCP.

1 komentarz:

  1. Ja takimi rzeczami niestety się nie zajmuję gdyż jestem zwykłym użytkownikiem jeżeli chodzi o sieć czy oprogramowanie. Wiem również, że systemy informatyczne https://www.connecto.pl/system-informatyczny-potrzebny-firmie/ są niezbędne w wielu firmach i po prostu ułatwiają całość pracy.

    OdpowiedzUsuń