Protokoły warstwy aplikacji



Podobne dokumenty
MODEL WARSTWOWY PROTOKOŁY TCP/IP

Bazy Danych i Usługi Sieciowe

Sieci komputerowe i bazy danych

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Stos TCP/IP. Warstwa aplikacji cz.2

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Protokoły zdalnego logowania Telnet i SSH

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

UNIWERSYTET EKONOMICZNY WE WROCŁAWIU. Sprawozdanie. Analizator sieciowy WIRESHARK. Paweł Jarosz Grupa 20 IiE

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Dr Michał Tanaś(

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Model sieci OSI, protokoły sieciowe, adresy IP

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Protokoły sieciowe - TCP/IP

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Instrukcja konfiguracji funkcji skanowania

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

Laboratorium podstaw telekomunikacji

Problemy z bezpieczeństwem w sieci lokalnej

Pytanie 1 Z jakich protokołów korzysta usługa WWW? (Wybierz prawidłowe odpowiedzi)

Protokoły internetowe

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

Bezpieczny system poczty elektronicznej

Laboratorium 3.4.3: Usługi i protokoły

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

Przesyłania danych przez protokół TCP/IP

ZiMSK. Konsola, TELNET, SSH 1

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

Usługi sieciowe systemu Linux

Moduł Ethernetowy. instrukcja obsługi. Spis treści

Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.

Zdalne logowanie do serwerów

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Konfiguracja poczty IMO w programach Microsoft Outlook oraz Mozilla Thunderbird

Lab5 - Badanie protokołów pocztowych

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Programowanie sieciowe

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

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II

Zadanie 6. Ile par przewodów jest przeznaczonych w standardzie 100Base-TX do transmisji danych w obu kierunkach?

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Obsługa poczty elektronicznej w domenie emeritus.ue.poznan.pl

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Warstwy i funkcje modelu ISO/OSI

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

SSL (Secure Socket Layer)

Sieci komputerowe i bazy danych

4. Podstawowa konfiguracja

Znajdywanie hostów w sieci

BEZPIECZEŃSTWO W SIECIACH

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

Instalacja i konfiguracja serwera SSH.

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Sieci komputerowe - Protokoły DHCP i DNS

Adres IP

pasja-informatyki.pl

Pomoc dla r.

Wirtualne laboratorium - Packet Tracer

Zadania z sieci Rozwiązanie

Studium przypadku Case Study CCNA2-ROUTING. Warianty projektów

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Internetowy serwis Era mail Aplikacja sieci Web

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Wireshark analizator ruchu sieciowego

Metody zabezpieczania transmisji w sieci Ethernet

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 14 Protokoły sieciowe

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Moduł Ethernetowy EL-ETH. Instrukcja obsługi

ZAKŁADANIE POCZTY ELEKTRONICZNEJ - na przykładzie serwisu

Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

FTP przesył plików w sieci

Sprawozdanie nr 4. Ewa Wojtanowska

TELEFONIA INTERNETOWA

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową.

SIECI KOMPUTEROWE - BIOTECHNOLOGIA

1. W protokole http w ogólnym przypadku elementy odpowiedzi mają: a) Postać tekstu b) Postać HTML c) Zarówno a i b 2. W usłudze DNS odpowiedź

KONFIGURACJA SIECIOWA SYSTEMU WINDOWS

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

Protokół sieciowy Protokół

ARP Address Resolution Protocol (RFC 826)

Laboratorium Sieci Komputerowych - 2

E.13.1 Projektowanie i wykonywanie lokalnej sieci komputerowej / Piotr Malak, Michał Szymczak. Warszawa, Spis treści

Programowanie Sieciowe 1

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

z paska narzędzi lub z polecenia Capture

Którą normę stosuje się dla okablowania strukturalnego w sieciach komputerowych?

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

Protokół SSH. Patryk Czarnik

Zakładanie konta

Poradnik korzystania z usługi FTP

Technologie sieciowe i użytkowanie sieci

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1

Protokół wymiany sentencji, wersja 1

Konfiguracja programu pocztowego Outlook Express i toŝsamości.

Metody ataków sieciowych

Transkrypt:

UNIWERSYTET KAZIMIERZA WIELKIEGO Wydział Matematyki Fizyki i Techniki Zakład Teleinformatyki Laboratorium Sieci Komputerowych 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie z podstawowymi protokołami warstwy aplikacji: telnet, ssh, DNS, POP3, FTP, http. Analiza wiadomości generowanych podczas konwersacji klient-serwer posłuży do oceny bezpieczeństwa wymienionych protokołów. 2. Podstawy teoretyczne Z punktu widzenia użytkownika, sieć komputerowa umożliwia prawidłowe funkcjonowanie aplikacji sieciowych. Każda z aplikacji korzysta z protokołu wymiany danych z inną aplikacją sieciową, zlokalizowaną po stronie zdalnej. Protokół określa sposób wymiany informacji między procesami w odległych hostach, w szczególności: składnie wiadomości, scenariusze wymiany wiadomości, sposób kodowania, szyfrowania (jeśli wymagane). Jeśli aplikacja nie korzysta z protokołu transportowego TCP, konieczna jest także realizacja sterowania przepływem oraz zapewnienie niezawodności transmisji. Obsługa protokołów warstwy aplikacji zlokalizowana jest w aplikacjach hostów czyli w terminalach dołączonych do sieci. Dane protokołów aplikacji dzielone są na segmenty przez protokoły transportowe, czyli TCP lub UDP. Segmenty kapsułkowane są w pakiety IP, te natomiast kapsułkowane są w ramki Ethernet i przesyłane przez medium w postaci szeregowej do urządzenia sieciowego, np. przełącznika. Protokoły aplikacji można podzielić na dwie grupy: - protokoły standardowe, dobrze znane i zestandaryzowane w RFC, - protokoły autorskie, zwykle implementowane przez jednego producenta, który nie publikuje specyfikacji protokołu. ćwiczenie: 13 Protokoły warstwy aplikacji prowadzący: mgr inż. Piotr Żmudziński zmudzinski@ukw.edu.pl Do pierwszej z wymienionych grup należą: Telnet, FTP, POP3 itp., drugą grupę reprezentują protokoły wykorzystywane przez aplikacje np. Skype, GG itp. 2.1. Protokół FTP (File Transfer Protocol) Protokół FTP przeznaczony jest do transferu plików między hostami. FTP jest dość nietypowym protokołem, ponieważ używa dwóch dwukierunkowych połączeń TCP do poprawnej realizacji zadania. Połączenie sterujące (control) zawiązywane jest z serwerem ftp na porcie 21, natomiast połączenie do transmisji danych użytkownika (data) nawiązywane jest z portem 20. Istnieją dwa tryby pracy FTP: aktywny i pasywny. Tryb aktywny jest pierwotnym trybem pracy, jednak może powodować pewne niedogodności przy stosowaniu zapór sieciowych. Z tego powodu powstał tryb pasywny, obsługiwany najczęściej przez przeglądarki internetowe. Bydgoszcz 2011r. 2.1.1. Aktywny tryb FTP W trybie aktywnym klient losuje numer lokalnego, wolnego portu N (z puli tzw. portów wysokich, czyli powyżej 1024) i nawiązuję połączenie z portem 21 serwera P.Żmudziński, 12.2010r., ver 3.0 1

(jeśli nie podano inaczej). Następnie klient otwiera lokalny port o numerze N+1 i oczekuje połączenia przychodzącego z portu 20 serwera FTP, Rys.1. Warstwa aplikacji Telnet SMTP POP3 SNMP TFTP FTP DNS Warstwa transportu Nr portu 23 25 21 TCP 110 161 UDP 69 53 Rys. 1 Połączenie z serwerem FTP w trybie aktywny Warstwa sieci ID protokołu 6 IP 17 1 ICMP W przypadku stosowania firewall a po stronie klienta, należy zezwolić na nawiązywanie połączenia przez zdalny host z portu 20 na host lokalny, dowolny port. 2.1.2. Pasywny tryb FTP W odróżnieniu od poprzedniego, w trybie pasywnym oba połączenia są otwierane przez klienta. Pierwsze połączenie inicjowanie jest między N portem wysokim (zwanym także nieuprzywilejowanym) a portem 21 serwera. Następnie klient wysyła polecenie PORT do serwera, który otwiera port wysoki i przesyła jego numer X do klienta. W kolejnym kroku, klient nawiązuje połączenie między lokalnym portem N+1 i zdalnym portem Y. Warstwa łącza danych Warstwa dostępu Kod typu Adres fizyczny 0800H Sterownik karty sieciowej Karta Ethernetowa 0800H 0806H ARP Rys. 3 Protokoły w modelu ISO/OSI 2.2. Protokół telnet Protokół telnet przeznaczony jest do inicjowania zdalnej sesji terminalowej na serwerze. Usługa telnet jest jedną z najstarszych usług dostępnych w sieciach komputerowych, protokół telnet został opisany w RFC854 i RFC855. Serwery domyślnie nasłuchują na połączenie telnet na porcie 23 TCP. Ze względu na podatność na przejęcie sesji oraz sniffing, zalecane jest korzystanie z ssh. Rys. 2 Połączenie z serwerem FTP w trybie pasywnym 2.3. Protokół ssh SSH (Secure Shell Login) jest bezpiecznym protokołem terminalu zdalnego udostępniającym usługi szyfrowanego połączenia. Dobrze znanym portem przypisanym do usługi SSH jest 22 protokołu TCP. Dostępne są dwie wersje protokołu P.Żmudziński, 12.2010r., ver 3.0 2

ssh1 i ssh2 oraz dwie rodziny protokołu: komercyjna wersja SSH oraz niekomercyjna OpenSSH. Dostępne są następujące algorytmy szyfrowania: DES, 3DES, BLOWFISH, IDEA, ARCFOUR, TWOFISH. Podstawowym algorytmem generowania asymetrycznych kluczy uwierzytelniających jest DSS lub RSA. OpenSSH korzysta jedynie z otwartych algorytmów, zaznaczonych w tekście kursywą. Popularnym klientem ssh pod Windows jest putty. 2.4. Protokół POP3 POP3 (Post Office Protocol ver.3) jest protokołem pocztowym pozwalającym na pobieranie poczty z serwera. Protokół w wersji 3, która nie jest zgodna wstecz, został zestandaryzowany w dokumentach RFC1939, RFC 1957 i nowszych. 2.5. Protokół DNS Protokół DNS zapewnia komunikację z serwerami DNS, które świadczą usługę zamieniania (rozwiązywania) nazw domenowych hostów na adres IP, niezbędny do rozpoczęcia komunikacji ze zdalnym hostem. Obecnie wykorzystywana wersja protokołu DNS została opublikowana w RFC 1034 i RFC 1035 oraz RFC 1918. Zapytania i odpowiedzi DNS są najczęściej kapsułkowane w protokole UDP. Każdy komunikat musi się zawrzeć w jednym pakiecie UDP (standardowo 512 oktetów), format komunikatu DNS został zdefiniowany w RFC 1033. Sekcja nagłówka występuje zawsze. W sekcji zapytania zawsze znajduje się jedno zapytanie zawierające nazwę domenową, żądany typ danych i klasę (IN). Sekcja odpowiedzi zawiera rekordy zasobów stanowiące odpowiedź na pytanie. Tab. 1 Format wiadomości protokołu DNS OPCODE [4 bity] określa rodzaj zapytania wysyłanego od klienta, jest przypisywany przez serwer do odpowiedzi. Wartości: 0 QUERY standardowe zapytanie, 1 IQUERY zapytanie zwrotne, 2 STATUS pytanie o stan serwera, 3-15 zarezerwowane do przyszłego użytku AA [1 bit] (Authoritative Answer) oznacza, że odpowiedź jest autorytatywna. TC [1 bit] (TrunCation) oznacza, że odpowiedź nie zmieściła się w jednym pakiecie UDP i została obcięta. RD [1 bit] (Recursion Desired) oznacza, że klient żąda rekurencji pole to jest kopiowane do odpowiedzi RA [1 bit] (Recursion Available) bit oznaczający, że serwer obsługuje zapytania rekurencyjne Z [3 bity] zarezerwowane do przyszłego wykorzystania. Pole powinno być wyzerowane. RCODE (Response CODE) kod odpowiedzi. Przyjmuje wartości: 0 brak błędu 1 błąd formatu serwer nie potrafił zinterpretować zapytania 2 błąd serwera wewnętrzny błąd serwera 3 błąd nazwy nazwa domenowa podana w zapytaniu nie istnieje 4 nie zaimplementowano serwer nie obsługuje typu otrzymanego zapytania 5 odrzucono serwer odmawia wykonania określonej operacji, np. transferu strefy 6-15 zarezerwowane do przyszłego użytku QDCOUNT [16 bitów] określa liczbę wpisów w sekcji zapytania ANCOUNT [16 bitów] określa liczbę rekordów zasobów w sekcji odpowiedzi NSCOUNT [16 bitów] określa liczbę rekordów serwera w sekcji zwierzchności ARCOUNT [16 bitów] określa liczbę rekordów zasobów w sekcji dodatkowej W sekcji zapytanie występuje zapytanie zawierające nazwę domenową, żądany typ danych oraz klasę. Serwer zwraca odpowiedź zawierającą rekord odpowiedzi na zadane pytanie. Rekordów tych może być więcej niż jeden. Jeśli odpowiedź odsyła klienta od innych serwerów DNS, są one wymienione w sekcji zwierzchności. Poniżej wyjaśnione zostaną znaczenia poszczególnych bitów nagłówka. ID [16 bitów] (IDentifier) identyfikator tworzony przez program wysyłający zapytanie; serwer przepisuje ten identyfikator do swojej odpowiedzi, dzięki czemu możliwe jest jednoznaczne powiązanie zapytania i odpowiedzi QR [1 bit] (Query or Response) określa, czy komunikat jest zapytaniem (0) czy odpowiedzią (1) 3. Zagadnienia do przestudiowania 1. Do czego służy i jak działa protokół SMTP? 2. Do czego służy i jak działa protokół IMAP? 3. Jak działa SSL? 4. Bibliografia [1] K. Krysiak, Sieci komputerowe Kompendium, wyd. II, Helion, Gliwice 2006 [2] Vademecum teleinformatyka I / II / III, Warszawa, IDG 2002-2006 P.Żmudziński, 12.2010r., ver 3.0 3

5. Przebieg ćwiczenia Ćwiczenie 13 realizowane jest na stanowisku C i D przy wykorzystaniu stacji PC10-13, PC14-17 z zainstalowanym analizatorem sieci WireShark. Aby wykorzystać koncentrator HUB1 lub HUB2, należy przekrosować porty komputerów za pomocą portów I-VIII na prawy stojak. Rys. 4 Sieć laboratoryjna 5.1. Analiza protokołu FTP 1. Połączyć sieć zgodnie ze schematem Rys4 2. Na PC10/11/12 rozpocząć przechwytywanie ramek. 3. Uruchomić TotalCommandera i skonfigurować połączenie do serwera FTP zlokalizowanego na serwer 192.168.13.15, login/hasło: st01/imsis2008 4. Wybrać tryb aktywny odznaczony box użyj pasywnego trybu... 5. Nawiązać połączenie z serwerem FTP, przesłać niewielki plik, zerwać połączenie. 6. Przeanalizować połączenie między aplikacjami. Zwrócić uwagę na porty połączenia oraz kierunek inicjacji połączenia ( ). 7. Wybrać tryb pasywny zaznaczony box użyj trybu pasywnego... 8. Nawiązać połączenie z serwerem FTP, przesłać niewielki plik, zerwać połączenie. 9. Przeanalizować połączenie między aplikacjami. Zwrócić uwagę na porty połączenia oraz kierunek inicjacji połączenia ( ). 10. Przeanalizować procedurę logowania klienta do zdalnego serwera. Czy jest ona bezpieczna ( )? 5.2. Analiza protokołu telnet 1. Uruchomić WireShark na PC10/11/12 2. Zalogować się z linii komend za pomocą telnet z dowolnego hosta na serwer 192.168.13.15 login/pass: st01/imsis2008 3. Po zarejestrowaniu pakietów, odszukać pierwszy segment TCP połączenia a następnie wybrać Analiyze -> Follow TCP Stream 4. Przeanalizować ruch związany z logowaniem. Czy możliwe jest dzięki analizie ramek podejrzenie loginu i hasła? ( ) 5.3. Analiza protokołu ssh 1. Uruchomić WireShark na PC10/11/12 2. Zalogować się za pomocą aplikacji putty (skrót znajduje się na pulpicie) z dowolnego hosta na serwer 192.168.13.15 3. Po zarejestrowaniu pakietów, odszukać pierwszy segment TCP połączenia a następnie wybrać z menu Analyze -> Follow TCP Stream 4. Przeanalizować ruch związany z logowaniem. Czy możliwe jest dzięki analizie ramek podejrzenie loginu i hasła? ( ) Analiza protokołu POP3 1. Skonfigurować na PC4 nowe konto w Outlook Express w następujący sposób: - serwer pop3: pop3.wp.pl, serwer poczty wychodzącej SMTP: smtp.wp.pl, numer portu: 587 - użytkownik: lab-sieci - hasło: tajne-haslo - serwer poczty wychodzącej wymaga uwierzytelnienia. 2. Uruchomić WireShark na PC10/11/12. Odebrać pocztę z wcześniej skonfigurowanego konta. 4. Przeanalizować format wiadomości protokołu POP3 wykorzystywanego do odbierania poczty. Czy można odszukać ciąg znaków będący loginem oraz hasłem do obserwowanego konta? Jakie dodatkowe informacje można uzyskać analizując zawartości ramek protokołu POP3? 5. Przygotować w OE dowolny list elektroniczny (format tekstowy) i wysłać ją na inne konto pocztowe za pomocą konta wcześniej skonfigurowanego. Czy protokoły pocztowe przesyłają wiadomości w sposób zaszyfrowany? ( ) 5.4. Analiza protokołów DNS 1. Na PC11 i PC12 rozpocząć przechwytywanie ramek. 2. Skasować DNS cache >ipconfig /flushdns 3. Połączyć się ze stroną www.wp.pl za pomocą dowolnej przeglądarki 4. Przeanalizować informacje wymieniane między klientem z serwerem DNS zarejestrowane przez WireShark ( ). 5.5. Analiza protokołu http 1. Uruchomić WireShark na PC10/11/12 2. Na PC5 otworzyć stronę http://www.informatyka.ukw.edu.pl/ 3. Po zarejestrowaniu pakietów, odszukać pierwszy segment TCP połączenia a następnie wybrać Analyze -> Follow TCP Stream 4. Spostrzeżenia zamieścić w sprawozdaniu ( ). 6. Sprawozdanie P.Żmudziński, 12.2010r., ver 3.0 4

UNIWERSYTET KAZIMIERZA WIELKIEGO, WMFiT, ZT Laboratorium Sieci Komputerowych Sprawozdanie z wykonania ćwiczenia nr ćwiczenia: 13 grupa : zespół: data: ocena : Protokoły warstwy aplikacji Imię i Nazwisko członków zespołu (drukowanymi literami) 1. 2. 3. 4. 6.1 Protokół FTP Dla połączeń FTP w obu trybach zanotować numery portów połączeń, zaznaczyć liniami symbolizującymi połączenia odpowiednie porty, na liniach zaznaczyć groty symbolizujące kierunek inicjowania połączenia. Przeanalizować ramki przesyłane przez klienta i serwer FTP. Czy login i hasło są szyfrowane? FTP szyfruje / nie szyfruje hasło i login (niepotrzebne skreślić) 6.2 Protokół telnet Czy protokół telnet jest bezpieczny? TAK / NIE Czy telnet wysyła login w jednym pakiecie? TAK / NIE 6.3 Protokół ssh Czy protokół ssh jest bezpieczny? TAK / NIE P.Żmudziński, 12.2010r., ver 3.0 5

warstwa transportowa protokół porta nadawcy port odbiorcy 6.4 Protokół POP3 Czy protokół POP3 przesyła login i hasło do skrzynki pocztowej tekstem jawnym? TAK / NIE 6.5 Protokół DNS www.wp.pl ZAPYTANIE warstwa sieci protokół adres nadawcy adres odbiorcy warstwa aplikacji pole wiadomości wartość pole wiadomości wartość ID (numer transakcji) QR RD OPCODE RA TC Z QDCOUNT ANCOUNT warstwa transportowa protokół port nadawcy port odbiorcy answer (domain) answer (type) answer (class) answer (addr.) warstwa aplikacji pole wiadomości wartość pole wiadomości wartość ID (numer transakcji) QR RD OPCODE RA TC Z QDCOUNT ANCOUNT query (domain) query (type) query (class) Czy protokół DNS jest odporny na ataki? TAK / NIE 6.6 Analiza protokołu http Czy protokół http jest protokołem bezpiecznym? TAK / NIE ODPOWIEDŹ warstwa sieci protokół adres nadawcy adres odbiorcy P.Żmudziński, 12.2010r., ver 3.0 6