PROTOKOŁY TRANSPORTU PORTY krótki przegld
1 1. Standardowe protokoły internetowe 1.0. TCP Transmission Control Protocol Aplikacje, dla których istotne jest, eby dane niezawodnie dotarły do celu, wykorzystuj protokół TCP. Zapewnia on prawidłowe przesyłanie danych we właciwej kolejnoci. Nie zastpuje on protokołu IP, lecz wykorzystuje jego właciwoci do nadawania i odbioru. TCP jest niezawodnym protokołem transmisyjnym, zorientowanym połczeniowo. Komputer po upływie okrelonego czasu wysyła dane ponownie a do chwili, gdy otrzyma od odbiorcy potwierdzenie, e zostały poprawnie odebrane. Jednostka czasu, któr posługuj si we wzajemnej komunikacji moduły TCP, nosi nazw segmentu. Kady segment zawiera przy tym automatycznie sum kontroln, która podlega weryfikacji po stronie odbiorcy. W ten sposób sprawdza si, czy dane zostały odebrane poprawnie. TCP jest zorientowany na połczenia. Protokół tworzy zatem połczenie logiczne komputer-komputer. W tym celu wysyła przed rozpoczciem właciwej transmisji danych uytecznych pewn ilo informacji kontrolnych, nazywanych handshake. Handshake wykorzystywany w TCP to 3-Way-Handshake, poniewa w jego trakcie wymieniane s trzy bloki informacji. Nawizywanie połczenia rozpoczyna si od tego, e oba komputery ustalaj warto pocztkow sekwencji numerycznej Initial Sequence Number (ISN). Oba systemy TCP wymieniaj midzy sob i potwierdzaj te wartoci. 1.0.0. 3-Way-Handshake Nawizywanie połczenia za pomoc 3-Way-Handshake mona przedstawi w postaci diagramu. Za pomoc odpowiedniego polecenia połczenie przechodzi w tryb Listen, w którym mona nawiza kontakt z innym systemem TCP.
2 Jeeli system znajduje si w trybie Listen, czeka na nadejcie znaku SYN, aby odpowiedzie kolejnym znakiem SYN, a nastpnie przej w tryb SYN Received. Jeeli znak SYN został wysłany, połczenie przechodzi w tryb SYN Send. System TCP pozostaje w tym trybie a do otrzymania od drugiego systemu znaku SYN w odpowiedzi. Jeeli nadejdzie pozytywna odpowied na ten znak SYN, system TCP przechodzi w tryb SYN Received. Po pozytywnym potwierdzeniu znaku SYN (ACK w odpowiedzi na SYN) nadajnik i odbiornik przechodz w tryb Established moe si rozpocz transmisja danych midzy obydwoma komputerami. Po przesłaniu wszystkich danych komputery biorce udział w komunikacji kontynuuj procedur 3-Way-Handshake. W celu zakoczenia połczenia wymieniane s segmenty z bitem No more data from sender. 2.0. UDP User Datagram Protocol Protokół UDP zapewnia protokołom wyszego rzdu zdefiniowan usług transmisji pakietów danych, zorientowanej transakcyjnie. Dysponuje minimalnymi mechanizmami transmisji danych i opiera si bezporednio na protokole IP. W przeciwiestwie do TCP nie gwarantuje kompleksowej kontroli skutecznoci transmisji, a zatem nie ma pewnoci dostarczenia pakietu danych do odbiorcy, nie da si rozpozna duplikatów, ani nie mona zapewni przekazu pakietów we właciwej kolejnoci. Mimo to jest wiele istotnych powodów stosowania UDP jako protokołu transportowego. Gdy trzeba przesła niewiele danych, nakłady administracyjne na nawizanie połczenia i zapewnienie prawidłowej transmisji mog by wiksze od nakładów niezbdnych do ponownej transmisji wszystkich danych. 2. Protokoły, porty i gniazda Gdyby nie było portów, komunikacja za porednictwem standardowych protokołów internetowych TCP i UDP byłaby niemoliwa. To dziki portom wiele aplikacji moe jednoczenie wymienia dane, wykorzystujc jedno łcze internetowe.
3 1.0. Numery portów Numery portów stanowi jeden z podstawowych elementów stosowania protokołów TCP i UDP. Gdy dane docieraj do komputera docelowego, musz jeszcze zosta dostarczone do właciwej aplikacji. Podczas transportu informacji przez warstwy sieci potrzebny jest mechanizm, który najpierw gwarantuje przekazanie danych do właciwego w danym wypadku protokołu. Łczenie danych z wielu ródeł w jeden strumie danych nosi nazw multipleksowania. Protokół internetowy (IP) musi zatem podda dane nadchodzce z sieci procesowi demultipleksowania. W tym celu IP oznacza protokoły transportowe numerami protokołów. Same protokoły transportowe wykorzystuj z kolei numery porów do identyfikacji aplikacji. Numer protokołu IP zawarty jest w jednym bajcie w trzecim słowie nagłówka datagramu. Warto ta determinuje przekazanie do odnonego protokołu w warstwie transportowej; przykładowo 6 to TCP, 17 to UDP. Protokół transportowy musi przekaza otrzymane dane do właciwego procesu aplikacji. Aplikacje identyfikowane s na podstawie numerów portów o długoci 16 bitów, do których dane kierowane s po nadejciu do komputera docelowego. W pierwszym słowie kadego nagłówka TCP czy UDP zapisany jest te numer portu ródłowego i numer portu docelowego. Jeeli aplikacja ma by dostpna pod okrelonym numerem portu, musi przekaza t informacj do stosu protokółu TCP/IP. 2.0. Gniazda Kombinacj adresu IP i numeru portu okrela si jako gniazdo. To połczenie umoliwia jednoznaczn identyfikacj poszczególnych procesów sieciowych w ramach całego Internetu. Zapis ma nastpujc posta: adres IP:port, np. 62.96.227.70:80. Dwa gniazda definiuj połczenie: jedno okrela komputer ródłowy, drugie docelowy. TCP i UDP mog nadawa te same numery portów. Dopiero połczenie protokołu i numeru portu jest jednoznaczne. Numer portu 53 w TCP nie jest identyczny z numerem portu 53 w UDP.
4 3. Porty krótki przegld Microsoft Windows wykorzystuje kilka portów do realizacji swoich funkcji sieciowych. W starszych wersjach, do Windows Me/NT, były to porty 137, 138 i 139. Od Windows 2000 Server message lock wysyłane s przez port 445. Oczywicie, wersje Windows od 2000 s zgodne w dół, a wic obie procedury mog funkcjonowa równolegle. Port 137 Obsługuje tzw. NetBIOS Name Service. Za jego pomoc Windows przyporzdkowuje wzajemnie podobnie jak w DNS nazwy komputerów i adresy IP. W okrelonych wypadkach moe to powodowa nastpujc sytuacj jeeli uytkownik surfuje na windowsowym serwerze WWW, ten ostatni wysyła zapytanie do portu 137 komputera uytkownika. Dzieje si tak, poniewa serwer windowsowy wykorzystuje funkcj winsock gethostbyaddr() do odczytania nazwy odległego komputera. Funkcja ta jest jednak tak zaimplementowana w Windows, e najpierw nastpuje próba odczytu przez NetBIOS, a dopiero w razie niepowodzenia wykorzystywany jest odczyt przez DNS. Tego rodzaju ruch powinien by generalnie zabroniony, zarówno wchodzcy, jak i wychodzcy. Jeeli dwie sieci windowsowe maj wymienia dane przez Internet, generalnie naley zastosowa VPN. Port 138 Kryje si za nim usługa NetBIOS datagram service. Za jej pomoc Windows rozsyła głównie informacje o sieci Windows, najczciej w formie rozgłaszania. Na przykład usługa Windows computerbrowser wykorzystuje informacje NetBIOS do sporzdzenia aktualnej listy komputerów w sieci Windows, wywietlanej w oknie Otoczenie sieciowe. Najwiksze niebezpieczestwo zwizane z usług datagram service polega na tym, e haker moe przekona Windows za pomoc sfałszowanych pakietów, i jego komputer naley do lokalnej sieci, a wic moe w ten sposób obej rónice zabezpiecze odnoszcych si do komputerów lokalnych i internetowych. Równie i tu obowizuje zasada, e port ten naley zamkn w obu kierunkach
5 Port 139 Przez t usług NetBIOS Session Service odbywa si właciwa wymiana danych w sieciach Windows. Jeeli port ten jest otwarty, haker moe si połczy z komputerem i próbowa zhakowa udostpnianie plików i drukarek. Najczciej wykorzystywana metoda to atak siłowy, polegajcy na wypróbowaniu jak najwikszej liczby prawdopodobnych haseł. Otwarty port 139 moe powodowa jeszcze inne problemy. Usługa Windows Messenger nasłuchuje tu w oczekiwaniu na wiadomoci, przesyłane za pomoc net send, co czsto jest wykorzystywane do spamowania. W takim wypadku uytkownik nie otrzymuje e-mailu; od razu otwiera si okno z wiadomoci nadesłan przez spamera. Dlatego port ten powinien by zamknity w obu kierunkach. Sie Microsoft port 135 Nawet jeli port 139 jest zamknity, nie chroni nas to do koca przed spamem nadsyłanym z wykorzystaniem Messengera. Polecenie net send wykorzystuje nieudokumentowan funkcje usługi Microsoft RPC, która w porcie 135 (epmap, endpoint mapper) nasłuchuje w oczekiwaniu na nadchodzce zapytania RPC. Usługa ta oferuje m.in. połczenie z Messengerem, a wic net send moe wykorzysta t drog jako alternatyw, gdy normalny dostp przez port 139 nie jest moliwy. S ju narzdzia do rozsyłania spamu, które wykorzystuj t metod. Port 445 W Windows 2000 Microsoft rozszerzył protokół SMB o moliwo wykonywania przez TCP/IP, z pominiciem okrnej drogi NetBIOS over TCP/IP. Windows uywa w tym celu wyłcznie portu 445 (microsoft-ds). W otoczeniu składajcym si wyłcznie z Windows 2000, XP i.net Server 2003 mona go wyłczy, odznaczajc NetBIOS over TCP/IP w opcjach karty sieciowej. Na skutek tego odczytywanie nazw w sieci LAN bdzie si odbywało tylko przez DNS, ale ju nie poprzez WINS lub rozgłaszanie NetBIOS. Potrzebny jest zatem albo serwer DNS w sieci LAN, który bdzie zarzdzał równie lokalnymi komputerami (choby Windows 2000 jako serwer DHCP i DNS), lub na kadym komputerze trzeba załoy list hostów. Dla portu 445 obowizuje zasada, e ruch SMB dozwolony jest tylko wewntrz sieci LAN.
1 4. Literatura 1.0. Komar, B. (2002). TCP/IP dla kadego. Gliwice: Helion. 2.0. PC World Komputer PRO. Nr 2/2003. 1.1. PC World Komputer PRO. Nr 3/2003.