close

Bezpieczna powłoka

Przejdź do nawigacji Przejdź do wyszukiwania
Bezpieczna powłoka (SSH)
Rodzina Internet
Funkcjonować Zdalne zarządzanie przez sieć
porty 22 (standard) [ 1 ]
Lokalizacja w stosie protokołów
Aplikacja SSH
Transport TCP
Internet IP ( IPv4 i IPv6 )
standardy
RFC 4250 , RFC 4251 , RFC 4252 , RFC 4253 , RFC 4254 , RFC 4255 , RFC 4256 , RFC 4335 , RFC 4344 , RFC 4345 , RFC 4419 , RFC 4432 , RFC 4462 , RFC 4716 , RFC 48 , RFC 4819

SSH (lub S ecure SH ell, po hiszpańsku: bezpieczny interpreter poleceń) to nazwa protokołu i programu , który go implementuje, którego główną funkcją jest zdalny dostęp do serwera za pośrednictwem bezpiecznego kanału, w którym wszystkie informacje są szyfrowane. Oprócz łączenia się z innymi urządzeniami, SSH umożliwia bezpieczne kopiowanie danych (zarówno pojedynczych plików, jak i symulowanie zaszyfrowanych sesji FTP ), zarządzanie kluczami RSA, aby nie pisać haseł podczas łączenia się z urządzeniami, oraz przekazywanie danych z dowolnej innej aplikacji przez bezpieczny kanał tunelowany przez SSH, a także może przekierowywać ruch ( X Window System ), dzięki czemu można zdalnie uruchamiać programy graficzne. Przypisany port TCP to 22.

Jest to protokół, który ułatwia bezpieczną komunikację między dwoma systemami przy użyciu architektury klient/serwer i umożliwia użytkownikom zdalne łączenie się z hostem. W przeciwieństwie do innych protokołów komunikacji zdalnej, takich jak FTP lub Telnet, SSH szyfruje sesję połączenia, uniemożliwiając każdemu uzyskanie niezaszyfrowanych haseł. SSH ma na celu zastąpienie starszych i mniej bezpiecznych metod zdalnego logowania do innego systemu za pomocą powłoki poleceń, takich jak telnet lub rsh. Powiązany program, scp, zastępuje inne programy przeznaczone do kopiowania plików między hostami, takie jak rcp. Ponieważ te stare aplikacje nie szyfrują haseł między klientem a serwerem.

Operacja

Potrzebujesz trzech podstawowych punktów: użytkownika, portu i serwera. Klient SSH skontaktuje się z serwerem, aby zainicjować połączenie. Ten serwer nasłuchuje przez port 22 lub inny przypisany do niego. Później serwer wyśle ​​klucz publiczny i zacznie organizować parametry i otwiera bezpieczny kanał. Klient loguje się, aby połączyć się z tym serwerem.

Bezpieczeństwo

SSH działa podobnie jak telnet . Główną różnicą jest to, że SSH wykorzystuje techniki szyfrowania, które sprawiają, że informacje przesyłane przez medium komunikacyjne stają się nieczytelne, uniemożliwiając osobom trzecim odkrycie nazwy użytkownika i hasła połączenia lub tego, co jest zapisywane podczas całej sesji. chociaż możliwe jest zaatakowanie tego typu systemu za pomocą ataków REPLAY, a tym samym manipulowanie informacjami między miejscami docelowymi.

Protokół SSH zapewnia następujące rodzaje ochrony:

  • Po początkowym połączeniu klient może sprawdzić, czy łączy się z tym samym serwerem, z którym łączył się poprzednio.
  • Klient przesyła informacje uwierzytelniające do serwera przy użyciu silnego 128-bitowego szyfrowania.
  • Wszystkie dane wysyłane i odbierane podczas sesji są przesyłane przy użyciu 128-bitowego szyfrowania, co niezwykle utrudnia ich odszyfrowanie i odczytanie.
  • Klient ma możliwość przekazywania aplikacji X11 z serwera. Ta technika, zwana przekazywaniem X11, zapewnia bezpieczne sposoby korzystania z aplikacji graficznych w sieci.

Ponieważ protokół SSH szyfruje wszystko, co wysyłasz i odbierasz, może być używany do zabezpieczania niezabezpieczonych protokołów. Serwer SSH może stać się kanałem zabezpieczającym niezabezpieczone protokoły za pomocą techniki zwanej przekierowaniem portów.

Istnieją różne struktury kryptograficzne, które można zastosować podczas korzystania z protokołu SSH w takim przypadku. Zasadniczo istnieją trzy alternatywy:

  • Symetryczny
  • asymetryczny
  • haszowanie

Kryptografia symetryczna jest wykonywana za pomocą tajnego klucza, który jest udostępniany tylko serwerowi i użytkownikowi. Jego rolą jest szyfrowanie lub odszyfrowywanie wiadomości przesyłanej w tym procesie, jednak Secure Shell oferuje tylko odczytanie zawartości poprzez przedstawienie tego klucza.

Kryptografia asymetryczna wykorzystuje dwa klucze, jeden dla klienta, a drugi dla serwera, do szyfrowania przesyłanych danych. Klucze są nazywane publicznymi i prywatnymi, tworząc w ten sposób kombinację niezbędną do wygenerowania SSH i jego protokołu bezpieczeństwa. W tym modelu klucz publiczny jest dystrybuowany w sposób otwarty i współdzielony. Jednak z tego nie można dowiedzieć się, czym jest klucz prywatny. Dzieje się tak dzięki procesowi, który działa w następujący sposób: wiadomości zaszyfrowane kluczami publicznymi można odszyfrować tylko za pomocą klucza prywatnego tego samego komputera.

Haszowanie jest jednokierunkową metodą kryptograficzną używaną w SSH. Praktyka ta polega na tworzeniu hasha, za pomocą algorytmu, gwarantującego, że wiadomość będzie chroniona w określonej formie kodów kryptograficznych i uwierzytelniających.

Najczęstszy atak

Najczęstszym atakiem jest atak brute force, który polega na wypróbowaniu każdej możliwej kombinacji, której użytkownik może użyć jako hasła, a następnie przetestowaniu jej, aby sprawdzić, czy jest to prawidłowe hasło. Aby sprawdzić, czy hasło jest poprawne, czy nie, sprawdź odpowiedź serwera pod kątem błędów. Wraz ze wzrostem długości hasła szybko rośnie również czas potrzebny na znalezienie prawidłowego hasła. Oznacza to, że krótkie hasła są dość łatwe do złamania. Aby ten atak był skuteczniejszy, wykorzystywana jest obsługa słowników, czyli narzędzi z listą możliwych haseł do użycia przeciwko systemowi docelowemu, dopóki nie uzyska poprawnego hasła dla użytkownika.

Historia

Początkowo były tylko r-command , które opierały się na programie rlogin , który działa podobnie jak telnet .

Pierwsza wersja protokołu i programu była bezpłatna i została stworzona przez Fina Tatu Ylönena , ale jego licencja zmieniała się i ostatecznie pojawiła się firma SSH Communications Security, która oferowała go bezpłatnie do użytku domowego i akademickiego, ale zażądała zapłaty od inne firmy. W 1997 roku (dwa lata po stworzeniu pierwszej wersji) został zaproponowany jako projekt w IETF .

Na początku 1999 roku zaczęto pisać wersję, która miała stać się kwintesencją wolnej implementacji OpenBSD , zwaną OpenSSH .

Wersje

Istnieją 2 wersje SSH, wersja 1 SSH wykorzystuje wiele zastrzeżonych algorytmów szyfrowania (jednak niektóre z tych patentów wygasły) i jest podatna na lukę w zabezpieczeniach, która potencjalnie umożliwia atakującemu wprowadzenie danych do strumienia komunikacji. Pakiet OpenSSH w systemie Red Hat Enterprise Linux domyślnie używa protokołu SSH w wersji 2, który ma ulepszony algorytm wymiany kluczy, który nie jest podatny na lukę w zabezpieczeniach w wersji 1. Jednak pakiet OpenSSH obsługuje również połączenia SSH od wersji 1.

Zobacz także

Referencje

Linki zewnętrzne