Protokół SSH.doc

(32 KB) Pobierz
Protokół SSH

PROTOKÓŁ SSH

 

Pakiety wykorzystujące protokół SSH (Secure Shell) są programami do logowania się na zdalnym komputerze w sieci, wykonywania na nim komend oraz przesyłania plików z jednego komputera do drugiego. Wszystkie te czynności są w pełni kodowane, a transmisja odbywa się przez port SSH (22) i jest praktycznie niemożliwa do przechwycenia jakimkolwiek snifferem. W odróżnieniu od tradycyjnych narzędzi takich jak Telnet czy FTP, jest to jeden z najbezpieczniejszych sposobów pracy w sieci.

SSH do kodowania transmisji używa algorytmu asymetrycznego, czyli każdy komputer w momencie instalacji musi wygenerować parę kluczy. Jeden z nich będzie dostępny dla wszystkich tzw. host key, drugi prywatny musi być starannie ukrywany. Oprócz tego serwer SSH (sshd) generuje co jakiś czas dodatkowe 2 klucze zwane server keys. Szyfrowanie transmisji odbywa się z udziałem wyżej wymienionych kluczy. Natomiast nasze uwierzytelnienie następuje tradycyjnie poprzez podanie hasła lub poprzez sprawdzenie znajomości naszego prywatnego klucza. Jest to trzeci rodzaj kluczy biorących udział w transmisji SSH, które możemy wygenerować za pomocą polecenia (w unixie ssh-keygen).

SSH daje użytkownikowi możliwość wyboru transmisji kodowanej lub niekodowanej. W transmisji kodowanej mechanizm kodowania danych odbywa się w warstwie transportowej protokołu sieciowego. Protokół SSH zapewnia autoryzację pomiędzy dwoma komputerami w sieci, autoryzację pomiędzy użytkownikami wraz z ochroną prywatności i integralności ich danych. Zaletą SSH jest automatyczne logowanie. Dostęp na konto w sieci może odbyć się bez podawania hasła. Identyfikacja natomiast, odbywa się za pomocą dwóch kluczy - prywatnego oraz publicznego, który jest umieszczany na odległej maszynie.

Oprogramowanie dla serwera pracującego pod Unix'em (F-Secure SSH UNIX Server) zawiera narzędzia do administracji systemu, których zadaniem jest ochrona przesyłanych plików i backupów, wykorzystując kodowanie przy pomocy klucza publicznego.

Serwer czuwa nad autentycznością danych, automatycznie dokonuje kodowania sesji i integruje ochronę dla wszystkich przesyłanych danych. Do tego celu wykorzystuje protokół RSA, służący do wymiany kluczy i sprawdzania autentyczności oraz symetryczne algorytmy - Blowfish lub 3DES do kodowania transferu danych.

Można również użyć dostarczonych do pakietu narzędzi umożliwiających podmianę istniejących protokołów, takich jak RSH, RLOGIN, RCP, RDIST i TELNET. Dzięki temu wszystkie zadania możemy kierować poprzez bezpieczne połączenia.

 

Technologia TCP/IP port forwarding technology pozwala na przekierowywanie niechronionych połączeń poprzez chroniony kanał. Jest to realizowane poprzez utworzenie zastępczego serwera dla źródłowego portu pracującego pod protokołem TCP/IP. Serwer ten, utworzony na lokalnej maszynie, czeka na połączenie programu użytkownika do portu źródłowego. Następnie F-Secure SSH przesyła żądanie i dane przez chroniony kanał do zdalnego systemu. F-Secure SSH server na zdalnym systemie dokonuje finalnego połączenia do właściwego hosta i portu. Wiele zdalnych usług, które wykorzystują protokół TCP/IP może być chronionych, między innymi: aplikacje użytkowników client-server, systemy baz danych, i usługi takie jak HTTP, TELNET, POP, SMTP. Program w pełni zastępuje protokół TELNET dodatkowo realizując sprawdzanie autentyczności i automatyczne kodowanie sesji.

Oprócz wymienionego wyżej komercyjnego F-Secure SSH są inne pakiety wykorzystujące protokół SSH, jak np. darmowyOpenSSH. Jego używanie nie jest ograniczone restrykcyjnymi prawami patentowymi i licencjami, przez co może z niego korzystać każdy.

OpenSSH jest rozwijany w oparciu o ostatnią nielicencjonowaną wersję SSH Tatu Ylönen'a. Wszystkie opatentowane algorytmy zawarte w pakiecie, zostały przeniesione do zewnętrznych bibliotek, wszystkie znane dziury w bezpieczeństwie zostały naprawione, rozbudowano pakiet o nowe cechy i dokonano wielu usprawnień oprogramowania.

 

OpenSSH zawiera w sobie między innymi następujące programy:

·         ssh - zastępuje rsh, rlogin i telnet, umożliwia zdalne kopiowanie plików - scp, które zastępuje rcp i ftp,

·         sshd - serwer usługi ssh (port 22).

·         ssh-add, dodaje informacje identyfikacyjne dla ssh-agent.

·         ssh-agent, służy do trzymania prywatnych kluczy autentykacyjnych.

·         ssh-keygen, generuje i zarządza kluczami autentykacyjnymi programu ssh.

 

OpenSSH stworzony został jako system szyfrowania na poziomie IP. Ponieważ jest on darmowy, więc każda firma (nawet najmniejsza) może pozwolić sobie na jego wykorzystanie. Jedynym ograniczeniem w zastosowaniu tego systemu jest potrzeba używania systemu Linux.

Zgłoś jeśli naruszono regulamin