Bezpieczniejsza opcja zdalnego dostępu [2023]

W erze zdalnej łączności użytkownicy i administratorzy systemów muszą korzystać z narzędzi, aby działania zdalne były bezpieczne i szybkie.

A kiedy mówisz o metodach łączności zdalnej, na górze pojawiają się dwie nazwy: SSH i Telnet.

Czy to SSH czy Telent? W tym artykule zbadamy, który z nich jest lepszy do zdalnego dostępu. Przekonajmy się w naszym porównaniu SSH i Telnet.

Co to jest dostęp zdalny?

Dostęp zdalny umożliwia użytkownikom lub administratorom dostęp do komputerów lub urządzeń w sieci z dowolnego miejsca za pośrednictwem Internetu. Korzystając z niego, mogą wykonywać różne operacje, w tym przesyłać pliki, współpracować i zabezpieczać ruch aplikacji.

Zdalny dostęp ma kluczowe znaczenie dla przetrwania i rozwoju organizacji. Ponadto administratorzy potrzebują odpowiedniego zdalnego dostępu do zarządzania serwerami, sieciami i aplikacjami bez fizycznego odwiedzania lokalizacji serwerów.

Co to jest SSH?

Secure Shell lub Secure Socket Shell (SSH) to protokół sieciowy, który umożliwia bezpieczną komunikację między komputerami w niezabezpieczonej sieci.

Po nawiązaniu bezpiecznego połączenia użytkownik lub administrator może zalogować się na zdalnym urządzeniu i zdalnie uruchamiać aplikacje lub korzystać z bezpiecznego, szyfrowanego połączenia typu end-to-end, aby przesyłać pliki przez sieć.

SSH odnosi się do zestawu technologii i narzędzi, które implementują protokół SSH. Aby zapewnić bezpieczeństwo protokołu SSH, zaimplementowano kilka technologii, począwszy od uwierzytelniania za pomocą klucza publicznego, szyfrowanej komunikacji danych i uwierzytelniania za pomocą silnego hasła.

Firmą stojącą za rozwojem SSH jest Netscape Communications Corporation. Jednak fiński informatyk Tatu Ylonen stworzył pierwsze projekty SSH. Opracował go po znalezieniu tajnego sniffera haseł w swojej nowo utworzonej sieci.

Jak działa SSH?

SSH zastępuje starsze protokoły łączności zdalnej, takie jak Telnet, rlogin, rsh itp. Większość z nich to popularne protokoły, ale pozbawione zabezpieczeń. W rzeczywistości SSH jest tak dobry, że użytkownicy używają go zamiast polegać na protokołach przesyłania plików, takich jak zdalne kopiowanie (rcp) i protokół przesyłania plików (FTP).

SSH wykorzystuje model klient-serwer, w którym klient SSH łączy się z serwerem SSH.

  • Klient SSH to program rezydujący na komputerze lub urządzeniu, który inicjuje protokół SSH. Klient wysyła żądanie do serwera SSH i czeka, aż je zaakceptuje. Klient SSH używa szyfrowania klucza publicznego w celu sprawdzenia i upewnienia się, że łączy się z właściwym serwerem. Takie podejście zapewnia, że ​​złośliwi aktorzy nie mogą udawać serwera i kraść ważnych informacji od klienta.
  • Serwer SSH obsługuje połączenia SSH i uruchamia usługę. Aby zaakceptować przychodzące żądanie, serwer SSH stale nasłuchuje na porcie TCP 22 (domyślnie). A kiedy otrzyma żądanie, odpowiada na nie. Serwer SSH sprawdza również i uwierzytelnia klienta za pomocą uwierzytelniania za pomocą klucza publicznego. Dopiero po pomyślnym uwierzytelnieniu klient uzyskuje dostęp do systemu hosta.

Klient i serwer dokonują wyboru szyfrowania. Mogą zaangażować się w wyłączenie słabszego szyfrowania. Obsługuje również wiele połączeń, umożliwiając wykonywanie wielu zadań (pobieranie, edytowanie lub uruchamianie programu) poprzez otwieranie wielu kanałów za pośrednictwem jednego połączenia SSH.

Składnia SSH jest następująca:

$ ssh [email protected]

Nazwa_użytkownika to nazwa użytkownika, której używasz do łączenia się z hostem. Hostem może być adres IP lub nazwa domeny.

Jak widać, uproszczony przepływ SSH składa się z następujących elementów:

  • Klient SSH inicjujący połączenie z określonym serwerem SSH
  • Serwer SSH odbiera połączenie i wysyła swój klucz publiczny do klienta.
  • Klient zapisuje klucz publiczny serwera w pliku swojego hosta (na potrzeby przyszłej łączności).
  • Teraz serwer i klient negocjują i ustalają parametry połączenia.
  • SSH oferuje silną opcję łączności z doskonałymi zabezpieczeniami i ochroną integralności danych. Jest również zgodny ze standaryzacją IETF w celu lepszego wdrożenia i jest nienaruszony przez ostatnie 15 lat.

    Jeśli chcesz zagłębić się w techniczne aspekty SSH, zapoznaj się z dokumentem standaryzacji SSH RFC 4253. Sprawdź także podejście newsblog.pl do zrozumienia SSH.

    Co to jest Telnet?

    Telent to skrót od Teletype Network. Jest to kolejny popularny protokół sieciowy, który oferuje zdalną łączność za pośrednictwem interfejsu wiersza poleceń. Podobnie jak SSH, możesz go użyć do uzyskania zdalnej kontroli i wykonywania działań. Brakuje jednak aspektu bezpieczeństwa, który oferuje SSH.

    Brak bezpieczeństwa wynika z faktu, że kiedy pojawił się w 1969 r., większość komunikacji odbywała się w sieci lokalnej, która jest bezpieczna w porównaniu z niezabezpieczonym Internetem.

    Jak działa Telenet?

    Telenet działa poprzez tworzenie komunikacji tekstowej między terminalami między klientem a serwerem. Wykorzystuje model klient-serwer przy użyciu ośmiobajtowego połączenia.

    Po nawiązaniu połączenia możesz wykonywać różne operacje na komputerze zdalnym, w tym sprawdzać otwarte porty, konfigurować urządzenia, edytować pliki, a nawet uruchamiać programy.

    Składnia Telnetu to:

    $ telnet hostname port

    Aby dowiedzieć się więcej o usłudze Telnet, sprawdź Polecenia usługi Telnet do testowania i rozwiązywania problemów z połączeniem.

    Kiedy i gdzie należy używać SSH?

    SSH jest używany głównie do:

    • Zdalna administracja systemem
    • Zdalne wykonywanie poleceń
    • Zabezpieczenie ruchu aplikacji
    • Transfery plików

    Administratorzy mogą również konfigurować zautomatyzowane sesje SSH obsługujące powtarzalne zadania, takie jak tworzenie sieciowych kopii zapasowych, zbieranie plików dziennika, okresowe przeprowadzanie konserwacji itp.

    SSH musi być używany do wszelkich operacji zdalnego połączenia, zwłaszcza w niezabezpieczonej sieci, zwłaszcza w Internecie. SSH jest również doskonałą opcją do korzystania z sieci lokalnej, ponieważ nigdy nie możesz być pewien, czy Twoja sieć lokalna jest całkowicie bezpieczna.

    Kiedy i gdzie należy korzystać z Telenetu?

    Ponieważ Telnet nie jest bezpieczny, unikasz używania go do zdalnego łączenia się w niezabezpieczonej sieci. Nie oznacza to jednak, że Telnet jest bezużyteczny.

    Możesz użyć TTelnetto, aby wykonać następujące czynności:

    • Rozwiązywanie problemów z SSH (Tak, dobrze przeczytałeś 😃)
    • Rozwiązywanie problemów z serwerami FTP, SMTP i WWW.
    • Sprawdź, czy port jest otwarty, czy nie
    • Dostęp do zaufanych sieci internetowych.

    SSH kontra Telnet

    W tej sekcji porównamy SSH i Telent według różnych kryteriów. Jeśli się spieszysz, sprawdź tabelę porównawczą SSH i Telnet.

    SSHTelnetSecurityWysoce bezpieczny, gdzie klient i serwer mogą negocjować w celu skonfigurowania algorytmów szyfrowania.Niezabezpieczony, brak mechanizmu zabezpieczającego połączenie lub pakiety Telent.UwierzytelnianieSSH używa szyfrowania klucza publicznego do celów uwierzytelniania.Telnet nie ma mechanizmu uwierzytelniania. Po prostu pyta o nazwę użytkownika/hasło, które są przesyłane bez żadnej ochrony. OperacjaSSH domyślnie używa portu TCP 22. Możesz zmienić go na inny port, aby uniemożliwić hakerom próby nieautoryzowanego dostępu.Telent domyślnie używa portu 23 do nasłuchiwania połączeń przychodzących. Możesz skonfigurować go tak, aby chronił przed nieautoryzowanym dostępem.ModelModel klient-serwer.Model klient-serwer.Szybkość przesyłania danych Technicznie wolniejsza niż Telnet, ale prawie niezauważalna podczas rzeczywistego użytkowania.Szybsza niż SSH ze względu na brak protokołów bezpieczeństwa.Tabela: SSH vs Telnet

    Bezpieczeństwo

    SSH jest bezpieczny. Zapewnia bezpieczeństwo połączenia dzięki odpowiednim protokołom szyfrowania. Jednak Telenet jest całkowicie pozbawiony jakichkolwiek środków bezpieczeństwa.

    W SSH klient i serwer mogą negocjować parametry połączenia, w tym algorytm szyfrowania typu end-to-end. Dzięki temu konfiguracja blokuje słabe algorytmy szyfrowania i zapewnia maksymalne bezpieczeństwo połączenia SSH.

    Po nawiązaniu połączenia TCP/UDP między klientem a serwerem rozpoczyna się próba utworzenia bezpiecznego połączenia.

    Aby lepiej zrozumieć, jak działa bezpieczeństwo SSH, poznajmy zawartość pakietu SSH. Pakiet SSH składa się z pięciu elementów, w tym:

    • Długość pakietu: 4 bajty; jak duża będzie paczka
    • Wielkość dopełnienia: 1 bajt; ile wypełnienia ma opakowanie
    • Ładunek: rzeczywiste przesyłane dane; rozmiar jest różny
    • Wyściółka: rzeczywista wyściółka, a nie ROZMIAR, o którym wspominaliśmy wcześniej. Są to losowe bajty połączone z ładunkiem, aby uczynić go bardziej zaszyfrowanym.
    • Kod uwierzytelniania wiadomości: Znacznik do sprawdzania autentyczności paczki, aby upewnić się, że dane paczki nie zostaną zmienione.

    Gdy SSH implementuje szyfrowanie, do odczytu dostępne są tylko długość pakietu i kod uwierzytelniający wiadomość. Klient i serwer negocjują parametry połączenia za pomocą kodu uwierzytelniającego wiadomość. Ponadto pakiety SSH mogą być kompresowane przy użyciu różnych algorytmów kompresji.

    Telnet nie ma zabezpieczeń. Przeprowadza niezabezpieczone uwierzytelnianie w celu połączenia klienta i serwera. Tak więc każdy złośliwy podmiot może odczytać pakiet Telent i skompromitować połączenie.

    Uwierzytelnianie

    SSH to bezpieczny protokół. Opiera się na szyfrowaniu klucza publicznego w celu uwierzytelnienia klienta i serwera. Mówiąc bardziej technicznie, SSH może wykorzystywać asymetryczne lub symetryczne algorytmy kryptograficzne do parowania kluczy publicznych i prywatnych.

    Z drugiej strony Telent nie ma ochrony uwierzytelniania. Jego proces uwierzytelniania wymaga podania nazwy konta i hasła przed połączeniem. Ponadto nazwa użytkownika i hasło są wysyłane bez żadnych zabezpieczeń, dzięki czemu każdy może uzyskać do nich dostęp.

    Operacja

    Jeśli chodzi o działanie, SSH domyślnie działa na porcie TCP 22. Z drugiej strony Telnet używa portu TCP 23. Dlatego używaj protokołów SSH lub Telnet bez określania numeru portu. Polecenie spróbuje automatycznie połączyć się odpowiednio z portami 22 i 23.

    Porty te są jednak dobrze znane i mogą być wykorzystywane przez hakerów do przeprowadzania nieautoryzowanego dostępu.

    Możesz zmienić protokoły SSH i Telnet na różnych portach, aby temu zaradzić. Najlepiej zamknąć wspólne porty i wybrać porty od 1024 do 65535.

    W Telent polecenia są wysyłane w formacie Network Virtual Terminal (NVT). Serwer Telent jest w stanie odbierać i rozumieć format. Jak widać, nie ma tu żadnego szyfrowania ani uwierzytelniania.

    Jeśli chodzi o SSH, po nawiązaniu połączenia klient-serwer sesja jest generowana i identyfikowana za pomocą klucza sesji. Ten klucz szyfruje ruch aż do zakończenia sesji. Ponadto serwer musi zweryfikować klienta. Robi to za pomocą generowania pary kluczy SSH. Po zakończeniu weryfikacji tworzony jest kanał szyfrowania typu end-to-end w celu bezpiecznego przesyłania danych.

    Model

    Zarówno SSH, jak i Telnet używają modelu klient-serwer. To świetnie, biorąc pod uwagę, że model klient-serwer przynosi wiele korzyści, w tym:

    • Może skalować się w poziomie, gdzie serwer może w razie potrzeby dodać więcej zasobów.
    • Klientów można zoptymalizować pod kątem prawidłowego wprowadzania danych
    • Dzieli przetwarzanie aplikacji między klientem a serwerem

    Szybkość i koszty ogólne

    Aby naprawdę zrozumieć SSH i Telnet, musimy poznać ich wpływ na koszty ogólne. Ogólnie rzecz biorąc, SSH ma większy narzut niż Telent, ale prawie nie zauważysz żadnej różnicy w rzeczywistych scenariuszach.

    Technicznie rzecz biorąc, Telnet i SSH dokonują zmiany klucza po 1 godzinie połączenia lub 1 GB czasu połączenia.

    Jeśli chodzi o przepustowość, SSH ma większy narzut, ale ma minimalny wpływ na użytkowników. Jeśli chodzi o procesor klienta i serwera, narzut jest minimalny, dzięki temu, jak standard AES działa i implementuje w połączeniach SSH.

    Krótko mówiąc, SSH i Telnet nie mają wizualnej prędkości ani różnicy w kosztach. Jeśli jednak porównasz je technicznie, SSH ma pewne obciążenie w stosunku do Telnetu.

    Przypadki użycia SSH i Telnet

    W tej sekcji przyjrzymy się niektórym przypadkom użycia SSH i Telnet.

    Przypadki użycia SSH

    Przypadki użycia SSH obejmują:

    • Zdalne wykonywanie poleceń
    • Bezpieczny dostęp do zdalnych zasobów maszynowych
    • Przesyłanie plików na odległość
    • Zdalne dostarczanie aktualizacji oprogramowania
    • Skonfiguruj automatyczny transfer plików lub wykonaj transfery ręczne

    Przypadki użycia Telnetu

    Przypadki użycia usługi Telnet obejmują:

    • Rozwiązywanie problemów z SSH
    • Rozwiązywanie problemów z serwerami FTP, SMTP i WWW.
    • Sprawdź, czy port jest otwarty, czy nie
    • Dostęp do zaufanych sieci internetowych.

    Końcowe przemyślenia: Który z nich jest lepszy?

    SSH jest lepszy. Jest to nowoczesny i zaktualizowany protokół sieciowy, który zapewnia bezpieczny dostęp zdalny. Do tej pory nie znaleziono w nim luk w zabezpieczeniach. Ponadto jest łatwy w użyciu i konfiguracji.

    Z drugiej strony Telnet upadł z wdziękiem. Obecnie ma prawie 50 lat. Jednak nadal jest to przydatne w bieżących scenariuszach i można go używać do rozwiązywania problemów z SSH lub sprawdzania, czy port jest otwarty. Administratorzy mogą używać usługi Telnet do rozwiązywania większości problemów z siecią.