PROTOKOŁY TRANSPORTU PORTY – krótki przegląd
Transkrypt
PROTOKOŁY TRANSPORTU PORTY – krótki przegląd
PROTOKOŁY TRANSPORTU PORTY – krótki przegl d 1 1. Standardowe protokoły internetowe 1.0. TCP – Transmission Control Protocol Aplikacje, dla których istotne jest, wykorzystuj eby dane niezawodnie dotarły do celu, protokół TCP. Zapewnia on prawidłowe przesyłanie danych we wła ciwej kolejno ci. Nie zast puje on protokołu IP, lecz wykorzystuje jego wła ciwo ci do nadawania i odbioru. TCP jest niezawodnym protokołem transmisyjnym, zorientowanym poł czeniowo. Komputer po upływie okre lonego 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. Ka dy 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 rozpocz ciem wła ciwej transmisji danych u ytecznych pewn ilo informacji kontrolnych, nazywanych handshake. Handshake wykorzystywany w TCP to 3-Way-Handshake, poniewa w jego trakcie wymieniane s trzy bloki informacji. Nawi zywanie poł czenia rozpoczyna si od tego, e oba komputery ustalaj warto pocz tkow sekwencji numerycznej – Initial Sequence Number (ISN). Oba systemy TCP wymieniaj mi dzy sob i potwierdzaj te warto ci. 1.0.0. 3-Way-Handshake Nawi zywanie poł czenia za pomoc 3-Way-Handshake mo na przedstawi w postaci diagramu. Za pomoc odpowiedniego polecenia poł czenie przechodzi w tryb Listen, w którym mo na nawi za kontakt z innym systemem TCP. http://sieci-komputerowe.w.interia.pl [email protected] 2 Je eli system znajduje si w trybie Listen, czeka na nadej cie znaku SYN, aby odpowiedzie kolejnym znakiem SYN, a nast pnie przej w tryb SYN Received. Je eli 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. Je eli 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 – mo e si rozpocz transmisja danych mi dzy obydwoma komputerami. Po przesłaniu wszystkich danych komputery bior ce udział w komunikacji kontynuuj procedur 3-Way-Handshake. W celu zako czenia poł czenia wymieniane s segmenty z bitem No more data from sender. 2.0. UDP – User Datagram Protocol Protokół UDP zapewnia protokołom wy szego rz du zdefiniowan usług transmisji pakietów danych, zorientowanej transakcyjnie. mechanizmami transmisji danych i opiera si Dysponuje minimalnymi bezpo rednio na protokole IP. W przeciwie stwie do TCP nie gwarantuje kompleksowej kontroli skuteczno ci transmisji, a zatem nie ma pewno ci dostarczenia pakietu danych do odbiorcy, nie da si rozpozna duplikatów, ani nie mo na zapewni przekazu pakietów we wła ciwej kolejno ci. Mimo to jest wiele istotnych powodów stosowania UDP jako protokołu transportowego. Gdy trzeba przesła niewiele danych, nakłady administracyjne na nawi zanie poł czenia i zapewnienie prawidłowej transmisji mog by wi ksze od nakładów niezb dnych do ponownej transmisji wszystkich danych. 2. Protokoły, porty i gniazda Gdyby nie było portów, komunikacja za po rednictwem standardowych protokołów internetowych TCP i UDP byłaby niemo liwa. To dzi ki portom wiele aplikacji mo e jednocze nie wymienia dane, wykorzystuj c jedno ł cze internetowe. http://sieci-komputerowe.w.interia.pl [email protected] 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ła ciwej aplikacji. Podczas transportu informacji przez warstwy sieci potrzebny jest mechanizm, który najpierw gwarantuje przekazanie danych do wła ciwego 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 nadchodz ce 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 odno nego protokołu w warstwie transportowej; przykładowo 6 to TCP, 17 to UDP. Protokół transportowy musi przekaza otrzymane dane do wła ciwego procesu aplikacji. Aplikacje identyfikowane s na podstawie numerów portów o długo ci 16 bitów, do których dane kierowane s po nadej ciu do komputera docelowego. W pierwszym słowie ka dego nagłówka TCP czy UDP zapisany jest te numer portu ródłowego i numer portu docelowego. Je eli aplikacja ma by dost pna pod okre lonym numerem portu, musi przekaza t informacj do stosu protokółu TCP/IP. 2.0. Gniazda Kombinacj adresu IP i numeru portu okre la si umo liwia jednoznaczn identyfikacj jako gniazdo. To poł czenie poszczególnych procesów sieciowych w ramach całego Internetu. Zapis ma nast puj c posta : adres IP:port, np. 62.96.227.70:80. Dwa gniazda definiuj poł czenie: jedno okre la 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. http://sieci-komputerowe.w.interia.pl [email protected] 4 3. Porty – krótki przegl d 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. Oczywi cie, wersje Windows od 2000 s zgodne w dół, a wi c obie procedury mog funkcjonowa równolegle. • Port 137 Obsługuje tzw. NetBIOS Name Service. Za jego pomoc Windows przyporz dkowuje wzajemnie – podobnie jak w DNS – nazwy komputerów i adresy IP. W okre lonych wypadkach mo e to powodowa nast puj c sytuacj – je eli u ytkownik surfuje na windowsowym serwerze WWW, ten ostatni wysyła zapytanie do portu 137 komputera u ytkownika. 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 nast puje próba odczytu przez NetBIOS, a dopiero w razie niepowodzenia wykorzystywany jest odczyt przez DNS. Tego rodzaju ruch powinien by generalnie zabroniony, zarówno wchodz cy, jak i wychodz cy. Je eli dwie sieci windowsowe maj wymienia dane przez Internet, generalnie nale y 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, najcz ciej w formie rozgłaszania. Na przykład usługa Windows computerbrowser wykorzystuje informacje NetBIOS do sporz dzenia aktualnej listy komputerów w sieci Windows, wy wietlanej w oknie Otoczenie sieciowe. Najwi ksze niebezpiecze stwo zwi zane z usług datagram service polega na tym, e haker mo e przekona Windows za pomoc sfałszowanych pakietów, i komputer nale y do lokalnej sieci, a wi c mo e w ten sposób obej jego ró nice zabezpiecze odnosz cych si do komputerów lokalnych i internetowych. Równie i tu obowi zuje zasada, e port ten nale y zamkn http://sieci-komputerowe.w.interia.pl w obu kierunkach [email protected] 5 • Port 139 Przez t usług NetBIOS Session Service odbywa si wła ciwa wymiana danych w sieciach Windows. Je eli port ten jest otwarty, haker mo e si poł czy z komputerem i próbowa zhakowa udost pnianie plików i drukarek. Najcz ciej wykorzystywana metoda to atak siłowy, polegaj cy na wypróbowaniu jak najwi kszej liczby prawdopodobnych haseł. Otwarty port 139 mo e powodowa jeszcze inne problemy. Usługa Windows Messenger nasłuchuje tu w oczekiwaniu na wiadomo ci, przesyłane za pomoc net send, co cz sto jest wykorzystywane do spamowania. W takim wypadku u ytkownik nie otrzymuje e-mailu; od razu otwiera si okno z wiadomo ci nadesłan przez spamera. Dlatego port ten powinien by zamkni ty w obu kierunkach. • Sie Microsoft – port 135 Nawet je li port 139 jest zamkni ty, nie chroni nas to do ko ca 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 nadchodz ce zapytania RPC. Usługa ta oferuje m.in. poł czenie z Messengerem, a wi c net send mo e wykorzysta t drog jako alternatyw , gdy normalny dost p przez port 139 nie jest mo liwy. S ju narz dzia do rozsyłania spamu, które wykorzystuj t metod . • Port 445 W Windows 2000 Microsoft rozszerzył protokół SMB o mo liwo wykonywania przez TCP/IP, z pomini ciem okr nej drogi „NetBIOS over TCP/IP”. Windows u ywa w tym celu wył cznie portu 445 (microsoft-ds). W otoczeniu składaj cym si wył cznie z Windows 2000, XP i .NET Server 2003 mo na go wył czy , odznaczaj c NetBIOS over TCP/IP w opcjach karty sieciowej. Na skutek tego odczytywanie nazw w sieci LAN b dzie 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 b dzie zarz dzał równie lokalnymi komputerami (cho by Windows 2000 jako serwer DHCP i DNS), lub na ka dym komputerze trzeba zało y list hostów. Dla portu 445 obowi zuje zasada, e ruch SMB dozwolony jest tylko wewn trz sieci LAN. http://sieci-komputerowe.w.interia.pl [email protected] 1 4. Literatura 1.0. Komar, B. (2002). TCP/IP dla ka dego. Gliwice: Helion. 2.0. „PC World Komputer PRO”. Nr 2/2003. 1.1. „PC World Komputer PRO”. Nr 3/2003. http://sieci-komputerowe.w.interia.pl [email protected]