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]