SSH - Secure Shell Omówienie protokołu na przykładzie OpenSSH



Podobne dokumenty
ZiMSK. Konsola, TELNET, SSH 1

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

SSH. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Bezpieczeństwo systemów informatycznych

Protokół SSH. Patryk Czarnik

Protokoły zdalnego logowania Telnet i SSH

SSL (Secure Socket Layer)

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Zdalne logowanie do serwerów

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Ochrona danych i bezpieczeństwo informacji

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

Protokół SSH. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

1. Konwencje przyjęte w instrukcji

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

Serwer SSH. Rozdział Podstawowakonfiguracja

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Bezpieczeństwo sieci komputerowych. dr inż. Andrzej Chmielewski Wydział Informatyki Politechniki Białostockiej

WSIZ Copernicus we Wrocławiu

Poufność (słaba) Integralność (niekryptograficzna) Uwierzytelnienie (słabe) Brak kontroli dostępu Brak zarządzania kluczami

Seminarium Katedry Radiokomunikacji, 8 lutego 2007r.

Usługi sieciowe systemu Linux

Stos TCP/IP. Warstwa aplikacji cz.2

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Wykład 3 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Problemy z bezpieczeństwem w sieci lokalnej

Sieci VPN SSL czy IPSec?

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Protokół SSL/TLS. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Laboratorium nr 6 VPN i PKI

Metody zabezpieczania transmisji w sieci Ethernet

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Podstawy Secure Sockets Layer

Protokół SSL/TLS. Algorytmy wymiany klucza motywacja

Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci. Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz.

KAMELEON.CRT OPIS. Funkcjonalność szyfrowanie bazy danych. Wtyczka kryptograficzna do KAMELEON.ERP. Wymagania : KAMELEON.ERP wersja

Authenticated Encryption

Technologie zapewniajace bezpieczeństwo w systemach operacyjnych (PKI, Smart Cards, SSL, SSH)

Bezpieczeństwo systemów komputerowych.

Zastosowania matematyki w systemie operacyjnym Linux

Bezpieczeństwo systemów informatycznych

Protokoły internetowe

Sieci komputerowe. Zajęcia 4 Bezpieczeństwo w sieciach komputerowych

Protokół 802.1x. Środowisko IEEE 802.1x określa się za pomocą trzech elementów:

System operacyjny Linux

Zarządzanie systemami informatycznymi. Bezpieczeństwo przesyłu danych

Problemy z bezpieczeństwem w sieci lokalnej

Bezpieczeństwo systemów komputerowych

Instalacja i konfiguracja serwera SSH.

Opis efektów kształcenia dla modułu zajęć

Bezpieczne protokoły Materiały pomocnicze do wykładu

VPN dla CEPIK 2.0. Józef Gawron. (wirtualna sieć prywatna dla CEPIK 2.0) Radom, 2 lipiec 2016 r.

Bezpieczeństwo bezprzewodowych sieci LAN

Bringing privacy back

Marcin Szeliga Sieć

Serwery autentykacji w sieciach komputerowych

Laboratorium nr 4 Sieci VPN

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Protokół IPsec. Patryk Czarnik

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych. w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Zastosowania informatyki w gospodarce Wykład 8

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski

Bezpieczeństwo w Internecie

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda

Bezpieczeństwo informacji w systemach komputerowych

Bezpieczeństwo systemów informatycznych

Eduroam - swobodny dostęp do Internetu

Szczegółowy opis przedmiotu zamówienia:


Zastosowania PKI dla wirtualnych sieci prywatnych

Zastosowania informatyki w gospodarce Wykład 5

SSH: Identyfikacja Serwera Autor: Damian Zelek, Data: 20 grudzień 2004

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

SMB protokół udostępniania plików i drukarek

Wykład 9. Bezpieczeństwo systemów komputerowych. Protokoły SSL i TLS. Scentralizowane systemy uwierzytelniania. 5 listopada 2013

Laboratorium nr 5 Sieci VPN

Program szkolenia: Bezpieczny kod - podstawy

Bezpieczeństwo usług oraz informacje o certyfikatach

Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe. kradzieŝy! Jak się przed nią bronić?

Wykład 6: Bezpieczeństwo w sieci. A. Kisiel, Bezpieczeństwo w sieci

WLAN 2: tryb infrastruktury

Uwierzytelnianie jako element procesu projektowania bezpieczeństwa

PORADNIKI. Atak SMB Man-In-The-Middle

BEZPIECZEOSTWO SYSTEMU OPERO

Wprowadzenie do technologii VPN

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Szyfrowanie danych w SZBD

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI.

Środowisko IEEE 802.1X określa się za pomocą trzech elementów:

Bezpieczeństwo w sieciach bezprzewodowych WiFi. Krystian Baniak Seminarium Doktoranckie Październik 2006

Sieci wirtualne VLAN cz. I

Transkrypt:

SSH - Secure Shell Omówienie protokołu na przykładzie OpenSSH Paweł Pokrywka SSH - Secure Shell p.1/??

Co to jest SSH? Secure Shell to protokół umożliwiający przede wszystkim zdalne wykonywanie komend. Powstał jako bezpieczna alternatywa telneta. Wykorzystuje szyfrowanie transmisji oraz kilka metod bezpiecznej autoryzacji. SSH - Secure Shell p.2/??

Co to jest OpenSSH? OpenSSH to wolna (otwarta) implementacja protokołu SSH udostępniana na licencji BSD. Rozwijana przez zespół doświadczonych programistów a W chwili obecnej (rok 2004) najpopularniejsza implementacja dla systemów uniksowych. Wykorzystywana w prawie każdej dystrybucji Linuksa, systemach BSD, a także w Solarisie, Cisco IOS i innych. a... tworzacych system OpenBSD SSH - Secure Shell p.3/??

Możliwości Silne szyfrowanie (AES, Blowfish, 3DES) Silne metody uwierzytelniania (PKI, OTP, Kerberos) Transmisja sesji X11 Przekierowywanie portów SSO SFTP - transmisja plików Kompresja transmisji VPN - PPPoSSH SSH - Secure Shell p.4/??

Wersje SSH1 to pierwsza wersja protokołu. Odkryto w niej luki, które zaowocowały powstaniem SSH2 a Łamanie haseł (RC4 + blokowanie pustych haseł) Powtarzanie połączeń (RC4) Modyfikacja transmitowanych danych (RC4 + CRC) Przenoszenie autoryzacji na inny serwer (gdy szyfrowanie wyłączone) SSH2 nie jest kompatybilne z SSH1. OpenSSH implementuje obie wersje protokołu. a Luki nie są krytyczne i mogły zostać stosunkowo łatwo poprawione. Marketing. SSH - Secure Shell p.5/??

Specyfikacja SSH2 jest zdefiniowane w następujących dokumentach: draft-ietf-secsh-architecture-12 draft-ietf-secsh-transport-14 draft-ietf-secsh-userauth-15 draft-ietf-secsh-connect-15 SSH - Secure Shell p.6/??

Architektura SSH2 Protokół SSH składa się z 3 warstw: Transportowej (uzgadnianie algorytmów i kluczy). Zapewnia: Integralność Poufność Kompresję danych (opcjonalnie) Perfect Forward Secrecy Autentykacji (hasła, PKI itd.) Połączenia (zwielokrotnianie) SSH - Secure Shell p.7/??

Architektura SSH2 cd. SSH działa w sieciach IP. Architektura klient serwer. Serwer nasłuchuje na porcie 22/TCP. SSH - Secure Shell p.8/??

Serwer Podczas instalowania serwera SSH administrator generuje klucz hosta dla tej maszyny. Kluczy może być tyle, ile algorytmów obsługuje serwer. Obsługiwane algorytmy asymetryczne: RSA DH DSA Modele certyfikacji kluczy: Baza kluczy na kliencie CA SSH - Secure Shell p.9/??

Centrum Certyfikacji Schemat działania systemu opartego o centrum certyfikacji: CA generuje parę kluczy: publiczny i prywatny Klucze publiczne serwerów są podpisywane przez CA a Każdy klient instaluje klucz CA Gdy klient posiada klucz CA może z łatwością zweryfikować poprawność certyfikatu serwera wystarczy sprawdzić czy podpis jest prawidłowy. a Podpisany klucz publiczny to certyfikat SSH - Secure Shell p.10/??

Baza kluczy na kliencie Jest to rozwiązanie najpopularniejsze, ponieważ nie wymaga Instrastruktury Klucza Publicznego (PKI). Przy pierwszym połączeniu klient ściąga z serwera jego klucz publiczny. Klient powinien zaprezentować użytkownikowi odcisk palca klucza serwera. Użytkownik powinien zweryfikować za pomocą innego kanału czy odcisk palca zgadza się. Klucz zapisywany jest w lokalnej bazie. joe@localhost:~$ ssh joe@serwer The authenticity of host serwer (a.b.c.d) can t be established. RSA key fingerprint is 4f:f6:35:c6:c3:22:05:ad:c3:80:c8:5f:b7:06:6c:b4. Are you sure you want to continue connecting (yes/no)? SSH - Secure Shell p.11/??

Negocjacja parametrów Połączenie SSH może korzystać z wielu dostępnych algorytmów i protokołów kryptograficznych. Decyzja o użyciu konkretnego zbioru algorytmów zapada na etapie negocjacji parametrów połączenia. Ustalania dotyczą m.in.: Algorytmu symetrycznego Algorytmu asymetrycznego Metody autoryzacji Operacji, które użytkownik może wykonać korzystając z tego połączenia (przenoszenie połączeń X11 etc.) Preferencje dot. ustaleń określa polityka (ang. Policy). SSH - Secure Shell p.12/??

Transmisja Format pakietu SSH (warstwa transportowa): Długość pakietu (4 bajty) Długość dopełnienia (1 bajt) Dane Losowe dopełnienie MAC - tylko ta część pakietu nie jest szyfrowana! Dopełnienie jest dobierane tak, aby wielkość całego pakietu z wyjątkiem MACa była wielokrotnością długości bloku a algorytmu szyfrującego. a Dla algorytmów strumieniowych - wielokrotnościa 8 SSH - Secure Shell p.13/??

Zabezpieczenia Poufność: Szyfrowanie, najczęściej blokowe w trybie CBC. Integralność: mac = MAC(K, S P ) K klucz, S numer pakietu, P niezaszyfrowany pakiet Transmisja jest rozbita na dwa kanały: wysyłanie i odbieranie. Szyfrowanie i zapewnienie integralności jest realizowane oddzielnie dla obu kanałów. SSH - Secure Shell p.14/??

Uzgadnianie kluczy Gdy zakończy się faza KEX, klient i serwer dysponują parą tajnych danych: K i H Za pomocą: generowane są: x = HASH(K H litera id_sesji) Wektory inicjalizujące Klucze szyfrujące Klucze używane do zapewnienia integralności (MAC) SSH - Secure Shell p.15/??

Przebieg połaczenia Warstwa transportowa. 1. Wymiana wersji oprogramowania. 2. Wymiana listy obsługiwanych algorytmów i protokołów. 3. Uzgodnienie kluczy K i H. 4. Wygenerowanie kluczy sesji. 5. Przekazanie H do warstwy autentykacji. Renegocjacja kluczy jest powtarzana co godzinę lub co 1GB przesłanych danych, w zależności od tego co nastąpi wcześniej. SSH - Secure Shell p.16/??

Przebieg połaczenia cd. W warstwie autentykacji także dochodzi do negocjacji protokołu uwierzytelniania. password publickey hostbased Wybrana metoda uwierzytelniania zależy od polityki zdefiniowanej na serwerze i na kliencie. SSH - Secure Shell p.17/??

password Autoryzacja oparta na haśle. Użytkownik wpisuje hasło, które jest wysyłane do serwera. Poufność jest zapewniana przez warstwę transportową. Wada tej metody jest to, że hasło może zostać przechwycone przez: nieuczciwego administratora osobę wykonującą atak człowiek w środku SSH - Secure Shell p.18/??

publickey 1. Użytkownik za pomocą bezpiecznego kanału umieszcza swój klucz publiczny na serwerze. 2. Klucz prywatny użytkownika znajduje się tylko na jego komputerze; jest chroniony hasłem. 3. Podczas logowania użytkownik podpisuje pakiet danych, które zawierają między innymi H i wysyła do serwera. 4. Serwer sprawdza, czy podpis jest prawidłowy używając klucza publicznego użytkownika. 5. Jeśli podpis jest prawidłowy serwer zezwala użytkownikowi na dostęp. Hasło nie opuszcza komputera użytkownika! SSH - Secure Shell p.19/??

Perfect Forward Secrecy Serwer oprócz kluczy host key, które są stałe, co godzinę generuje parę kluczy temp key. Po nawiązaniu połączenia klient ściąga z serwera temp key Do uzgodnienia kluczy szyfrujących wykorzystywane są obie pary kluczy. Jeśli atakujący: Podslucha całą zaszyfrowaną sesję i... przechwyci prywatny klucz serwera host key to ma co najwyżej godzinę na przechwycenie prywatnego klucza tymczasowego temp key. Po tym czasie transmisji nie da się odszyfrować! SSH - Secure Shell p.20/??

Atak człowiek w środku 1. A łączy się z M, myśląc, że komunikuje się z B. 2. M przedstawia A swój klucz publiczny. 3. A naiwnie go akceptuje a. 4. A wysyła hasło M, cały czas myśląc, że komunikuje się z B. 5. M wysyła hasło B, i dalej działa jako pośrednik podsłuchując transmisję. Atakujący poznaje hasło A. Można się przed tym zabezpieczyć stosując autentykację opartą na kluczu publicznym i/lub weryfikując klucz publiczny serwera. a Fuzzy Fingerprint SSH - Secure Shell p.21/??

Przykład MitM @@@@@@@@@@@@@server@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is 4f:f6:35:c6:c3:22:05:ad:c3:80:c8:5f:b7:06:6c:b4. Please contact your system administrator. Add correct host key in /home/joe/.ssh/known_hosts to get rid of this message. Offending key in /home/joe/.ssh/known_hosts:30 RSA host key for server has changed and you have requested strict checking. Host key verification failed. SSH - Secure Shell p.22/??