Tag Archives: Architektura TCP/IP

Architektura TCP/IP

Klejem, który trzyma w całości Internet, jest protokół TCP/IP. TCP/IP jest w zasadzie zestawem protokołów. Czterowarstwowy model protokołu TCP/IP został opracowany długo wcześniej niż siedmiowarstwowy model OSI, ale wykazują one pewne podobieństwa.  Jeśli nawiązane jest połączenie w sieci TCP/IP, to każdy protokół „rozmawia ze swoim partnerem” na odległym hoscie za pośrednictwem gniazd (sockets).

Gniazdo jest procedurą, która tworzy wirtualne połączenie między hostami. Każde gniazdo ma swój adres (socket address), który składa się z numeru portu i adresu IP lokalnego hosta. Rozróżnia się trzy typy gniazd: IP, TCP i UDP. Jeśli hosty nawiążą połączenie poprzez IP, to otwiera się między nimi gniazdo i wysłane zostaje wywołanie, zawierające unikatowy adres IP odległego hosta oraz numer portu żądanej usługi.

Port jest po prostu kanałem wykorzystywanym przez protokoły do komunikacji ze specyficzną usługą. Kiedy podejmujemy próbę połączenia z odległym hostem, nasze wywołanie będzie zawierało unikatowy adres IP, wykorzystywany typ protokołu (IP, TCP lub UDP) oraz port, którego chcemy użyć.

Na przykład:

jeśli próbujemy wywołać Telnet na odległej stacji, nasze wezwanie będzie się składać z adresu IP odległego komputera, typ wykorzystywanego protokołu (tutaj: TCP) oraz portu odległej stacji, na którym spodziewany jest Telnet. Jeśli chociaż jeden z tych parametrów jest błędny, połączenie nie zostanie zrealizowane.

We wczesnym okresie TCP/IP, ze względu na wygodę i standaryzację, wiele usług było skojarzone ze specyficznymi portami.

Na przykład:

usługi SMTP oczekiwały wezwania portu 25, a HTTP wezwania portu 80. W systemach UNIX porty są definiowane w pliku /etc/services lub w bazie danych Network Information Service. W systemach Windows NT, porty są określone w <winroot>system32driversetcservices (<winroot> oznacza macierzysty katalog Windows NT np.: winnt40).

Windows NT jest wyposażony w doskonały wewnętrzny układ ochrony, który zawiera weryfikację rejestracji, ochronę obiektów, prawa użytkownika i możliwość rozległego monitoringu. Zestaw tych elementów daje gwarancję wysokiego poziomu bezpieczeństwa systemu. Z chwilą podłączenia sieci do Internetu dokładamy jednak do systemu wszystkie wewnętrzne słabości protokołu TCP/IP.

Na szczęście „wyjęty prosto z pudełka” Windows NT jest bardziej bezpieczną platformą internetową od większości propozycji opartych na systemie UNIX. Przewaga Windows NT wynika z braku systemowego wsparcia dla najbardziej niebezpiecznych usług internetowych, takich jak Finger i Telnet. Ważnym czynnikiem jest architektura systemu, której twórcy traktowali bezpieczeństwo jako najważniejsze założenie projektu.

Dobrym przykładem różnic, jest przechowywanie informacji o użytkownikach w silnie zabezpieczonej bazie danych Windows NT (SAM), podczas gdy w systemie UNIX są to nieskomplikowane pliki z tekstami haseł. Jak nietrudno się domyślić, warunkiem wstępnym konfiguracji bezpiecznej współpracy Windows NT z TCP/IP jest zainstalowanie i ustawienie samego protokołu. Jeśli TCP/IP już działa na komputerze, to następnym krokiem jest zapewnienie bezpieczeństwa implementacji. Nie można optymalnie skonfigurować ochrony systemu bez znajomości narzędzi i rozwiązań wbudowanych w Windows NT, jak również, dostarczanych razem z nim, dodatkowych programów narzędziowych TCP/IP. Usługi typu Telnet mogą służyć jako doskonałe sprawdziany do wykrywania luk w układzie zabezpieczeń.

Windows NT dostarcza prawie wszystkich najbardziej popularnych narzędzi. Tym niemniej, zgodnie ze wcześniejszymi uwagami, nie świadczy najbardziej niebezpiecznych usług, będących powodem wielu włamań do systemów obronnych. Wszystkie dostarczane z Windows NT usługi internetowe są wspólnie nazywane serwerem informacyjnym Internetu – Internet Information Server, który zawiera między innymi serwery FTP, Gopher i HTTP (Web).