Protokoły wyższych warstw Protokoły pośredniczące: RPC Remote Procedure Call zdalne wywołanie procedury 4 bajtowe numery usług RPC Serwery lokalizujące usługi RPC portmapper i RPC Lokator ( Windows NT) Port TCP i UDP 111 dla RPC Suna i 135 dla RPC MS Serwery usług rejestrują usługę w portmapperze NetBIOS ponad TCP/IP (NetBT) Usługi nazewnicze UDP 137 Datagramowe - UDP 138 Sesyjne TCP 139 CIFS i SMB ( Common Internet File Systems, Server Message Block) Zwykle ponad NetBT lub czasem bezpośrednio na TCP/IP (CIFS) TCP/UDP port 445 TLS i SSL ( Secure Socket Layer) SSL produkt Netscape a 1993 Do przenoszenia HTTP wydajny przy krótkich bezstanowych połączeniach, może być podtrzymany przez serię połączeń http. SSL3, TLS ( Transport Layer Security IETF RFC 2246) IPsec AH Authentication Header Protokół numer 51 ESP Encapsulating Security Payload Protokół numer 50 ISAKMP Internet Security Association Key Managment Protocol przez UDP 500 Tryb transportowy AH lub ESP za nagłówkiem IP Tryb tunelowy cały pakiet umieszczony w nowym IP
Bezpieczeństwo IPv4 i IPv6 IPSec Bezpieczne łączenie filii firmy przez Internet Bezpieczny zdalny dostęp przez Internet Łączność extranet (zewnętrzna) i intranet (wewnętrzna) Wzbogacone bezpieczeństwo działalności komercyjnej Obszar IPSec Nagłówek poświadczenia (AH) Kapsułkowanie zabezpieczonych danych (ESP) Wymiana kluczy RFC 2401,2402,2406,2408
Security Association (Bezpieczne Połączenie) Jednostronna relacja między nadawcą a odbiorcą Dla obustronnej, dwa połączenia (skojarzenia) są wymagane Trzy parametry identyfikacji SA Współczynnik bezpieczeństwa Docelowy adres IP Identyfikator protokołu bezpieczeństwa
Parametry SA Licznik numerów sekwencyjnych Limit licznika Okna anty-odpowiedzi Informacja AH (nagłówek poświadczenia) Informacja ESP (Kapsułkowanie zabezpieczonych danych) Czas trwania SA Tryb protokołu IPSec Tunelowy, transportowy lub wildcard (mieszany) Ścieżka MTU
Tryby transportu i tunelu Tryb transportu Ochrona dla protokołów wyższej warstwy Ogranicza się do pola danych w pakiecie IP End-to-end pomiędzy hostami Tryb tunelu Ochrona dla IP Cały pakiet traktowany jako dane do zewnętrznego pakietu Żaden ruter nie rozszyfrowuje pakietu Może mieć inne adresy źródłowe i docelowe Może być zaimplementowany w firewall u
Nagłówek Poświadczenia (AH)
IPsec The IPsec authentication header in transport mode for IPv4.
Kapsułkowanie zabezpieczonych danych ESP(Encapsulating Security Payload) Usługi wymagające poufności
Pakiet ESP
Zakres ESP
Zarządzanie Kluczami Ręczne Automatyczne ISAKMP/Oakley Protokół Oakley do wyznaczania kluczy Internetowy protokół bezpiecznego połączenia i zarządzania kluczami (Internet security association and key management protocol)
Bezpieczeństwo w stosie protokołów TCP/IP
SSL ( Secure Socket Layer) SSL produkt Netscape a 1993 Do przenoszenia HTTP wydajny przy krótkich bezstanowych połączeniach, może być podtrzymany przez serię połączeń http. SSL3, TLS ( Transport Layer Security IETF RFC 2246) Grupa robocza TLS w ramach IETF Pierwsza wersja TLS rozpoznawana jako SSLv3.1Transport Layer Security Ten sam format rekordu jak w SSL Zdefiniowany w RFC 2246 Podobny do SSLv3. Różnice: version number message authentication code pseudorandom function alert codes cipher suites client certificate types certificate_verify and finished message cryptographic computations padding
SSL The Secure Sockets Layer Warstwy (i protokoły) dla przeglądania WWW z SSL
Architektura SSL
SSL przesył danych Transmisja danych z wykorzystaniem SSL.
Operacje protokołu SSL Record Protocol
Format protokołu SSL Record Content Type typ danych 20 - Change CipherSpec, 21 Alert Protocol, 22 Handshake, 23 Application Wersja SSLv3 3,0 TLSv1 3,1
SSL Record Protocol Payload
Handshake Protocol Najbardziej skomplikowana i rozbudowana część SSL. Pozwala na autentykację serwera i klienta (opcjonalnie) względem siebie Negocjuje szyfrowawanie, algorytmy interalności (MAC), wymiana i ustalenie kluczy kryptograficznych Używany przed transmisją danych aplikacji
SSL protokół Handshake Uproszczona wersja nawiązania połączenia SSL.
Składowe protokołu Handshake Client Hello Wersja protokołu Jak w protokole Record Wartość losowa 32 bajtowa wartość losowa w tym 4 bajty czas ( w sekundach od Unixowej epoki 0:00,1.01.1970) ID sesji Łańcuch do 32 bajtów 0 dla nowej sesji Wykorzystanie informacji z poprzedniej sesji Lista proponowanych algorytmów kryptograficznych Od najbardziej preferowanych Lista proponowanych algorytmów kompresji Server Hello Składnia jak w Client Hello Ale algorytmy wybrane przez z server z listy proponowanych ID sesji może być ustawione, jeśli server dopuszcza wznawianie sesji Certificate Jedno pole łańcuch certyfikatów X.509 ( v3) Server Hello Done Komunikat bez pól ale niezbędny
Składowe protokołu Handshake ClientKeyExchange Do przekazania pre_master_secret 48 bajtów ( w tym 2 wersja protokołu) Składnia Rodzaj algorytmu ( RSA, DH) Zakodowana wartość pre_master_secret ( dla RSA) Kluczem publicznym servera ( z łańcucha certyfikatów) Wartość publiczna algorytmu Diffie-Hellmana ( dla DH) Finished Pierwszy zaszyfrowany komunikat MD5 (16 bajtów) i SHA_hash (20) (dla SSLv3) wszystkich dotychczasowych komunikatów + wartość master_secret Dane potwierdzające dla TLSv1 Też skróty MD5 i SHA-1 konkatenowane i obcięte do 12 bajtów ChangeCipherSpec Komunikat protokołu CipherSpec Wysyłany przez Klienta i server Po jego przesłaniu dane są szyfrowane kluczami wygenerowanymi w oparciu o master_secret i liczby losowe
Handshake Protocol Action
Protokół Alert Status błędu Jednobajtowe pole 1 ostrzeżenie 2 błąd krytyczny Opis błędu Identyfikator błędu jednobajtowy W TLSv1 23 kody 0 close_notify żądanie zamknięcia połączenia - to nie błąd!! 10 unexpected_message 20 bad_record_mac 21 - decryption_failed 48 unknown_ca
Wspierane algorytmy generowanie kluczy Algorytmy symetryczne DES (56bit), 3 DES(112b/168b), RC2, RC4 Algorytmy klucza asymetrycznego RSA, Diffie-Hellman (DH) 512-1024-2048 bitów Funkcje skrótów MAC, HMAC (Hash-keyed Message Authentication Code) MD-5 (128 bitów), SHA-1 (160bitów) (Secure Hash Algorithm) Podpisy cyfrowe RSA, DSA ( Digital Signature Algorithm) Generowanie kluczy Lista algorytmów, wartość losowa Przesłanie pre_master_secret ( RSA lub DH) Wytworzenie po obu stronach master_secret Generowanie kluczy symetrycznych na bazie master_secret i liczb losowych 4 rodzaje kluczy 2*HMAC, do szyfrowania Poufność kluczy i składowych W transmisji Zmienność w czasie Perfect Forward Secrecy Przechowywanie w systemach
SSL Inne zastosowania SSL VPN OpenSSL / OpenVPN Konkurencja dla IPsec User Space UDP port 5000 Dlaczego UDP a nie TCP?
Protokoły pośredniczące Remote Access Services ( RAS) Tunelowanie PPTP Point to Point Tunneling Protocol Rozszerzenie PPP szyfrowanie pakietów PPP i przenoszenie ich przez GRE L2F Layer 2 Forwarding Produkt Cisco L2TP Layer 2 Tunnelig Protocol Działa ponad IP z własnym nagłówkiem IP i UDP port 1701 Często szyfrowany przez IPsec ESP łącznie 3 nagłówki IP IP ESP IP UDP L2TP IP TCP Dane... GRE Generic Routing Encapsulation Enkapsulacja IP w IP Protokół numer 47 Różne wartości typów protokołu GRE PPP x880b
Aplikacje :
Architektura klient serwer Pasywne otwarcie po stronie serwera Aktywne ze strony klienta Porty poniżej i powyżej 1023 Klienci zazwyczaj powyżej 1023 Serwery różnie dobrze znane porty, przewaga portów poniżej 1023 Obciążenia stron ( telnet, X11, http) Demony (httpd, named, ftpd etc. ) Protokoły usług Komendy Format Protokoły międzywarstwowe SSL
Aplikacje: Usługi nazewnicze i katalogowe: DNS ( Domain Name System) NIS ( Network Information Services) Dawniej yp yellow pages NetBIOS Name Service z TCP, WINS Tłumaczy nazwy netbiosowe na IP WINS ( Windows Internet Name Service), Serwer WINS Czyli NetBT Name Server - NBNS Przeglądarka Windows LDAP Obsługa listy w otoczeniu sieciwym Bazuje na NetBT (porty UDP i TCP 137-139) Light Directory Access Protocol Obsługa dostępu do baz katalogowych Też wyszukiwanie informacji Może wykorzystywać TLS, LDAPS szyfrowanie połączeń Active Directory Usługa katalogowa w Windows 2000, 2003 Korzysta i z DNS i LDAP Stare aplikacje wyszukiwania informacji o użytkownikach Finger, whois
DNS System nazw Domeny Hierarchiczny struktura drzewa Generic ( com, net, gov, ) Krajowe ( us, pl, uk, dk... ) Domeny typu 2.168.200.in-addr.arpa Przechowywanie i uzyskiwanie informacji Rozproszona baza danych Serwery nazw Primary Secondary Caching BIND Berkeley Internet Name Domain Resolver Demon named Rodzaje zapytań rekurencyjne i iteracyjne Pamięć podręczna Efektywność Autoryzacja Ipconfig /displaydns /flushdns Rodzaje rekordów A, NS, PTR, Cname, MX, Hinfo, SOA, TXT
Format komunikatu DNS 0 8 16 24 32 Identyfikacja Parametr Liczba pytań Liczba autorytetów Liczba odpowiedzi Liczba dodatkowych Pytania... Odpowiedzi... Autorytety... Informacje dodatkowe...
Parametry komunikatu DNS Bity 0 1-4 5 6 7 8 9-11 12-15 Znaczenie Operacja 0 pytanie ; 1 odpowiedź Typ pytania 0 standardowe; 1 odwrotne 1 jeśli odpowiedź autorytatywna 1 przy skróconych komunikatach 1 gdy żądana rekursja 1 gdy rekursja dostępna zarezerwowane Typy odpowiedzi : 0 poprawna; 1 błąd formatu pytania; 2 awaria serwera; 3 nie ma takiej nazwy
Format pozycji pytania 0 8 16 24 32 NAZWA... TYP KLASA Klasa Internet Typ np. A, MX etc. Nazwa dowolna liczba oktetów (też nazwy skrócone)
Format rekordu zasobu 0 8 16 24 32 Nazwa zasobu... Typ Czas życia Klasa Długość danych Dane.........
System nazw dziedzin DNS Format skompresowanych nazw Reprezentacja nazw ciąg etykiet Pierwszy oktet długość etykiety Pobranie etykiety... Oktet długości = 0 koniec nazwy Kompresja Wskaźniki do segmentów nazw Oktet długości Jeśli dwa najstarsze bity 11 to następne 14 bitów jest wskaźnikiem Jeśli nie to 6 bitów stanowi o długości segmentu nazwy
Skróty nazw dziedzin Obszary dziedziny ( analogia obszaru telefonii) Sufiksy dziedziny Np. zsk.p.lodz.pl cc.p.lodz.pl p.lodz.pl lodz.pl Przetwarzanie według kolejności powinno być od domen najniższego rzędu ( najdłuższych )
DNS Odwzorowania odwrotne Zapytania odwrotne ( inverse queries ) Do serwera wysyłana jest odpowiedź Serwer odsyła zapytanie jakie by wywołało Problem jednoznaczności Trudności po stronie serwera praktycznie przeszukanie całej przestrzeni nazw Zwykle nie używane Pytania ze wskaźnikiem Zapytanie ze wskaźnikiem pointer query Domeny typu 2.168.200.in-addr.arpa 130.2.168.200.in-addr.arpa Odpowiedzialność za poddziedzinę Strefy autorytetu Pliki strefowe, transfer strefy Pytania i odpowiedzi MX Dodatkowo rekordy A dla nazw MX ( efektywność)
Zdalne użytkowanie systemów: telnet Dostęp terminalowy, port 23 TCP Bezpieczeństwo przesyłanie hasła otwartym tekstem Windows 2000 uwierzytelnianie NTLM (NT LanMan) Rlogin ( remote) Też zdalne wykonywanie polecenie (rsh,rcp,rdump etc. ) Bez przesyłania haseł, ale oparte na zaufaniu do adresu hosta (?!) Pliki rhosts SSH secure shell Szyfrowanie połączeń, port 22 TCP Kilka sposobów uwierzytelniania zarówno klienta jak i serwera SSH Możliwości przekazywania portów tunelowanie Tworzenie szyfrowanych połączeń np. do kopiowania plików, dostępu do poczty etc. Też obsługa połączeń X windows X-windows - Zdalne interfejsy graficzne Odwrotna relacja Klient Serwer ( serwer, to ekran, mysz,klawiatura) Sposób uruchomienia ( startx) Zdalne interfejsy graficzne dla systemów Microsoft Windows ICA (Independent Computing Architecture) CITRIX Microsoft Terminal Server, RDP Remote Desktop Protocol
Transmisja, współdzielenie plików, drukowanie FTP file transfer protocol Standard transmisji plików w Internecie TFTP - trivial file transfer protocol Uproszczony protokół przesyłania plików Oparty na UDP serwery monitorują port 69, transmisja porty powyżej 1023 Brak uwierzytelniania Prosty protokół startowy (maszyny bezdyskowe: terminale, routery) NFS - Network File System Sieciowy dostęp do plików na udostępnionych dyskach Protokół bezstanowy działanie niezależne od poprzednich transakcji Podstawowy mechanizm współdzielenia plików w Uniksie Prosty protokół RPC oparty zazwyczaj o UDP najczęściej port 2049, lub wykorzystanie portmappera Korzysta z innych usług RPC ( montowanie plików, blokady, wznowienia etc.) CIFS Common Internet File System Nad TCP/IP SMB Server Message Block NetBEUI, i NetBT nad TCP/IP Samba Klient SMB dla Uniksa
FTP Tryby aktywny (zwykły) i pasywny ( połączenia TCP) Porty 21 i 20 Linia kontroli i komend (port 21) Linia przesyłu danych (port 20) Tryb pasv Po tej komendzie serwer odpowiada OK i numer portu transferu danych Kanał danych otwiera klient Klient używa portu źródłowego o 1 większy niż do linii komend i przeznaczenia otrzymanego od serwera w linii komend Trudności przy translacji adresów np. NAT Tryb aktywny Kanał danych otwiera serwer z portu 20 do portu 1 większy od portu źródłowego klienta linii komend ( wcześniej rezerwacja portu przez klienta i przekazanie go poleceniem FTP PORT... ) Użytkownicy anonimowi Anonimowy dostęp do serwerów ftp Obecnie często skorelowany z serwerami www
Poczta elektroniczna - e-mail Struktura usług: MTA Mail Transfer Agent Przyjmuje pocztę od zewnętrznych hostów lub ją tam wysyła MDA Mail Delivery Agent Umieszcza pocztę we właściwej skrzynce na loklanym hoście MUA Mail User Agent Agent użytkownika poczty program pocztowy umożliwiający czytanie i redagowanie poczty Wysyłanie poczty, działanie systemu Protokoły SMTP Simple Mail Trasfer Protocol System przechowaj i przekaż dalej (relay) TCP port 25 MIME Multimedia Internet Mail Extensions Rozszerzenie podstwowego formatu o: zestawy znaków inny niż ASCII,dane nietekstowe, różne czcionki, wiadomości różnych typów łącznie S/MIME obsługa szyfrowania i podpisów cyfrowych ESMTP extendend SMTP - komendy Serwery SMTP : sendmail, smail, Qmail, Microsoft Exchange, Lotus Notes POP Post Office Protocol POP 3 TCP 110 Protokół typu klient serwer do pobierania poczty z sewerów Transfer haseł APOP, POP przez SSL ( secure POP)
Poczta elektroniczna (2) Protokoły cd. IMAP Internet Message Access Protocol TCP port 143 Znacznie więcej możliwości niż POP Wiadomości przechowywane na serwerach Przechowywanie poczty na serwerach /user/spool/mail/ Katalogi domowe programów lokalnych pine, elm, mail etc. Dostęp do skrzynek SPAM POP-3, komendy IMAP Interfejs WWW Poczta niechciana Wirusy, informacje handlowe i pseudohandlowe, łańcuszki św. Antoniego etc. Relay, open relay Przekazywanie poczty pomiedzy serwerami System news ( Usenet) Protokół NNTP Network News Transfer Protocol Serwery i klienci, grupy dyskusyjne
Zarządzanie intersiecią SNMP Simple Network Managment Protocol Monitoring i konfiguracja urządzeń Serwery pułapki ( trap) Monitory Performance Monitor (MS) Network Monitor ( MS) Protokoły routingu Pakiety ICMP Protokoły startowe ( DHCP etc) NTP Network Time Protocol UDP port 123
Sieć WWW World Wide Web Protokół http Historia od 1993 HTTP Hyper Text Transport Protocol URL Uniform Resource Locator uniwersalne określanie zasobów (połączeń) Struktura hypertekstu Przeglądarki ( browser) Klienci protokołu http też ftp, gophera, NNTP (news), SMTP Współpraca z lokalnymi programami ( Adobe Reader, MS Office etc.) Obsługa multimedialna Pliki cookies ( ciasteczka) Serwery MS IIS, Apache Demony httpd, serwery proxy, przyśpieszające i typu cache (np. squid) Połączenia TCP bezstanowe, port 80
WWW cd. Protokoły wymiany buforów cache ICP Internet Cache Protocol CARP Cache Array Routing Protocol WCCP Web Cache Coordination Protocol Produkt Cisco Dla routerów przechwytujących cały ruch http ( do portów 80) Rozszerzenia WWW Java script VBscript Java CGI Common Gateway Interface ASP Active Server Pages ActiveX Poufność i autentykacja SSL, https, Certyfikaty serwerów
WWW cd. Wyszukiwanie informacji Zbieranie danych Indeksowanie i katalogowanie Uaktualnianie Udostępnianie Technologie push Technologie RealAudio i RealVideo RTP przez UDP Zagadnienienia socjalne i biznesowe Reklamy Bannery Serwery bannerów i ogłoszeń Okna samootwierające się ( pop-up)