tcp/ip dla każdego

42
Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: [email protected] PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ IDZ DO IDZ DO ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG KATALOG KSI¥¯EK KATALOG KSI¥¯EK TWÓJ KOSZYK TWÓJ KOSZYK CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOCIACH ZAMÓW INFORMACJE O NOWOCIACH ZAMÓW CENNIK ZAMÓW CENNI K CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE SPIS TRECI SPIS TRECI DODAJ DO KOSZYKA DODAJ DO KOSZYKA KATALOG ONLINE KATALOG ONLINE TCP/IP dla ka¿dego Autor: Brian Komar T³umaczenie: Pawe³ Koronkiewicz ISBN: 83-7197-782-4 Tytu³ orygina³u: TY TCP/IP Networking in 21 Days Format: B5, stron: 654 „TCP/IP dla ka¿dego” przeka¿e Ci ca³¹ niezbêdn¹ wiedzê do administrowania sieci¹ TCP/IP. Ujmuje zarówno zagadnienia podstawowe opisuj¹c dok³adnie sam protokó³, jak i kwestie bardziej skomplikowane, w tym konfigurowanie systemu DNS czy zarz¹dzanie SNMP. Uwzglêdnione zosta³y najnowsze, normalizowane dopiero w ostatnich latach technologie, takie jak: • Internet Protocol Security (IPSec) • IPv6 • Voice Over IP • Bezprzewodowe sieci lokalne • Uwierzytelnianie RADIUS • Infrastruktura klucza publicznego (PKI) Ksi¹¿ka omawia zarówno teoretyczne podstawy funkcjonowania sieci opartych na TCP/IP, jak i praktyczne sposoby konfigurowania protoko³ów w ró¿norodnych systemach operacyjnych stosowanych we wspó³czesnych sieciach. Zgodnie z tytu³em, jest to publikacja kierowana do szerokiego grona Czytelników: pocz¹tkuj¹cych i zaawansowanych, dla administratora-praktyka i dla studenta. Temu ostatniemu z pewnoci¹ pomog¹ sprawdzaj¹ce pytania, które podsumowuj¹ ka¿dy rozdzia³ ksi¹¿ki.

Upload: wydawnictwo-helion

Post on 03-Jun-2015

957 views

Category:

Technology


0 download

DESCRIPTION

Sieci oparte na protokole TCP/IP podbiły świat. Po ogromnym sukcesie Internetu na dobre zadomowiły się w firmach (intranet), czy w amatorskich sieciach komputerowych wypierając w znacznym stopniu inne rozwiązania. Stąd ogromne zapotrzebowanie na administratorów sieci działających w oparciu o TCP/IP."TCP/IP dla każdego" przekaże Ci całą niezbędną wiedzę do administrowania siecią TCP/IP. Ujmuje zarówno zagadnienia podstawowe opisując dokładnie sam protokół, jak i kwestie bardziej skomplikowane, w tym konfigurowanie systemu DNS czy zarządzanie SNMP. Uwzględnione zostały najnowsze, normalizowane dopiero w ostatnich latach technologie, takie jak: Internet Protocol Security (IPSec) IPv6 Voice Over IP Bezprzewodowe sieci lokalne Uwierzytelnianie RADIUS Infrastruktura klucza publicznego (PKI)Książka omawia zarówno teoretyczne podstawy funkcjonowania sieci opartych na TCP/IP, jak i praktyczne sposoby konfigurowania protokołów w różnorodnych systemach operacyjnych stosowanych we współczesnych sieciach. Zgodnie z tytułem, jest to publikacja kierowana do szerokiego grona Czytelników: początkujących i zaawansowanych, dla administratora-praktyka i dla studenta. Temu ostatniemu z pewnością pomogą sprawdzające pytania, które podsumowują każdy rozdział książki.

TRANSCRIPT

Page 1: TCP/IP dla każdego

Wydawnictwo Helion

ul. Chopina 6

44-100 Gliwice

tel. (32)230-98-63

e-mail: [email protected]

PRZYK£ADOWY ROZDZIA£PRZYK£ADOWY ROZDZIA£

IDZ DOIDZ DO

ZAMÓW DRUKOWANY KATALOGZAMÓW DRUKOWANY KATALOG

KATALOG KSI¥¯EKKATALOG KSI¥¯EK

TWÓJ KOSZYKTWÓJ KOSZYK

CENNIK I INFORMACJECENNIK I INFORMACJE

ZAMÓW INFORMACJEO NOWO�CIACH

ZAMÓW INFORMACJEO NOWO�CIACH

ZAMÓW CENNIKZAMÓW CENNIK

CZYTELNIACZYTELNIA

FRAGMENTY KSI¥¯EK ONLINEFRAGMENTY KSI¥¯EK ONLINE

SPIS TRE�CISPIS TRE�CI

DODAJ DO KOSZYKADODAJ DO KOSZYKA

KATALOG ONLINEKATALOG ONLINE

TCP/IP dla ka¿dego

Autor: Brian Komar

T³umaczenie: Pawe³ Koronkiewicz

ISBN: 83-7197-782-4

Tytu³ orygina³u: TY TCP/IP Networking in 21 Days

Format: B5, stron: 654

„TCP/IP dla ka¿dego” przeka¿e Ci ca³¹ niezbêdn¹ wiedzê do administrowania sieci¹

TCP/IP. Ujmuje zarówno zagadnienia podstawowe opisuj¹c dok³adnie sam protokó³,

jak i kwestie bardziej skomplikowane, w tym konfigurowanie systemu DNS czy

zarz¹dzanie SNMP. Uwzglêdnione zosta³y najnowsze, normalizowane dopiero

w ostatnich latach technologie, takie jak:

• Internet Protocol Security (IPSec)

• IPv6

• Voice Over IP

• Bezprzewodowe sieci lokalne

• Uwierzytelnianie RADIUS

• Infrastruktura klucza publicznego (PKI)

Ksi¹¿ka omawia zarówno teoretyczne podstawy funkcjonowania sieci opartych na

TCP/IP, jak i praktyczne sposoby konfigurowania protoko³ów w ró¿norodnych

systemach operacyjnych stosowanych we wspó³czesnych sieciach. Zgodnie z tytu³em,

jest to publikacja kierowana do szerokiego grona Czytelników: pocz¹tkuj¹cych

i zaawansowanych, dla administratora-praktyka i dla studenta. Temu ostatniemu

z pewno�ci¹ pomog¹ sprawdzaj¹ce pytania, które podsumowuj¹ ka¿dy rozdzia³ ksi¹¿ki.

Page 2: TCP/IP dla każdego

Spis treści

O Autorze ........................................................................................ 15

Wstęp ............................................................................................. 17

Rozdział 1. Historia Internetu ............................................................................ 21

Jak powstał Internet?.........................................................................................................21Etap I — ARPAnet .....................................................................................................22Etap II — NSFNET ....................................................................................................23Internet dzisiaj.............................................................................................................24

Kto jest odpowiedzialny za protokół TCP/IP?..................................................................24Internet Architecture Board (IAB)..............................................................................25

Requests for Comments (RFCs)........................................................................................27Cykl „dojrzewania” RFC ............................................................................................27Jak uzyskać dokument RFC? ......................................................................................29

Podsumowanie ..................................................................................................................30Pytania sprawdzające ..................................................................................................31W następnym rozdziale...............................................................................................31

Rozdział 2. Typy sieci i architektura systemów otwartych................................... 33

Typy sieci ..........................................................................................................................33Sieci lokalne (LAN)....................................................................................................33Sieci rozległe (WAN) .................................................................................................41

Koncepcja systemów otwartych........................................................................................48Korzystanie z modeli warstwowych .................................................................................49

Model odniesienia OSI ...............................................................................................50Model warstw TCP/IP.................................................................................................54

Porównanie modeli OSI i TCP/IP .....................................................................................58Podsumowanie ..................................................................................................................59

Pytania sprawdzające ..................................................................................................59W następnym rozdziale...............................................................................................60

Rozdział 3. Adresy protokołu IP ......................................................................... 61

Adres IP.............................................................................................................................61Jak zapisywany jest adres?..........................................................................................62Klasy adresów IP ........................................................................................................64Ogólne zasady adresowania IP ...................................................................................66Specjalne adresy IP .....................................................................................................66

Znaczenie masek podsieci .................................................................................................67Proces AND ................................................................................................................68Typowe problemy z maskowaniem ............................................................................69

Page 3: TCP/IP dla każdego

6 TCP/IP dla każdego

Adresy w sieci lokalnej .....................................................................................................69Przyszłość adresowania IP (IPv6) .....................................................................................71Podsumowanie ..................................................................................................................71

Pytania sprawdzające ..................................................................................................72W następnym rozdziale...............................................................................................73

Rozdział 4. Rodzina TCP/IP — podstawowe protokoły........................................ 75

Podstawowe protokoły modelu warstw IP ........................................................................76Protokoły w warstwie międzysieciowej......................................................................76

Komunikacja połączeniowa i bezpołączeniowa................................................................90TCP — Transmission Control Protocol......................................................................90UDP — User Datagram Protocol................................................................................91Korzystanie z portów i gniazd ....................................................................................91

TCP — Transmission Control Protocol ............................................................................93Format nagłówka TCP ................................................................................................94Ustanawianie sesji TCP, czyli trójstopniowa wymiana potwierdzeń .........................96Zamykanie sesji TCP ..................................................................................................97Przepływ informacji w trakcie sesji TCP....................................................................98Okna przesuwne TCP .................................................................................................99Stany połączenia TCP ...............................................................................................101Zarezerwowane porty TCP .......................................................................................102

UDP — User Datagram Protocol ....................................................................................104Format nagłówka UDP .............................................................................................105Komunikacja przy użyciu UDP ................................................................................105Zarezerwowane porty UDP.......................................................................................106

Określanie, które porty są używane ................................................................................106Narzędzia trybu tekstowego......................................................................................106Korzystanie z narzędzi graficznych ..........................................................................110

Podsumowanie ................................................................................................................111Pytania sprawdzające ................................................................................................112W następnym rozdziale.............................................................................................112

Rozdział 5. Sztuka maskowania podsieci.......................................................... 113

Maski modyfikowane......................................................................................................113Właściwy podział sieci....................................................................................................115

Określanie liczby podsieci ........................................................................................115Określanie liczby dostępnych stacji..........................................................................118Określanie dostępnych pul adresów dla wybranej maski .........................................119

Tworzenie tabeli przeliczeniowej podsieci .....................................................................121Użycie tabeli przeliczeniowej do określania adresów klasy A.................................123Użycie tabeli przeliczeniowej do określania adresów klasy B .................................124Użycie tabeli przeliczeniowej do określania adresów klasy C .................................124

VLSM — zróżnicowana długość maski..........................................................................126Przykład trasowania VLSM......................................................................................127Wymagane warunki implementacji VLSM ..............................................................129

Classless Inter-Domain Routing (bezklasowe trasowanie międzydomenowe)...............130Podsumowanie ................................................................................................................131

Pytania sprawdzające ................................................................................................131W następnym rozdziale.............................................................................................134

Rozdział 6. Odwzorowywanie adresów IP i nazw logicznych............................... 135

Odwzorowanie adresów IP na adresy MAC ...................................................................135Odwzorowanie nazw logicznych na adresy IP................................................................136

Page 4: TCP/IP dla każdego

Spis treści 7

Odwzorowanie hostnames...............................................................................................137Przestrzeń nazw domen.............................................................................................137Proces odwzorowywania nazwy stacji......................................................................139Podział ról w systemie DNS .....................................................................................140Rodzaje zapytań DNS...............................................................................................144Poprawianie wydajności DNS ..................................................................................147Dynamiczne uaktualnianie zasobów DNS................................................................148

Odwzorowanie nazw NetBIOS .......................................................................................153Proces odwzorowywania nazw NetBIOS .................................................................155Transakcje w sieciach NetBIOS ...............................................................................156Serwery nazw NetBIOS............................................................................................157

Porównanie serwerów NBNS i DNS ..............................................................................158Pliki konfiguracyjne TCP/IP ...........................................................................................159

HOSTS......................................................................................................................159NETWORKS ............................................................................................................160SERVICES................................................................................................................160PROTOCOL .............................................................................................................161LMHOSTS................................................................................................................161RESOLV.CONF .......................................................................................................163

Podsumowanie ................................................................................................................163Pytania sprawdzające ................................................................................................163W następnym rozdziale.............................................................................................164

Rozdział 7. Konfigurowanie serwerów DNS ....................................................... 165

Rejestrowanie nazwy DNS..............................................................................................165Formaty komunikatów DNS ...........................................................................................167Rekordy zasobów ............................................................................................................170Konfigurowanie serwera DNS zgodnego z BIND ..........................................................172

Plik named.conf ........................................................................................................172Konfigurowanie serwera DNS systemu Windows..........................................................184

Konfigurowanie serwera...........................................................................................184Konfigurowanie przekazywania zapytań DNS.........................................................186Tworzenie stref wyszukiwania odwrotnego .............................................................187Tworzenie pliku wyszukiwania prostego..................................................................190Tworzenie dalszych rekordów zasobowych .............................................................191

Problemy z DNS i narzędzie NSLOOKUP.....................................................................192Podsumowanie ................................................................................................................194

Pytania sprawdzające ................................................................................................194W następnym rozdziale.............................................................................................195

Rozdział 8. Konfigurowanie serwerów nazw NetBIOS ........................................ 197

Format komunikatu NetBIOS .........................................................................................197Wprowadzanie usług NetBIOS w sieci TCP/IP..............................................................199

Instalowanie Windows Internet Name Service (WINS) .............................................200Konfigurowanie stacji klienckich

pod kątem ograniczenia komunikacji NetBIOS.....................................................201Konfigurowanie środowiska serwera WINS ............................................................202Dodawanie mapowań statycznych dla klientów nieobsługujących WINS...............202

Rozwiązywanie problemów z NetBIOS — polecenie NBTSTAT .................................210Odchodzenie od systemu NetBIOS.................................................................................211Podsumowanie ................................................................................................................211

Pytania sprawdzające ................................................................................................211W następnym rozdziale.............................................................................................212

Page 5: TCP/IP dla każdego

8 TCP/IP dla każdego

Rozdział 9. Protokoły trasowania ..................................................................... 213

Podstawowe zasady trasowania ......................................................................................213Konfiguracje trasowania ...........................................................................................215Podstawowe problemy z trasowaniem......................................................................216Zabezpieczanie systemu trasowania .........................................................................218

Trasowanie statyczne ......................................................................................................219Protokoły trasowania.......................................................................................................221

Protokoły bram zewnętrznych ..................................................................................222Protokoły bram wewnętrznych .................................................................................228

Rozwiązywanie problemów z trasowaniem....................................................................240Microsoft Windows ..................................................................................................240Cisco IOS..................................................................................................................241

Podsumowanie ................................................................................................................241Pytania sprawdzające ................................................................................................242W następnym rozdziale.............................................................................................243

Rozdział 10. RARP, BOOTP i DHCP— protokoły automatycznego konfigurowania stacji........................ 245

Zastosowanie automatycznej konfiguracji ......................................................................245Protokół RARP................................................................................................................246Protokół BOOTP.............................................................................................................247

Realizacja wymogu niezawodności w procesie BOOTP............................................247Format komunikatu BOOTP.....................................................................................248

Protokół DHCP ...............................................................................................................249Proces DHCP ............................................................................................................250Odnawianie DHCP....................................................................................................251Konfigurowanie serwera DHCP ...............................................................................252Strategie wdrażania DHCP .......................................................................................255

Podsumowanie ................................................................................................................257Pytania sprawdzające ................................................................................................258W następnym rozdziale.............................................................................................258

Rozdział 11. Uwierzytelnianie w sieci TCP/IP..................................................... 259

Uwierzytelnianie tekstowe ..............................................................................................259Network Information System (NIS)................................................................................261

Role serwerów NIS ...................................................................................................261Baza danych NIS.......................................................................................................261Domeny NIS .............................................................................................................262

System Kerberos .............................................................................................................262Składniki systemu Kerberos .....................................................................................262Proces uwierzytelniania Kerberos.............................................................................263Zalety systemu Kerberos...........................................................................................265

Infrastruktura klucza publicznego...................................................................................265Uzyskiwanie certyfikatu cyfrowego .........................................................................266Sprawdzanie certyfikatu............................................................................................268Mapowanie certyfikatów do kont użytkowników.....................................................269

Uwierzytelnianie WWW.................................................................................................271Uwierzytelnianie anonimowe ...................................................................................271Uwierzytelnianie podstawowe ..................................................................................272Uwierzytelnianie skrócone........................................................................................273Uwierzytelnianie zintegrowane ................................................................................274Uwierzytelnianie certyfikatowe ................................................................................275

Page 6: TCP/IP dla każdego

Spis treści 9

Podsumowanie ................................................................................................................276Pytania sprawdzające ................................................................................................276W następnym rozdziale.............................................................................................277

Rozdział 12. Szyfrowanie przesyłanych danych ................................................... 279

Szyfrowanie danych w warstwie aplikacji .........................................................................279SSL i TLS .................................................................................................................280S/MIME i PGP..........................................................................................................282

Zabezpieczanie danych w warstwie IP............................................................................282Authentication Header (AH).....................................................................................283Encapsulating Security Payload (ESP) .....................................................................284Tryby IPSec ..............................................................................................................286Procedury komunikacji IPSec...................................................................................288

Planowane zmiany w IPSec ............................................................................................292Problem.....................................................................................................................292Rozwiązanie — nowy nagłówek ESP.......................................................................293

Podsumowanie ................................................................................................................295Pytania sprawdzające ................................................................................................295W następnym rozdziale.............................................................................................296

Rozdział 13. Bezpieczeństwo sieci ..................................................................... 297

Zagrożenia dla bezpieczeństwa sieciowego....................................................................297Jawne przesyłanie hasła ............................................................................................298Rozpowszechnienie oprogramowania monitorującego ............................................298Podrabianie adresów .................................................................................................299Słabe punkty w konfiguracji zabezpieczeń...............................................................300

Przygotowanie założeń ochrony sieci .............................................................................301Zapory firewall ................................................................................................................302

O czym jeszcze należy pamiętać?.............................................................................303Typowe rozwiązania .................................................................................................303

Inne techniki ochrony sieci .............................................................................................310Network Address Translation (NAT) .......................................................................310Intrusion Detection Systems (IDS) ...........................................................................311

Tworzenie „strefy zdemilitaryzowanej”..........................................................................311Zapory trójstronne.....................................................................................................312DMZ jako strefa środkowa .......................................................................................312Wady i zalety różnych rozwiązań DMZ ...................................................................313

Podsumowanie ................................................................................................................314Pytania sprawdzające ................................................................................................314W następnym rozdziale.............................................................................................315

Rozdział 14. Aplikacje uruchamiania zdalnego.................................................... 317

Protokół Telnet................................................................................................................318Proces negocjowania opcji........................................................................................319Standardowe funkcje sterujące .................................................................................321Opisy znaków sterujących ASCII.............................................................................322Sekwencje unikowe Telnetu .....................................................................................323Łączenie z serwerem usługi Telnet...........................................................................324

Zdalne polecenia systemu UNIX ....................................................................................326Ustawienia bezpieczeństwa ......................................................................................326rlogin (remote login) .................................................................................................327rsh (remote shell) ......................................................................................................328rexec (remote execute) ..............................................................................................329

Page 7: TCP/IP dla każdego

10 TCP/IP dla każdego

Usługi terminalowe jako narzędzie administracji zdalnej...............................................329Dostępne rozwiązania ...............................................................................................330Serwer terminali........................................................................................................331Usługi terminalowe firmy Microsoft ........................................................................331

Opcjonalne usługi TCP/IP...............................................................................................333Instalowanie usług opcjonalnych w Windows 2000.................................................334Sprawdzanie instalacji usług opcjonalnych ..............................................................335

Podsumowanie ................................................................................................................336Pytania sprawdzające ................................................................................................336W następnym rozdziale.............................................................................................337

Rozdział 15. Protokoły przesyłania plików .......................................................... 339

File Transfer Protocol (FTP) ...........................................................................................339Podstawowe polecenia i kody odpowiedzi FTP .......................................................341Zagadnienia bezpieczeństwa FTP.............................................................................345Typowa sesja FTP.....................................................................................................347

Trivial File Transfer Protocol (TFTP).............................................................................348Formaty komunikatów TFTP....................................................................................349Łączenie z serwerem TFTP ......................................................................................350Oprogramowanie klienta TFTP ................................................................................352Typowe zastosowania TFTP.....................................................................................352

Remote Copy Protocol (RCP) .........................................................................................353HyperText Transfer Protocol (HTTP).............................................................................353

HTTP a bezpieczeństwo ...........................................................................................355Network File System (NFS)............................................................................................357

Remote Procedure Calls (RPC) ................................................................................358External Data Representation (XDR) .......................................................................360Portmapper................................................................................................................360Procedury wywoływane przez NFS..........................................................................360Metody uwierzytelniania ..........................................................................................362Instalowanie systemu plików....................................................................................364Blokowanie plików pod kontrolą NFS .....................................................................365

Web Distributed Authoring and Versioning (WebDAV) ...............................................365Zabezpieczenia w protokole WebDAV ....................................................................366Współpraca EFS i WebDAV ....................................................................................367

Podsumowanie ................................................................................................................368Pytania sprawdzające ................................................................................................368W następnym rozdziale.............................................................................................369

Rozdział 16. Poczta elektroniczna w sieci TCP/IP.............................................. 371

Poczta elektroniczna w skrócie .......................................................................................371Simple Mail Transfer Protocol (SMTP)..........................................................................373

Proces SMTP ............................................................................................................373Inne wymagania SMTP.............................................................................................374Zabezpieczanie sesji SMTP ......................................................................................375

Post Office Protocol 3 (POP3) ........................................................................................377Sesja protokołu POP3 ...............................................................................................377Zabezpieczanie uwierzytelniania POP3....................................................................379

Internet Message Access Protocol 4 (IMAP4)................................................................380Atrybuty wiadomości IMAP4...................................................................................380Stany sesji IMAP4 i związane z nimi polecenia.......................................................381Zabezpieczanie uwierzytelniania IMAP...................................................................384

Page 8: TCP/IP dla każdego

Spis treści 11

Lightweight Directory Access Protocol (LDAP) ............................................................385Od X.500 do LDAP ..................................................................................................385Operacje LDAP.........................................................................................................386Zabezpieczanie katalogu LDAP.................................................................................389

Załączniki poczty elektronicznej.....................................................................................389BinHex ......................................................................................................................390uuencode/uudecode...................................................................................................390Multipurpose Internet Mail Extentions (MIME) ......................................................391Przykładowy nagłówek MIME.................................................................................394

Zabezpieczanie poczty elektronicznej.............................................................................395Protokoły zabezpieczania treści wiadomości............................................................395Podpisy cyfrowe........................................................................................................396Szyfrowanie poczty elektronicznej ...........................................................................397

Podsumowanie ................................................................................................................399Pytania sprawdzające ................................................................................................399W następnym rozdziale.............................................................................................400

Rozdział 17. Zarządzanie siecią — protokół SNMP ............................................. 401

Zarządzanie siecią ...........................................................................................................401Systemy zarządzania i agenty SNMP .......................................................................402Wspólnoty SNMP .....................................................................................................402

Składniki systemu SNMP................................................................................................403Struktura informacji zarządzania (SMI) ...................................................................404Protokół SNMP.........................................................................................................406Baza informacji zarządzania (MIB)..........................................................................407

Wdrażanie systemu zarządzania SNMP..........................................................................409Instalowanie agenta SNMP.......................................................................................409Konfigurowanie agenta SNMP.................................................................................410Korzystanie z konsoli SNMP....................................................................................412Zarządzanie SNMP w praktyce ................................................................................414

Podsumowanie ................................................................................................................415Pytania sprawdzające ................................................................................................415W następnym rozdziale.............................................................................................415

Rozdział 18. TCP/IP na łączach telefonicznych .................................................. 417

Przyłączanie do sieci poprzez linię telefoniczną.............................................................417Serial Line Internet Protocol (SLIP) .........................................................................418Point-to-Point Protocol (PPP) ...................................................................................419

Połączenia tunelowane ....................................................................................................422Point-to-Point Tunneling Protocol (PPTP) ...............................................................423Layer Two Tunneling Protocol (L2TP) ....................................................................426Point-to-Point Protocol over Ethernet (PPPoE)........................................................431

Uwierzytelnianie klientów PPP.......................................................................................434Dostępne protokoły uwierzytelniania .......................................................................434Uwierzytelnianie scentralizowane i zdecentralizowane ...........................................435

Podsumowanie ................................................................................................................437Pytania sprawdzające ................................................................................................438W następnym rozdziale.............................................................................................438

Rozdział 19. IP w sieciach ATM i bezprzewodowych oraz przesyłanie głosu ......... 439

Wykorzystanie TCP/IP w sieci ATM..............................................................................439Pakiet ATMARP .............................................................................................................440Tworzenie logicznych podsieci IP ..................................................................................442

Page 9: TCP/IP dla każdego

12 TCP/IP dla każdego

Serwer ATMARP............................................................................................................443Rejestrowanie adresu IP na serwerze ATM..............................................................443Żądania ATMARP....................................................................................................444Czas utrzymywania wpisów w tabeli ATMARP......................................................444

TCP/IP w sieciach bezprzewodowych ............................................................................445Konfiguracje sieci bezprzewodowych ......................................................................445Adresowanie MAC ...................................................................................................446Zabezpieczenia sieci bezprzewodowych ..................................................................447

Przesyłanie głosu w sieciach IP ......................................................................................452Konwersja głosu na postać cyfrową .........................................................................452Problemy ograniczające transmisję głosową poprzez IP ..........................................452Kierunki rozwoju technologii przesyłania głosu przez IP ...............................................453

Podsumowanie ................................................................................................................454Pytania sprawdzające ................................................................................................454W następnym rozdziale.............................................................................................454

Rozdział 20. Konfigurowanie serwerów i stacji roboczychdo korzystania z TCP/IP ................................................................ 455

Instalowanie TCP/IP w Windows 9x ..............................................................................455Dodawanie karty sieciowej .......................................................................................455Dodawanie stosu protokołu TCP/IP..........................................................................456Konfigurowanie protokołu TCP/IP...........................................................................457

Konfigurowanie TCP/IP w systemie Windows 2000 .....................................................461Konfigurowanie protokołu TCP/IP...........................................................................461Dalsze ustawienia TCP/IP.........................................................................................462

Konfigurowanie TCP/IP w systemie Linux ....................................................................463Czynności konfiguracyjne w trakcie instalowania systemu .....................................463Modyfikowanie konfiguracji TCP/IP .......................................................................465

Konfigurowanie TCP/IP na serwerze UNIX...................................................................468Dołączanie karty sieciowej do stacji systemu UNIX................................................468Konfigurowanie karty sieciowej ...............................................................................469Przeglądanie plików konfiguracyjnych TCP/IP........................................................470Konfigurowanie demona Internetu ...........................................................................471Konfigurowanie trasowania ......................................................................................473

Konfigurowanie TCP/IP na serwerze systemu NetWare 6 .............................................474Instalowanie protokołu TCP/IP.................................................................................474Weryfikowanie konfiguracji TCP/IP ........................................................................477Konfigurowanie NetWare/IP ....................................................................................478Konfigurowanie DNS i DSS.....................................................................................479Konfigurowanie serwera DHCP systemu NetWare..................................................482

Podsumowanie ................................................................................................................483Pytania sprawdzające ................................................................................................484W następnym rozdziale.............................................................................................484

Rozdział 21. IPv6, przyszłość TCP/IP?............................................................... 485

Podstawowe zmiany wprowadzane przez IPv6 ..............................................................485Formaty adresów IPv6 ....................................................................................................486

Reprezentacje adresów IPv6 .....................................................................................487Specjalne adresy IPv6 ...............................................................................................488

Format nagłówka IPv6 ....................................................................................................489Nagłówki dodatkowe IPv6 ..............................................................................................490

Nagłówek Hop-by-Hop Options ...............................................................................491Nagłówek Destination Options .................................................................................492

Page 10: TCP/IP dla każdego

Spis treści 13

Nagłówek Routing ....................................................................................................492Nagłówek Fragment..................................................................................................493Nagłówek opcji Authentication ................................................................................495Nagłówek ESP ..........................................................................................................496Nagłówek No Next ...................................................................................................497

Przejście z IPv4 do IPv6..................................................................................................497Wykorzystanie dualnej warstwy IP ..........................................................................499Opcje tunelowania IPv6 przez IPv4..........................................................................500Transport Relay Translator (TRT) ............................................................................501

Podsumowanie ................................................................................................................502Pytania sprawdzające ................................................................................................502

Dodatek A Lista dokumentów RFC .................................................................. 503

Protokoły grupy Internet Standard ..................................................................................503Protokoły grupy Internet Standard specyficzne dla typu sieci ........................................506Protokoły grupy Draft Standard ......................................................................................506Protokoły grupy Proposed Standard................................................................................508Protokoły eksperymentalne .............................................................................................528Protokoły informacyjne...................................................................................................532Protokoły historyczne......................................................................................................535Dokumenty robocze — Internet Draft ............................................................................537

Dodatek B Odpowiedzi na pytania sprawdzające .............................................. 539

Rozdział 1........................................................................................................................539Rozdział 2........................................................................................................................540Rozdział 3........................................................................................................................541Rozdział 4........................................................................................................................543Rozdział 5........................................................................................................................545Rozdział 6........................................................................................................................547Rozdział 7........................................................................................................................549Rozdział 8........................................................................................................................551Rozdział 9........................................................................................................................552Rozdział 10......................................................................................................................553Rozdział 11......................................................................................................................554Rozdział 12......................................................................................................................555Rozdział 13......................................................................................................................556Rozdział 14......................................................................................................................558Rozdział 15......................................................................................................................559Rozdział 16......................................................................................................................561Rozdział 17......................................................................................................................563Rozdział 18......................................................................................................................564Rozdział 19......................................................................................................................565Rozdział 20......................................................................................................................566Rozdział 21......................................................................................................................567

Dodatek C Identyfikatory obiektów Internet MIB-II........................................... 569

Grupa System ..................................................................................................................569Grupa Interfaces ..............................................................................................................570Grupa Address Translation..............................................................................................572Grupa IP ..........................................................................................................................572Grupa ICMP ....................................................................................................................575Grupa TCP.......................................................................................................................577Grupa UDP......................................................................................................................578

Page 11: TCP/IP dla każdego

14 TCP/IP dla każdego

Grupa EGP ......................................................................................................................579Grupa Transmission ........................................................................................................580Grupa SNMP...................................................................................................................581

Dodatek D Słowniczek .................................................................................... 583

Skorowidz...................................................................................... 625

Page 12: TCP/IP dla każdego

Rozdział 15.

Protokoły

przesyłania plików

W niniejszym rozdziale przedstawimy przegląd istotniejszych protokołów przesyłaniaplików w sieci TCP/IP. Należą do nich:

� File Transfer Protocol (FTP),

� Trivial File Transfer Protocol (TFTP),

� Remote Copy Protocol (RCP),

� HyperText Transfer Protocol (HTTP),

� Network File System (NFS),

� Web Distributed Authoring and Versioning (WebDAV).

Jako uzupełnienie omówienia typowych sesji połączeniowych, zagadnień bezpieczeństwai charakterystyki protokołów, przedstawione zostaną wybrane, najczęściej obecnie sto-sowane serwery WWW.

File Transfer Protocol (FTP)

Protokół przesyłania plików jest jednym z najpopularniejszych protokołów wykorzy-stywanych do przenoszenia plików pomiędzy stacjami w sieci TCP/IP. Główną jegozaletą jest oparcie funkcjonowania na protokole transportu TCP, co zapewnia nieza-wodne, wymagające ustanowienia sesji połączeniowej przesyłanie.

Protokół FTP wykorzystuje w transmisji danych dwa procesy:

� Proces przesyłania danych (ang. DTP — Data Transfer Process) zapewniafaktyczną transmisję danych pomiędzy klientem a serwerem FTP.

� Interpretator protokołu (ang. PI — Protocol Interpreter) jest wykorzystywanydo przesyłania poleceń pomiędzy klientem a serwerem. Inicjuje on proces FTPi zarządza usługą DTP od strony klienta.

Page 13: TCP/IP dla każdego

340 TCP/IP dla każdego

Faktycznie sesja FTP składa się więc z dwóch osobnych sesji łączących klienta z ser-werem (patrz rysunek 15.1).

Rysunek 15.1.Sesja FTP

W trakcie ustanawiania między klientem i serwerem sesji realizowane są następująceoperacje:

1. Na początku ustanawiana jest sesja pomiędzy usługami PI klienta i serwera.Interpretator protokołu po stronie użytkownika inicjuje połączenie sterującepomiędzy stacjami. Za jego pośrednictwem klient FTP przesyła polecenia doserwera, a serwer potwierdza ich wykonanie. Strona użytkownika korzystaz portu o numerze przydzielonym losowo, natomiast po stronie serwerawykorzystywany jest port TCP 21.

2. Żądanie przesłania danych powoduje zainicjowanie przez proces DTP serwerapołączenia z usługą DTP klienta. Za jego pomocą przesyłane są wyłącznie dane.

Połączenie sterujące zostaje zachowane również w trakcie przesyłania danych. Obapołączenia, sterujące i danych, pozwalają na przesyłanie danych w dwóch kierunkach.

Passive FTP

Jest jeszcze jeden sposób inicjowania transmisji FTP. Wcześniej napisaliśmy, że typowe po-łączenie FTP rozpoczyna inicjowanie przez klienta komunikacji poprzez połączenie sterujące.W drugim kroku serwer FTP inicjuje przesyłanie danych do klienta.

Alternatywą jest przesyłanie pasywne (ang. FTP passive transfer). W tym przypadku wymianadanych również rozpoczyna się od ustanowienia komunikacji poprzez port TCP 21. Różnice

zaczynają się w momencie przesłania przez klienta polecenia ����.

Odpowiedzią serwera FTP na polecenie ���� jest przesłanie numeru portu (od 1024 wzwyż),na którym rozpoczyna on nasłuch w oczekiwaniu połączeń klienta. Drugą różnicę wyznaczastrona inicjująca połączenie danych — wykorzystując numer portu, otrzymany w odpowiedzi

na polecenie ����, klient może otworzyć połączenie danych z serwerem.

Wiele organizacji nie zezwala na przesyłanie pasywne ze względu na wymóg, aby serwerFTP prowadził nasłuch na losowo wybranym porcie o numerze od 1024 wzwyż. Otwieranietakich portów zapory zewnętrznej sieci jest najczęściej zbyt dużym zagrożeniem.

Page 14: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 341

Podstawowe polecenia i kody odpowiedzi FTP

Przedstawimy teraz podstawowe polecenia wykorzystywane w trakcie sesji FTP. Możnawśród nich wyróżnić następujące kategorie:

� polecenia sterujące dostępem,

� polecenia sterujące przesyłaniem,

� polecenia przesyłania plików,

� polecenia zarządzania plikami i katalogami,

� polecenia pomocy i kontroli stanu sesji,

� odpowiedzi serwera FTP.

Polecenia sterujące dostępem

Polecenia sterujące dostępem znajdują zastosowanie podczas ustanawiania i kończe-nia sesji FTP łączącej stacje klienta i serwera. Są one zwykle wprowadzane w stan-dardowej kolejności. Najlepszym przykładem jest polecenie ����, po którym powinnonastąpić ���� — najpierw podajemy nazwę konta, potem odpowiednie hasło. Listę po-leceń przedstawia tabela 15.1.

Tabela 15.1. Polecenia FTP sterujące dostępem

Polecenie Opis

������������� Ustanawia sesję z usługą FTP stacji o nazwie ������

���������� Określa użytkownika korzystającego z poleceń FTP. Jest to pierwsze polecenieprzesyłane po nawiązaniu połączenia sterującego

�������� Polecenie wprowadzane bezpośrednio po ��. Służy przekazaniu hasłaużytkownika do serwera FTP za pośrednictwem protokołu Telnet. Chociażzasadniczo klient FTP nie wyświetla hasła na ekranie, standardowaspecyfikacja FTP przewiduje przesyłanie go przez sieć w sposób jawny

��� �������� Wymagany przez niektóre serwery FTP opcjonalny parametr określający kontoużytkownika na tychże serwerach. Podawana nazwa nie musi mieć związkuz poleceniem ��

�� Polecenie �������������� (instaluj strukturę) pozwala na zainstalowaniestruktury danych odmiennego systemu plików bez ponawiania logowaniado serwera

��� Polecenie ����������� (inicjuj ponownie) kończy sesję dla bieżącego kontaużytkownika. Transmisja wszystkich danych wejściowych i wyjściowych(z wyjątkiem trwającego przesyłania) zostaje wstrzymana. Użytkownik wracado tego samego punktu, w którym znajdował się w momencie nawiązaniapołączenia z serwerem

��� Kończy sesję łączącą stacje klienta i serwera. Część oprogramowania tak samointerpretuje polecenie ���

Page 15: TCP/IP dla każdego

342 TCP/IP dla każdego

Zabezpieczanie haseł przez wprowadzenie protokołu IPSec

Zabezpieczenia IPSec (ang. IP Security), omawiane w rozdziale 12., mogą zostać wykorzysta-ne do szyfrowania wszystkich przesyłanych pomiędzy klientem i serwerem danych. Wymagato zdefiniowania zasady stosowania nagłówków ESP dla wszystkich połączeń z serweremFTP przez porty TCP 20 i 21.

Anonimowe sesje FTP

Protokół FTP pozwala na nawiązywanie połączeń anonimowych. Wykorzystywaną wów-

czas nazwą konta jest ������ lub � �. Zwyczajowo serwer FTP prosi użytkow-nika korzystającego z takiego konta o podanie swojego adresu e-mail jako hasła.

Polecenia sterujące przesyłaniem

Polecenia określające sposób przesyłania danych pozwalają zmienić ustawienia dotyczącesesji. Ustawienia domyślne pozostają zazwyczaj na serwerze niezmienione. Ich zmianajest konieczna jedynie wtedy, gdy używane oprogramowanie wymaga wprowadzenianowszych metod transmisji. Zestawienie poleceń jest przedstawione w tabeli 15.2.

Tabela 15.2. Polecenia FTP sterujące przesyłaniem

Polecenie Opis

�� ��� Pozwala wybrać gniazdo TCP używane po stronie klienta. Parametr �� powinienzawierać 32-bitowy adres IP stacji, z którą nawiązane będzie połączenie DTP oraz16-bitowy numer portu

��� Polecenie �� �!� (pasywny) zmienia zachowanie serwera przy ustanawianiu sesjidanych. Zamiast inicjowania połączenia serwer będzie jedynie monitorował portdanych i oczekiwał na ustanowienie sesji przez klienta

��� Polecenie �"�� ��������� #"� (typ reprezentacji) określa format reprezentacjidanych serwera: ASCII, EBCDIC lub Image

� Polecenie $������������ (struktura pliku) jest pojedynczym kodem określającymdomyślną strukturę plików: %��� (pliki), �����& (rekordy) lub "�'� (strony)

��(� Polecenie ��� %�����&��(tryb przesyłania) określa tryb transmisji danych: ����)(strumień), ����* (blok) lub ��)"�� �& (skompresowane)

Polecenia przesyłania plików

Po ustanowieniu sesji z serwerem FTP i określeniu ustawień przesyłania danych możnarozpocząć właściwą transmisję. W tabeli 15.3 zamieszczone są najpowszechniej stoso-wane polecenia przesyłania plików udostępniane przez oprogramowanie klientów FTP.

Polecenia zarządzania plikami i katalogami

Po połączeniu z serwerem FTP, poza samym kopiowaniem plików, potrzebne może byćrównież wykonanie kilku operacji, takich jak zmiana katalogu bieżącego, zmiana nazwyczy utworzenie katalogu. W tabeli 15.4 przedstawione jest ich obszerne zestawienie.

Page 16: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 343

Tabela 15.3. Polecenia FTP służące do przesyłania plików

Polecenie Opis

���� Włącza tryb transmisji ASCII, odpowiedni dla plików tekstowych.Jest on używany domyślnie

����� Włącza tryb binarny transmisji, który powinien być stosowany doprzesyłania wszystkich plików innych niż pliki tekstowe (takich jakgraficzne, skompresowane czy wykonywalne)

��� Pozwala sprawdzić, który z trybów przesyłania został ustawiony — binarnyczy ASCII

����� ������]� ��������

Kopiuje plik ������ z serwera do pliku lokalnego �������. Jeżeli nazwapliku lokalnego nie zostanie podana, plik zostanie skopiowanyz zachowaniem nazwy oryginalnej

��(�� ��������� �������

Kopiuje lokalny plik ������� do pliku ������ na serwerze. Jeżeli nazwapliku na serwerze nie zostanie podana, plik zostanie skopiowanyz zachowaniem nazwy lokalnej

+� �� �������� ��������

Funkcjonuje tak samo jak polecenie ���

�� �� ��������� �������

Funkcjonuje tak samo jak polecenie ��(

�+� �� ������� �����"���+�� (wielokrotne +� ) funkcjonuje podobnie jak polecenie +� ,ale pozwala na kopiowanie większej ilości plików, dzięki możliwościzastosowania do określenia grupy plików symboli wieloznacznych

��� �� �������� �����"������ (wielokrotne �� ) funkcjonuje podobnie jak polecenie �� ,ale pozwala na kopiowanie większej ilości plików, dzięki możliwościzastosowania symboli wieloznacznych do określenia grupy plików

���� Włącza lub wyłącza wyświetlanie komunikatów z żądaniem potwierdzeniakopiowania po wprowadzeniu poleceń �+� i ��� . Gdy są one włączone,pojawia się zapytanie, czy kopiowanie plików ma być kolejno potwierdzane.Gdy są wyłączone, żadne potwierdzenia nie są wymagane

Tabela 15.4. Polecenia FTP służące do zarządzania plikami i katalogami

Polecenie Opis

(�,� ��� ������� Usuwa plik o nazwie ������ z serwera FTP

�(�,� ��� ��������---�

Usuwa wszystkie pliki odpowiadające opartemu na symbolachwieloznacznych wzorcowi ������

,�(���������� Polecenie ,������.��'��(�������# (zmień katalog lokalny) zmienia lokalnykatalog bieżący. Jego podstawowym zastosowaniem jest określanie katalogu,do którego kopiowane będą pliki z serwera

�(���������� Polecenie �.��'��(�������# (zmień katalog) zmienia katalog bieżącyna serwerze

�(�� Polecenie �.��'��(�������#��" (zmień katalog „do góry”) zmienia katalogbieżący na serwerze na katalog o poziom wyżej. Zostało ono wprowadzoneze względu na zróżnicowanie reprezentacji katalogu nadrzędnego w różnychsystemach

�/(��*�����' Polecenie ��*��(�������# (utwórz katalog) zakłada nowy katalogna serwerze FTP

Page 17: TCP/IP dla każdego

344 TCP/IP dla każdego

Tabela 15.4. Polecenia FTP służące do zarządzania plikami i katalogami — ciąg dalszy

Polecenie Opis

�(��*�����' Polecenie �)�!��(�������# (usuń katalog) usuwa katalog na serwerze FTP

(� Wyświetla ze szczegółami zawartość bieżącego katalogu serwera. Może onazostać zapisana do pliku

, Polecenie ,� � wyświetla zawartość bieżącego katalogu serwera w formieskróconej. Podstawowe przełączniki tego polecenia to 0$ i 0���. Pierwszypowoduje wyświetlanie nazw podkatalogów ze znakiem łamania (1)na końcu. Użycie drugiego prowadzi do otrzymania takiego wyniku,jak po wprowadzeniu polecenia (�

�2( Wyświetla nazwę bieżącego katalogu serwera

����������������������

Zmienia nazwę pliku na serwerze z ������ na ������

Polecenia pomocy i kontroli stanu sesji

Polecenia pomocy pozwalają uzyskać informacje o składni poleceń FTP, gdy nie jeste-śmy pewni, jakie parametry możemy zastosować. Polecenia kontroli stanu sesji zapew-niają możliwość sprawdzenia, jakie opcje sesji FTP zostały w danym momencieustawione. Tabela 15.5 przedstawia typowe polecenia tego rodzaju.

Tabela 15.5. Polecenia FTP związane z pomocą i kontrolą stanu sesji

Polecenie Opis

3 Powoduje wyjście z sesji FTP do lokalnego interpretatora poleceń lubpowłoki systemowej. Powrót do sesji zapewnia zazwyczaj wprowadzeniepolecenia �4�

5 Wyświetla wszystkie polecenia dostępne w programie klienta FTP

6�,� Funkcjonuje tak samo jak polecenie 5

� � Wyświetla informacje o bieżącym stanie sesji FTP. Obejmują one trybtransmisji, stan połączenia, ustawienia wyświetlania komunikatów i wartośćlimitu czasu

����� Przełącza tryb wyświetlania informacji (tzw. tryb informacji pełnej).Gdy jest włączony, użytkownik otrzymuje informacje o wszystkichodpowiedziach serwera FTP oraz szybkościach przesyłania

Kody odpowiedzi serwera FTP

Odpowiedzią serwera FTP na otrzymane od klienta polecenie jest kod odpowiedzi in-formujący, czy i jak zostało ono wykonane. W przypadku niewykonania polecenia od-powiedni kod błędu wskazuje, jakie działania powinien podjąć klient.

Wszystkie kody odpowiedzi są złożone z trzech pozycji alfanumerycznych. Pierwszaz nich zapewnia informację ogólną — zasadą jest tu wskazanie kolejnej właściwejw określonej sytuacji czynności. W tabeli 15.6 zestawionych jest 5 dopuszczalnychwartości pierwszej pozycji kodu odpowiedzi.

Page 18: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 345

Tabela 15.6. Wartości pierwszej pozycji kodu odpowiedzi serwera FTP

Wartość Nazwa Opis

7#� Pozytywnaodpowiedźwstępna

Żądana akcja została podjęta. Kolejna odpowiedź zostanie wysłanaprzed osiągnięciem gotowości do przyjęcia kolejnego polecenia.Jednorazowo może zostać wysłana tylko jedna odpowiedź wstępna

8#� Pozytywnaodpowiedźkońcowa

Żądana akcja została poprawnie wykonana i serwer gotów jest naprzyjęcie od klienta kolejnego polecenia

9#� Pozytywnaodpowiedźpośrednia

Serwer zaakceptował polecenie, ale oczekiwane są dalsze dane.Jest to typowa odpowiedź, gdy oczekiwane jest określonenastępstwo poleceń, np. �� po ��

:#� Negatywnaodpowiedźtymczasowa

Wydane serwerowi polecenie nie zostało poprawnie wykonane.Jest to jednak tymczasowy błąd w połączeniu i polecenie powinnozostać przesłane ponownie

;#� Negatywnaodpowiedźtrwała

Żądana akcja nie mogła zostać wykonana. Typowe przyczynytakiej odpowiedzi to błąd we wpisywaniu polecenia oraz brakprzypisania użytkownikowi odpowiednich uprawnień

Dalsze uszczegółowienie odpowiedzi serwera przynosi druga pozycja przesyłanegodo klienta kodu. Dopuszczalne jej wartości przedstawia tabela 15.7.

Tabela 15.7. Wartości drugiej pozycji kodu odpowiedzi serwera FTP

Wartość Nazwa Opis

<=� Składnia Błąd wynika z niewłaściwej składni albo też z wydania poprawnegopolecenia, ale w nieodpowiednim momencie

<7� Dane Kod wykorzystywany w odpowiedziach na polecenia pomocyi kontroli stanu sesji, jak 6�,� i � �

<8� Połączenia Kod używany w odpowiedziach odnoszących się do stanupołączenia danych

<9� Uwierzytelnianiei rejestracja

Kod wykorzystywany podczas procesu uwierzytelniania użytkownika

<:� Nieokreślony Kod jeszcze nieużywany

<;� System plików Informacja o stanie systemu plików serwera lub klienta FTP

Trzecia pozycja kodu odpowiedzi zapewnia dalsze sprecyzowanie podawanej infor-macji — ściśle zależy ona od dwóch pierwszych. Zaleca się przyjęcie ogólnej zasadydołączania do kodów błędów pola tekstowego, co zapewni pełne objaśnienie znacze-nia kodu odpowiedzi. Szczegółowe zestawienie wartości wykorzystywanych na trze-ciej pozycji kodu znaleźć można w dokumencie RFC 959, dostępnym pod adresemwww.ietf.org/rfc.

Zagadnienia bezpieczeństwa FTP

Dokument RFC 2228 nakreśla potrzebę powstania standardowego mechanizmu za-bezpieczającego dla protokołu FTP. Obecnie hasła wykorzystywane w sesjach FTP są

Page 19: TCP/IP dla każdego

346 TCP/IP dla każdego

przesyłane tekstem jawnym. Umożliwia to przechwytywanie ich przez tzw. szperaczesieciowe (ang. network sniffers).

Mechanizmy zabezpieczające powinny również zapewniać uwierzytelnianie serwerów dlauniknięcia podszywania się oraz szyfrowanie informacji przesyłanych kanałem danych.

RFC 2228 wprowadza dodatkowe polecenia, które mogą być używane w systemie FTPopcjonalnie. Ich zestawienie przedstawia tabela 15.8.

Tabela 15.8. Polecenia rozszerzeń bezpieczeństwa FTP

Polecenie Pełna nazwa Opis

�� 6 Mechanizmuwierzytelniania/zabezpieczenia

Żądanie klienta dotyczące stosowania określonego mechanizmuochrony przesyłanych danych. Może być przesyłane kilkakrotniedo czasu wynegocjowania między klientem a serwerem metodyuwierzytelniania

�(� Daneuwierzytelniania/zabezpieczeń

Polecenie pozwalające przesłać dodatkowe dane określająceopcjonalne elementy wybranego mechanizmu zabezpieczeń

�� Poziom ochronykanału danych

Określa poziom ochrony, który będzie stosowany przez stacjeklienta i serwera w odniesieniu do kanału danych. Ustawienie����� (jawny) wskazuje na zwykłe przesyłanie danych,�%� (bezpieczny) — sprawdzanie integralności danych,���%�&������ (poufny) — szyfrowanie, ���!��� (prywatny)— jednoczesne szyfrowanie i sprawdzanie integralności

��> Rozmiar buforaochrony

Określa największy dopuszczalny rozmiar kodowanychbloków danych, które będą przesyłane podczas wymianyplików. Podawany w bajtach

��� Kanał poleceńjawnych

Kończy wykorzystywanie określonego mechanizmuzabezpieczającego. Wykorzystywane najczęściej, gdy w siecistosowane są zabezpieczenia na poziomie protokołu TCP.Po zakończeniu uwierzytelniania połączenia polecenie ���umożliwia zakończenie dalszych procedur sprawdzaniaintegralności danych i uwierzytelniania

��� Polecenie ochronyintegralności

Wykorzystywane do transmisji danych przy poziomieochrony ustawionym na �%�

���$ Polecenie ochronypoufności

Wykorzystywane do transmisji danych przy poziomieochrony ustawionym na ���%�&������.

��� Polecenie ochronyprywatności

Wykorzystywane do transmisji danych przy poziomieochrony ustawionym na ���!���

Korzystanie z mechanizmów zabezpieczających inicjuje klient FTP, podając przy uży-ciu polecenia �� �, z jakiego mechanizmu bezpieczeństwa zamierza korzystać. Serwerakceptuje ten mechanizm, odmawia jego stosowania lub też całkowicie odrzuca pole-cenie (gdy nie posiada mechanizmów zabezpieczeń FTP).

Jeżeli korzystanie z zabezpieczeń wymaga informacji dodatkowych, serwer żąda odklienta FTP użycia polecenia ��� w celu ich przesłania. Wymiana informacji trwa domomentu określenia przyporządkowania zabezpieczeń.

Page 20: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 347

Po ustanowieniu bezpiecznego połączenia może zostać określony typ ochrony danych.Służy do tego polecenie �� . W zależności od wybranego poziomu, do realizacji bez-piecznej transmisji kanałem danych wykorzystywane będzie polecenie ���, ��� lub���. Rozmiar pakietów danych określa się poleceniem ����.

Nie każdy RFC jest wykorzystywany

Mimo że istnieją już dokumenty RFC dotyczące zabezpieczeń uwierzytelniania FTP, stosun-kowo niewielka liczba klientów zapewnia obsługę nowych funkcji. Zalecić można używaniezabezpieczeń IPSec do szyfrowania całości sesji FTP lub wprowadzenie uwierzytelnianiaanonimowego, co wykluczy przesyłanie haseł tekstem jawnym.

Jeżeli stosujemy uwierzytelnianie anonimowe, wykluczone powinno zostać przecho-wywanie na serwerze FTP wszelkich istotnych danych. Podobna zasada dotyczy prawzapisu na serwerze. Anonimowy serwer FTP służyć powinien wyłącznie do udo-stępniania dokumentów publicznych.

Typowa sesja FTP

Poniżej przedstawiamy typową sesję FTP. Dla lepszego uświadomienia sobie źródławyświetlanych informacji wszystkie wiersze zostały poprzedzone informacją ����� �lub ������� (znaki wpisywane przez użytkownika oznaczamy tłustym drukiem).

/,��� ?�(@A?���/,��� ?�%�"?�����������2�?���BC����#���D*&���-�2�?�88=�D*&��������� �%��$ ����!����E��� ����;-=F-/,��� ?��G#�*�H��*�ED*&���-"��#*��&-��)@E����FF@�����2�?�997�����#)�� ����� �����H�&I� ��&��&�����#�E�0)������)�F�� "� H��&-/,��� ?�6� B�@���� ���� ���������������2�?�89=02���)#���� ��H�����$ ���/(� �D�2�?�JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ�2�?��(� �K"������)�H#�&��H����#3

�2�?�89=�����#)�� �� �����''�&���-/,��� ?�%�"?�������2�?�8==��� ���))��&� ���� %��-�2�?�7;=��"����'������)�&��&���������������%���1D��1� -�2�?����)�8;L-D)"�2�?� �������������� 1�2�?�88L� ��� %�����)"����-�2�?�99�D#�� ������!�&����=-=7� ����& �E9-9=�/D#�� 1 ��F/,��� ?�%�"?����������������������2�?�8;=��2(���))��&� ���� %��-/,��� ?�%�"?����2�?�8==��� ���))��&� ���� %��-�2�?�7;=��"����'������)�&��&���������������%���%������ �-�2�?����&:M<NLMD���-�<��2�?����%�"98-�<�

Page 21: TCP/IP dla każdego

348 TCP/IP dla każdego

�2�?�88L� ��� %�����)"����-�2�?�9:�D#�� ������!�&����=-=7� ����& �E9-:=�/D#�� 1 ��F/,��� ?�%�"?����� ��2�?�8==� #"�� �������-/,��� ?�%�"?������������������2�?�8==��� ���))��&� ���� %��-�2�?�7;=��"����'�D����#�)�&��&���������������%������%�"98-�<�EO:9O;ND#�� F-�2�?�88L� ��� %�����)"����-�2�?�O:9O;N�D#�� ������!�&����9-77� ����& �E89N-N:�/D#�� 1 ��F/,��� ?�%�"?�����2�?�887�(��K*�P�)#����H��#�K3

Jak widać na przykładzie, zakres faktycznie wykorzystywanych poleceń ogranicza siędo tych, których potrzebujemy, aby ściągnąć plik. Połączyliśmy się z serwerem bkda-ta.example.com. Wykorzystaliśmy możliwość uwierzytelnienia anonimowego, podającjako nazwę użytkownika ���. Po ustanowieniu sesji użyliśmy polecenia �����, aby wy-świetlić zawartość bieżącego katalogu serwera FTP. Skorzystanie z opcji �� pozwoliłoodróżnić podkatalogi od plików. Po zmianie katalogu na Telnet Utilities ściągniętyzostał plik telftp32.exe w binarnym trybie transmisji.

Trivial File Transfer Protocol (TFTP)

Prosty protokół przesyłania plików (ang. TFTP — Trivial File Transfer Protocol) po-zwala przesyłać pliki pomiędzy stacjami, wykorzystując protokół UDP. Nie zapewniaon tak wielu możliwości jak FTP, ale potrafi być skutecznym narzędziem odczytywa-nia i zapisywania plików na innej stacji w sieci TCP/IP. Protokół TFTP jest często sto-sowany do pobierania kodu inicjalizacyjnego drukarek, koncentratorów i routerów.Implementacji TFTP używają również bezdyskowe stacje będące klientami DHCP lubBOOTP. Posiadają one jedynie informację o serwerze TFTP, z którego mogą pobrać plikzawierający odpowiednią procedurę inicjalizacji. Dość nowym przykładem zastoso-wania TFTP są usługi instalacji zdalnej (ang. RIS — Remote Installation Services)firmy Microsoft. Po zainicjowaniu komunikacji przez kartę sieciową wykorzystują oneprotokół TFTP do przesłania do komputera klienckiego danych niezbędnych do jegouruchomienia i zainstalowania systemu Windows.

Przesyłanie danych przy wykorzystaniu protokołu TFTP jest oparte na pakietach o stałejdługości 512 bajtów. Jeżeli pakiet jest krótszy, oznacza to, że jest to ostatni pakiettransmisji. Po wysłaniu każdego pakietu do stacji docelowej, jego kopia jest przechowy-wana w przeznaczonym do tego buforze, aż do czasu otrzymania potwierdzenia po-prawnego odebrania danych. Jeżeli stacja wysyłająca nie otrzyma potwierdzenia przedupływem limitu czasu retransmisji, pakiet zostaje wysłany ponownie. Daje to pewiendodatkowy poziom zabezpieczenia strumienia danych ponad właściwą sumę kontrolnąUDP. Dla zapewnienia niezawodności transmisji wymagane jest przechowanie jedynieostatniego pakietu — odbiór wcześniejszych musi zostać potwierdzony jeszcze przedrozpoczęciem przesyłania następnych.

Page 22: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 349

Formaty komunikatów TFTP

Podczas sesji TFTP przesyłanych jest pięć typów komunikatów:

� ��� — żądanie odczytu,

� ��� — żądanie zapisu,

� �� � — dane,

� ��� — potwierdzenie,

� ��� — błąd.

Żądania zapisu i odczytu korzystają z tego samego formatu, przedstawionego na ry-sunku 15.2.

Rysunek 15.2.Format pakietówRRQ i WRQ

� Pole � !"# (kod operacji) zawiera wartość 1 przy żądaniu odczytu, a 2 przyżądaniu zapisu.

� Pole �$�#%&'# (nazwa pliku) określa nazwę pliku pobieranego lubprzekazywanego do serwera TFTP. Długość pola jest zmienna, a nazwa— zapisywana znakami NETASCII; znak o kodzie zero sygnalizuje koniecpola nazwy pliku.

� Pole �!"# (tryb) określa typ transmisji. Do wartości dopuszczalnych należąprzede wszystkim �� ����� i � � . Pierwszy z tych trybów jest wykorzystywanydo przesyłania dokumentów tekstowych. Jest to 8-bitowy format ASCII, któregoużywa również protokół Telnet. Typ � � jest wykorzystywany do przesyłaniadanych binarnych przy użyciu pełnych 8 bitów. Znak o kodzie zero sygnalizujekoniec pola �!"#.

Właściwe dane są przesyłane komunikatem �� � (patrz rysunek 15.3). Trafia do niegozawartość wskazanego przez pliku użytkownika.

Rysunek 15.3.Komunikat DATA

� Pole � !"# (kod operacji) jest ustawiane na wartość 3 — oznacza to komunikatzawierający dane.

� Pole ��! (�) (numer bloku) dla pierwszego pakietu jest ustawiane na 1,a dla każdego kolejnego wartość ta jest zwiększana o 1.

� Pole �&�& (dane) może mieć do 512 bajtów długości. Jeżeli jest krótsze,to znaczy, że blok jest ostatnią częścią pliku. Jeżeli pole to ma 512 bajtów,oznacza to, że przed zakończeniem transmisji muszą zostać przesłane kolejnebloki danych.

Page 23: TCP/IP dla każdego

350 TCP/IP dla każdego

Rysunek 15.4 przedstawia pakiet ���. Odpowiedź w postaci pakietu ��� (potwierdzenia)lub pakietu ��� (informacji o błędzie) jest zwracana po odebraniu każdego pakietu da-nych lub żądania zapisu.

Rysunek 15.4.Pakiet ACK

Pakiet ��� ma dwa pola:

� Pole � !"# (kod operacji) jest ustawiane na wartość 3.

� Pole ��! (�) (numer bloku) zawiera numer bloku odebrany w pakiecie, któregoodbiór jest potwierdzany. Jeżeli potwierdzenie dotyczy pakietu ���, pole jestustawiane na wartość 0, co sygnalizuje gotowość o transmisji danych.

Rysunek 15.5 przedstawia format komunikatu TFTP ���.

Rysunek 15.5.Pakiet ERR

� Pole � !"# (kod operacji) jest ustawiane na wartość 5.

� Wartość �**!*��!"# odpowiada jednej z przedstawionych w tabeli 15.9.

Tabela 15.9. Kody błędów TFTP

Kod błędu Opis

0 Błąd niezdefiniowany. Więcej informacji o jego przyczynie można znaleźć w polu�������� �'�

1 Nie odnaleziono pliku. Została podana niewłaściwa nazwa

2 Dostęp zabroniony. Niewystarczające uprawnienia dostępu spowodowały błądw transmisji danych

3 Brak miejsca na dysku lub możliwości alokacji przekroczone

4 Niedozwolona operacja TFTP

5 Nieznany identyfikator transmisji

6 Istnieje plik o podanej nazwie

7 Nie ma takiego użytkownika

� Pole �**!*��#��&+# jest zapisywane w formacie NETASCII i uzupełnia kodbłędu opisem tekstowym, użytecznym przy rozwiązywaniu problemu.

� Wartość ,. Pole �**!*��#��&+# ma zmienną długość i zawsze zakończone jestbajtem zerowym.

Łączenie z serwerem TFTP

Kiedy klient łączy się z serwerem TFTP, powtarzają się dwie podstawowe transakcje.Klient albo przekazuje dane do serwera, korzystając z żądania zapisu, albo pobiera danez serwera, korzystając z żądania odczytu.

Page 24: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 351

Rysunek 15.6 ilustruje przebieg komunikacji, kiedy do serwera przesyłane jest żąda-nie zapisu.

Rysunek 15.6.Żądanie zapisuna serwerze TFTP

Stacja wysyłająca (Stacja A) wysyła komunikat TFTP z kodem operacji ustawionymna 2 dla zasygnalizowania żądania zapisu. Portem źródłowym (zapisanym w komuni-kacie) będzie wybrany losowo port o numerze wyższym niż 1024. Portem przezna-czenia żądania zapisu jest zawsze port UDP o numerze 69. Serwer TFTP (Stacja B)odpowiada komunikatem potwierdzającym. Numerem bloku w tym komunikaciebędzie 0. Informuje to o gotowości serwera TFTP do odbierania danych od stacji wy-syłającej. Losowo wybrany port źródłowy komunikatu potwierdzającego będzie odtądwykorzystywany do odbierania przychodzącej transmisji danych. Ta zmiana portunasłuchu jest znaczną przeszkodą dla systemów firewall przy klasyfikowniu popraw-ności odpowiedzi na wcześniejsze żądanie TFTP. Dane będą przesyłane w pakietach512-bajtowych. Pakiet o mniejszej długości będzie pakietem ostatnim.

Rysunek 15.7 przedstawia przebieg komunikacji, kiedy klient pobiera plik z serweraTFTP.

Rysunek 15.7.Żądanie odczytuz serwera TFTP

Stacja A przesyła komunikat żądania odczytu do stacji B. Kod operacji jest ustawianyna wartość 1, co sygnalizuje, że jest to komunikat ���. Portem źródłowym (zapisanymw komunikacie) jest losowo wybrany port UDP. Będzie on wykorzystywany do prze-syłania danych. W tym przypadku jest to 1044. Standardowo, żądanie odczytu będzieprzesyłane zawsze do portu o numerze 69 serwera. Serwer odpowiada pakietem �� �.Pierwszy taki pakiet będzie opisany numerem bloku 1 i będzie zawierał 512 bajtówdanych. W pakiecie tym serwer podaje identyfikator swojego portu protokołu trans-portowego. Każdy kolejny pakiet danych będzie zawierał 512 bajtów danych i numerbloku o 1 wyższy od poprzedniego. Wielkość ostatniego pakietu będzie zazwyczaj mniej-sza niż 512 bajtów.

Page 25: TCP/IP dla każdego

352 TCP/IP dla każdego

Oprogramowanie klienta TFTP

W większości powłok systemu UNIX i systemów Windows narzędzie � � ma formępolecenia tekstowego pozwalającego na przesłanie danych do lub z serwera TFTP. Skład-nia polecenia jest następująca:

$ ���0�����������+� �Q��� ��������������������������

� �$. Użycie opcjonalnego przełącznika �$ ustawia tryb przesyłania danychna � � , czyli transmisję binarną. Gdy nie przełącznik zostanie użyty,domyślnym trybem przesyłania jest �� �����, odpowiedni dla plikówtekstowych.

� ������. Nazwa stacji serwera TFTP.

� -� . Transakcja polegająca na skopiowaniu pliku z serwera TFTP do stacji,na której zostało uruchomione oprogramowanie klienta.

� �� . Transakcja polegająca na skopiowaniu pliku ze stacji, na której zostałouruchomione oprogramowanie klienta, do serwera TFTP.

� ����. Nazwa pliku, który ma zostać pobrany z lub przekazany do serwera TFTP.

� � �������������. Nazwa, która ma zostać użyta do zapisania pliku po jegoprzesłaniu. Często określa się ją jako docelową nazwę pliku.

Typowe zastosowania TFTP

Protokół TFTP nie jest zbyt często używany do „zwykłego” przesyłania danych. Jegonajpowszechniejszym zastosowaniem jest pobieranie informacji konfiguracyjnych sta-cji. Dwie podstawowe sytuacje tego rodzaju to konfigurowanie routerów oraz konfigu-rowanie stacji BOOTP.

Routery mogą przechowywać parametry konfiguracyjne na serwerze TFTP. Jest to jednaz metod zapobiegania awariom i ich następstwom. W przypadku wyłączenia routeraz użytkowania jego właściwe ustawienia mogą zostać pobrane z serwera TFTP przezrouter zastępczy (lub ten sam po wykonaniu naprawy).

Warto zadbać o to, żeby router zastępczy korzystał z tego samego oprogramowa-nia systemowego i w miarę możliwości był nawet tą samą wersją routera. W przy-padku routerów Cisco, każde nowe oprogramowanie systemowe routera pozwalana korzystanie z dodatkowych parametrów konfiguracyjnych.

Protokół BOOTP przewiduje odniesienie do serwera TFTP, który zawiera pliki konfi-guracyjne klienta BOOTP. Po otrzymaniu z serwera BOOTP początkowej konfigura-cji IP następuje kontakt z serwerem TFTP w celu pobrania systemu operacyjnego.Jest to wyjątkowo efektywna metoda przesyłania danych do klientów BOOTP. Na jejwykorzystanie pozwalają również niektóre wersje oprogramowania DHCP. Najlepszymprzykładem połączonego zastosowania protokołów TFTP i DHCP jest usługa RIS firmyMicrosoft służąca do instalowania systemów operacyjnych klientów — Windows 2000Professional i Windows XP Professional.

Page 26: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 353

Remote Copy Protocol (RCP)

Protokół zdalnego kopiowania (ang. RCP — Remote Copy Protocol) jest częścią pakietuR-Utilities. Pozwala on na kopiowanie katalogów i ich zawartości ze stacji odległeji na nią.

Podobnie jak w przypadku opisanych w poprzednim rozdziale narzędzi ��� i ��-��,polecenie ��� wykorzystuje pliki .!���/#01$2 i /*.!��� do określenia, które stacjei którzy użytkownicy mają prawo do korzystania z polecenia.

Składnia polecenia ��� jest następująca:

����0��� ���P�7@"��*7� ���P�8@"��*8

� �*. Opcja pozwalająca na kopiowanie z podkatalogami.

� ��& 3&45��$(4. Plik, który będzie kopiowany. Jeżeli stacją źródłowąjest komputer lokalny, wystarczy podać katalog i nazwę pliku.

� ��& 3&65��$(6. Docelowy plik i katalog kopiowania.

Aby skopiować plik budzet.txt z lokalnego katalogu /usr/bkomar/raporty do katalogu/usr/dneilan na zdalnej stacji DNEILAN, należy wprowadzić następujące polecenie:

���1� �1D*�)��1��"���#1D�&���-�<��&������@1� �1&������

Podobnie, aby skopiować zawartość całego katalogu /data/ksiegowosc do katalogu/data/budzet na zdalnej stacji IRONMAN, użyjemy polecenia:

���0��1&���1* ��'�H� ������)��@1&���1D�&���

Jeżeli z kolei zamierzamy skopiować katalog /data/marketing na stacji DNEILANi wszystkie w nim zawarte podkatalogi do katalogu /data/marketing/2002 na stacjiIRONMAN, polecenie będzie wyglądać następująco:

���0��&������@1&���1)��*����'�����)��@1&���1)��*����'18==8

HyperText Transfer Protocol (HTTP)

Protokół przesyłania hipertekstu (ang. HTTP — HyperText Transfer Protocol) jest pro-tokołem wykorzystywanym do przeglądania WWW (ang. World Wide Web — „ogólno-światowa pajęczyna”). Jest on oparty na mechanizmie pytanie-odpowiedź. Klient żądaprzesłania strony z serwera WWW, odpowiedzią serwera jest przesłanie tejże strony.

Protokół HTTP pracuje w warstwie aplikacji. Klient wysyła zapytanie do serwera HTTP(standardowo do portu TCP 80). Serwer interpretuje zapytanie i wysyła właściwą odpo-wiedź. Faktyczny przebieg komunikacji ma naturę bezpołączeniową i bezstanową. Poudzieleniu odpowiedzi na zapytanie klienta połączenie jest zrywane do czasu otrzy-mania następnego zapytania. Wyjątkiem od tej zasady jest korzystanie przez klienta z me-chanizmów utrzymywania połączenia przez klienta (ang. keep-alive) zapewnianych

Page 27: TCP/IP dla każdego

354 TCP/IP dla każdego

przez HTTP 1.1. W tym przypadku klient nie ustanawia nowych sesji, ale utrzymujeistniejące połączenie.

W zapytaniach HTTP wykorzystuje się kilka metod. Należą do nich:

� -� ,

� ����,

� �� ,

� �� ,

� ���� �,

� ����,

� ����� .

Metoda -� wykorzystywana jest w zapytaniu HTTP w celu uzyskania określonej infor-macji. Pozwala ona na pewną elastyczność, opartą na instrukcjach ��. Ich wykorzysta-nie prowadzi do tzw. warunkowego -� . Jeżeli podany warunek jest spełniony, dane sąprzesyłane. Pozwala to klientom HTTP używać buforowanych kopii stron WWW, jeżelinie zmieniły one swojej zawartości. Przyczynia się to do lepszego wykorzystywaniapasma przesyłania sieci.

Metoda ���� funkcjonuje podobnie jak -� z tym wyjątkiem, że treść przesyłki niejest zwracana do klienta. Jest to więc metoda często stosowana do określania, czy łączedo określonego zasobu jest poprawne i czy zasób ten nie uległ zmianie. Wykrywaniezmian jest oparte na porównaniu danych wysłanych w nagłówku zapytania z zawarto-ścią nagłówka odpowiedzi.

Metoda �� pozwala zażądać od serwera przyjęcia załączonych danych jako nowej,skierowanej do niego publikacji. Można ją wykorzystać do wysyłania listów do grupydyskusyjnej, odsyłania wypełnionych formularzy HTML serwerowi HTTP albo do-dawania rekordów danych do bazy przechowywanej na serwerze.

Metodę �� wykorzystuje się do umieszczania wysyłanych danych w ściśle określonymw zapytaniu miejscu. Różni się ona od metody �� możliwością określenia docelo-wej lokalizacji danych. Jeżeli dane już się w niej znajdują, nowa przesyłka powinnabyć traktowana jako aktualizacja danych istniejących.

Metoda ���� � jest żądaniem usunięcia przez serwer określonych zasobów. Czynnośćtę może powstrzymać interwencja administratora lub odpowiednie zabezpieczenieserwera. Odpowiedź pozytywna będzie przesłana jedynie wówczas, gdy serwer HTTPfaktycznie może usunąć dane.

Metoda ���� pozwala na skontrolowanie poprawności odbierania danych przez serwer.Odpowiedź ���� jest taka sama jak odebrane przez serwer zapytanie. Pozwala to natestowanie zapytań i rozwiązywanie problemów ich dotyczących.

Metoda ����� jest zarezerwowana do użytku przez mechanizm zabezpieczeń TSL(ang. Transport Layer Security).

Page 28: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 355

Obecnym standardem protokołu HTTP jest HTTP 1.1. Do nowych cech tej wersji należą:

� Trwałe połączenia. HTTP w wersji 1.1 pozwala na obsługę wielu zapytańw jednym połączeniu. Wcześniejsze wersje wymagały ustanawiania osobnychpołączeń dla każdej z grafik osadzonych na stronie WWW.

� Przetwarzanie potokowe. Dozwolone jest przesyłanie do serwera kolejnychzapytań jeszcze przed otrzymaniem odpowiedzi na zapytanie początkowe.Pozwala to na zwiększenie wydajności.

� Dyrektywy buforowania. Wprowadzenie dyrektyw buforowania pozwala naignorowanie i optymalizowanie domyślnych algorytmów zarówno serwera,jak i klienta.

� Nagłówki stacji. Ta opcja HTTP 1.1 pozwala na wiązanie wielu nazw stacjiz jednym adresem IP. Pozwala to uniknąć przypisywania kilku różnychadresów IP serwerowi WWW obsługującemu kilka serwerów wirtualnych.Nagłówek stacji pozwala określić, do którego wirtualnego serwera zapytaniejest skierowane.

� Opcje �� i ���� �. Polecenia pozwalające zdalnemu administratorowi wysyłaći usuwać zawartość serwera WWW przy użyciu standardowej przeglądarki.

� Przekierowania HTTP. Mechanizm pozwalający administratorowi na skierowanieużytkownika do innej strony lub ośrodka WWW, gdy strona staje się niedostępnalub zostaje usunięta.

Obecnie stosuje się powszechnie trzy serwery HTTP. Najpopularniejszy jest APACHEWeb server. Pracuje on w większości systemów UNIX i Linux oraz na platformachWindows. Pozostałe dwa to SuiteSpot firmy Netscape i Internet Information Server(IIS) firmy Microsoft. Netscape SuiteSpot pracuje na większości platform, w tymWindows NT, Linux i SCO UNIX. Microsoft IIS pracuje wyłącznie na platformach Win-dows NT, Windows 2000 Server i Windows .NET Server.

HTTP a bezpieczeństwo

Do zabezpieczenia informacji przesyłanych połączeniami HTTP może zostać zasto-sowanych kilka metod. Dwie najpopularniejsze są oparte na szyfrowaniu transmisjidanych i uwierzytelnianiu zarówno klienta, jak i serwera. Noszą one nazwy: SSL (ang.Secure Sockets Layer — warstwa gniazd bezpiecznych) i TSL (ang. Transport LayerSecurity — zabezpieczenia warstwy transportu).

Zarówno SSL, jak i TLS funkcjonują jako dodatkowa warstwa pomiędzy warstwą trans-portową TCP/IP, a warstwą aplikacji. Wszystkie transmisje między klientem a serwerempodlegają szyfrowaniu i deszyfrowaniu przez warstwę SSL lub TLS. Główna różnicamiędzy oboma protokołami polega na tym, że szeroko stosowany protokół SSL niezostał zdefiniowany w dokumencie RFC. Protokół TLS został opisany w dokumencienr 2246, a jego interakcje z protokołem HTTP 1.1 w dokumentach RFC 2817 i 2818.

Szyfrowanie SSL i TLS opiera się na cyfrowych certyfikatach SSL. Rysunek 15.8 ilu-struje typowy przebieg komunikacji SSL.

Page 29: TCP/IP dla każdego

356 TCP/IP dla każdego

Rysunek 15.8.Proces wymianypotwierdzeń SSL

1. Klient przesyła serwerowi żądanie przyznania zabezpieczeń.

2. Serwer przesyła klientowi jego certyfikat. Zawiera on klucz publiczny klientaoraz opcje szyfru.

W tym momencie, po otrzymaniu certyfikatu serwera, klient może zgłosić błąd. Ma onnajczęściej jedną z dwóch przyczyn:

Pierwszą jest niezgodność nazwy podmiotu certyfikatu z pełną, kwalifikowaną nazwąserwera WWW. Tak dzieje się wtedy, gdy organizacja przeniesie witrynę WWW nainny serwer, o odmiennej nazwie.

Drugą przyczyną odmowy komunikacji może być pochodzenie komunikatu ze źródłanie wymienionego na przechowywanej przez klienta liście zaufanych wystawcówcertyfikatów. Aby certyfikat został uznany, musi istnieć nadrzędny organ certyfika-cyjny, który zarówno klient, jak i serwer uznają za zaufany.

3. Klient generuje klucz główny.

4. Klient szyfruje klucz główny przy użyciu klucza publicznego serweraotrzymanego w kroku 2. Tak zabezpieczony klucz główny klienta możezostać odszyfrowany wyłącznie przy użyciu klucza prywatnego obecnegotylko na serwerze.

5. Klient przesyła zaszyfrowany klucz główny do serwera.

6. Serwer odszyfrowuje klucz główny klienta przy użyciu własnego kluczaprywatnego.

7. Serwer uwierzytelnia się u klienta, przesyłając komunikat zaszyfrowanyprzy użyciu klucza głównego klienta. Obie strony połączenia zostają w tensposób uwierzytelnione.

Klucz publiczny i klucz prywatny

Wiele mechanizmów szyfrowania korzysta z systemu klucza prywatnego i klucza publicznego.Pakiet zaszyfrowany przy użyciu klucza prywatnego może zostać odszyfrowany jedynie przyużyciu odpowiadającego mu klucza publicznego. Podobnie pakiet zaszyfrowany przy użyciuklucza publicznego może zostać odszyfrowany jedynie przy użyciu prywatnego.

Page 30: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 357

Jak określić, czy używane jest SSL

Wszystkie strony WWW wyposażone w mechanizm SSL mają adres URL rozpoczynający sięod HTTPS://. Na stronach, których adres nie zaczyna się w taki sposób, nie należy poda-wać żadnych cennych informacji, jak choćby numeru karty kredytowej. Przeglądarki WWWzapewniają również dodatkowe wskaźniki bezpiecznego połączenia. W przeglądarce NetscapeNavigator, przy dolnej krawędzi okna, pojawia się kluczyk. Również w przeglądacre InternetExplorer u dołu okna pojawia się właściwy znacznik — kłódka.

Wszelkie dalsze dane są szyfrowane i odszyfrowywane przy użyciu przesłanego ser-werowi klucza głównego.

Network File System (NFS)

Sieciowy system plików (ang. NFS — Network File System) został opracowany w fir-mie Sun Microsystems w celu umożliwienia klientom sieciowym przezroczystego dlanich dostępu do zdalnych systemów plików. Określenie „przezroczysty” oznacza tu,że klient nie zdaje sobie sprawy z tego, że korzysta z plików na serwerze zdalnym. Plikidostępne są w sposób identyczny, jak pliki lokalne. W celu utworzenia uchwytu plikułączącego z zasobem zdalnym, klient wykonuje operację instalowania (ang. mounting).Uchwyt zapewnia możliwość korzystania z sieciowego źródła plików podobnie jakz zasobu lokalnego. Ukoronowaniem tej operacji jest przypisanie źródłu zdalnemu li-tery dysku. Funkcje te są realizowane przez zdalne wywołania procedur (RPC) na po-ziomie sesji oraz mechanizm zewnętrznej reprezentacji danych w warstwie reprezen-tacji modelu OSI (patrz rysunek 15.9).

Rysunek 15.9.Oprogramowanie NFS

Jako podstawowy protokół transportu NFS wykorzystuje UDP, choć od wersji NFS 3.0(aktualnie najnowsza to NFS 4.0) może używać do tego celu również protokołu TCP.Klient w celu uzyskania dostępu do zdalnych źródeł plików łączy się z portem TCPlub UDP serwera NFS o numerze 2049.

Protokół NFS został zrealizowany w formie protokołu bezstanowego. Serwer nie śledziwykonywanych operacji dyskowych. Do klienta należy odpowiedzialność za zarzą-dzanie wszystkimi działaniami i ich śledzenie. Taki model realizowania operacji okre-śla się terminem powtarzalny (ang. idempotent). Klient musi dokładnie opisać wyko-nywaną operację. Nie może liczyć na to, że serwer będzie pamiętał treść transakcjiwcześniejszych.

Page 31: TCP/IP dla każdego

358 TCP/IP dla każdego

Przykładem może być tu operacja zapisu, przy której klient określa:

� plik, w którym będą zapisywane dane (poprzez uchwyt),

� liczbę zapisywanych bajtów,

� początkowy punkt operacji.

Ponieważ operacje NFS opierają się zazwyczaj na protokole UDP, klient NFS przedprzejściem do transakcji kolejnej oczekuje na potwierdzenie. Jeżeli nie zostanie onootrzymane, po czasie mierzonym zegarem retransmisji klient ponawia próbę zrealizo-wania transakcji. Czynność ta jest powtarzana aż do przekroczenia określonej progowejliczby ponowień. Wówczas transakcja zostaje uznana za zakończoną niepowodzeniem.

Chociaż rozwiązanie takie może się wydawać nieefektywne, to pozwala na zachowaniewzględnej prostoty architektury serwera NFS. Serwer może ulec awarii lub zostać zre-startowany i w dalszym ciągu utrzymywać połączenia stacji klienckich. Powtarzają onepróby wykonania operacji do czasu ponownej dostępności serwera.

NFS i TCP

Wersja NFS 3.0 wprowadza możliwość komunikacji klienta i serwera opartej naprotokole transportowym TCP. Główną korzyścią płynącą ze stosowania TCP jestmożliwość wykorzystywania do przesyłania transakcji mechanizmu „okien prze-suwnych” (ang. sliding windows). Zamiast oczekiwania na potwierdzenie każdegożądania zapewniona jest możliwość efektywnego przesyłania kolejnych. Uzyskiwa-ny wzrost wydajności w stosunku do UDP sięga 200%.

Remote Procedure Calls (RPC)

Zdalne wywołania procedur (RPC ang. — Remote Procedure Calls) pełnią znaczącąrolę w realizacji NFS. Pozwalają klientowi na wykorzystywanie plików serwera zdal-nego. Zapewniają możliwość traktowania zdalnego procesu udostępniania plików po-dobnie jak zasobu lokalnego.

Mechanizm realizacji wywołań RPC jest podobny do wykorzystywanego w programo-waniu wywoływania funkcji. Wykonanie RPC na stacji zdalnej przebiega na poziomiezabezpieczeń użytkownika wywołującego. Zapewnia to zachowanie wprowadzonychzasad ochrony również w sytuacji wykonywania procedury na stacji zdalnej.

Rysunek 15.10 przedstawia przebieg komunikacji podczas realizowania przez stacjęzdalną wywołania RPC.

1. Aplikacja klienta przekazuje procedurze pośredniczącej (ang. client stub)zwykłe wywołanie funkcji.

2. Procedura pośrednicząca przekształca parametry wejściowe z lokalnejreprezentacji danych na reprezentację pośrednią, używaną w komunikacjipomiędzy stacjami korzystającymi z różniących się reprezentacji wewnętrznych.W tym przykładzie „reprezentacja danych” oznacza system wykorzystywany

Page 32: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 359

Rysunek 15.10.Komunikacja RPC

przez stację lokalną do przechowywania znaków i danych. Przykłademróżniących się reprezentacji może być komunikacja stacji wykorzystującejsystem ASCII ze stacją wykorzystującą EBCDIC.

3. Procedura pośrednicząca wywołuje bibliotekę wykonawczą klienta(ang. client runtime). Jest to zazwyczaj biblioteka procedur pełniąca funkcjewymagane przez procedurę pośredniczącą.

4. Biblioteka wykonawcza przesyła komunikat zawierający kapsułkowanąreprezentację XDR wywołania funkcji do biblioteki wykonawczej serwera.

5. Biblioteka wykonawcza serwera przekazuje wywołanie procedurzepośredniczącej serwera.

6. Procedura pośrednicząca przekształca kapsułkowane parametry z postacipośredniej na reprezentację danych wykorzystywaną przez stację serwera.

7. Procedura pośrednicząca następnie wywołuje aplikację serwera i przekazujedane wejściowe klienta do dalszego przetwarzania.

8. Po zakończeniu przetwarzania aplikacja serwera zwraca zbiór wynikówprocedurze pośredniczącej.

9. Procedura pośrednicząca serwera przekształca zbiór wyników i pozostałeparametry z nim związane na reprezentację pośrednią, wykorzystywanąw transmisji. Komunikat zawierający kapsułkowane dane jest przekazywanybibliotece wykonawczej.

10. Biblioteka wykonawcza serwera przesyła komunikat do bibliotekiwykonawczej klienta.

11. Biblioteka wykonawcza klienta przekazuje komunikat procedurzepośredniczącej.

Page 33: TCP/IP dla każdego

360 TCP/IP dla każdego

12. Procedura pośrednicząca odczytuje zawarty w komunikacie zbiór wynikówi przekształca na lokalną reprezentację danych klienta.

13. Procedura pośrednicząca zwraca zbiór wyników i dołączone do nichparametry funkcji wywołującej.

External Data Representation (XDR)

Zewnętrzna reprezentacja danych (ang. XDR — External Data Representation) za-pewnia format pośredni, wykorzystywany przez wywołania RPC podczas przesyłaniadanych pomiędzy systemami klienta i serwera. Wprowadzenie formatu XDR było uwa-runkowane koniecznością rozwiązania następujących problemów wymiany binarnychdanych między systemami heterogenicznymi:

� różne uporządkowanie bajtów w ramach struktur wielobajtowych1,

� różne reprezentacje typów danych (jak np. kody EBCDIC i ASCII),

� wyrównywanie struktur.

Format XDR zawsze pośredniczy w przesyłaniu danych pomiędzy systemami klientai serwera. Zapewnia to, że system odbierający zawsze otrzyma dane w czytelnej dlaniego postaci.

Portmapper

NFS nie jest jedyną aplikacją korzystającą z wywołań RPC. Ze względu na możliwośćkorzystania z wywołań zdalnych przez różne aplikacje jednocześnie, na wszystkichserwerach realizujących połączenia RPC z klientami obecny jest program mapujący— portmapper. Kiedy klient łączy się z serwerem w celu komunikowania się z apli-kacją za pomocą RPC, portmapper rozpoczyna swoje działania od określenia, czy naserwerze została uruchomiona aplikacja. Jeżeli tak, systemowi klienta zwracany jestodpowiedni numer portu. Klient korzysta z niego do czasu zakończenia pracy aplikacji.

Portmapper używa portów UDP i TCP o numerze 111. Każda uruchamiana na serwerzeusługa RPC informuje program mapujący o numerach wykorzystywanych portów.

Procedury wywoływane przez NFS

System NFS korzysta z określonych, przeznaczonych dla niego wywołań RPC. Zapew-niają one realizację wymaganych przez klienty funkcji.

1 W najprostszym przykładzie struktury wielobajtowej, jaką jest dwubajtowa liczba całkowita,bardziej znaczący bajt może znajdować się pod wyższym adresem (jak w procesorach Intela 80×86— konwencja taka określana jest potocznie little-endian) albo pod adresem niższym (jak np.w procesorach Motoroli — big-endian); zasada ta dotyczy konsekwentnie wszystkich wielobajtowych(dwu-, cztero- i ew. ośmiobajtowych) liczb całkowitych w danym procesorze — przyp. red.

Page 34: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 361

� ����. Procedura, która nie powoduje wykonania żadnej czynności. Pozwalasprawdzić, czy serwer NFS odpowiada na wywołania.

� -� � �. Procedura -#���$�#����*$71�#� (pobierz atrybuty pliku) pozwalauzyskać atrybuty znajdującego się na serwerze pliku. Należą do nich m.in.ochrona, właściciel, rozmiar i czasy dostępu.

� �� � �. Procedura �#���$�#����*$71�#� (ustaw atrybuty pliku) zmieniaatrybuty pliku.

� � . Procedura ta nie jest już używana. Była wykorzystywana do instalowaniasystemów plików. Obecnie zapewnia to protokół montowania, opisany dalej.

� ����. Procedura �!!(1���$�#%&'# (wyszukaj nazwę pliku) przeszukujedla klienta określony katalog. Zwraca zarówno uchwyt, który będziewykorzystywany przez klienta w dostępie do pliku, jak i atrybuty.

� ������. Procedura � #�� (dostęp) sprawdza prawa dostępu użytkownika.

� ��������. Procedura �#&"��*!'��8'7!�$ ��$%( (odczytaj z dowiązaniasymbolicznego) odczytuje wartość przechowywaną w dowiązaniu symbolicznym.

� ����. Procedurę �#&"��*!'��$�# (odczytaj z pliku) klient wykorzystujedo odczytywania zawartości pliku.

� ��� �. Procedurę �*$�#� !��$�# (zapisz do pliku) klient wykorzystujedo zapisywania danych do pliku.

� ���� �. Procedura �*#&�#��$�# (utwórz plik) tworzy w katalogu plik.

� �����. Procedura �*#&�#��$*# �!*8 (utwórz katalog) tworzy katalog.

� ������. Procedura �*#&�#��8'7!�$ ��$%( (utwórz dowiązanie symboliczne)tworzy symboliczne dowiązanie istniejącego pliku.

� ����. Procedura �*#&�#���# $&���#2$ # (utwórz urządzenie specjalne)tworzy pliki urządzeń oraz potoki nazwane.

� �����. Procedura �#'!2#��$�# (usuń plik) usuwa plik.

� �����. Procedura �#'!2#��$*# �!*8 (usuń katalog) usuwa pusty katalog.

� ������. Procedura �#%&'# (zmień nazwę) zmienia nazwę pliku lub katalogu.

� ����. Procedura �$%( (dowiązanie) tworzy dowiązanie zwykłe istniejącego pliku.

� �������. Procedura �#&"��*!'��$*# �!*8 (odczytaj katalog) pozwala przejrzećzawartość katalogu. Wymaga ona wykorzystania informacji o stanie połączeniaklienta z serwerem, aby zawartość katalogu mogła zostać zwrócona w całości.Zapewnia to „magiczne ciasteczko” (ang. magic cookie) zawierające wskaźnikdo następnego pliku, którego dotyczą zwracane informacje. Funkcja zwracanazwy plików i ich numery identyfikacyjne.

� �����������. Procedura �9�#%"#"��#&"��*!'��$*# �!*8 (odczytaj rozszerzoneinformacje katalogu) również zwraca zawartość katalogu i funkcjonuje podobniejak �������. Oprócz nazwy i numeru identyfikacyjnego pliku, zwraca jegoatrybuty i uchwyt. Znacznie zwiększa efektywność przeglądania katalogów.

Page 35: TCP/IP dla każdego

362 TCP/IP dla każdego

� ��� � . Procedura -#���8%&'$ ��$�#��8��#'��%�!*'&�$!% (pobierz dynamicznedane systemu plików) zwraca ulotne informacje o stanie systemu plików. Jeżeliserwer NFS nie obsługuje wszystkich atrybutów, zwraca wszystkie, któremoże. We wcześniejszych wersjach NFS polecenie to nosiło nazwę � � ��.

� �����. Procedura -#����&�$ ��$�#��8��#'��%�!*'&�$!% (pobierz statycznedane systemu plików) ściąga trwałe informacje o stanie systemu plików orazogólne informacje o implementacji serwera NFS.

� �� ����. Procedura �&�.��!%�$+1*&�$!% (konfiguracja ścieżki) zwracainformacje specyficzne dla systemu POSIX. Obejmują one maksymalną liczbęłączy zwykłych, maksymalną długość nazwy obiektu, sposób obsługi obcięcianazwy uchwytu oraz tryb rozróżniania wielkich i małych liter.

� ���� . Procedura �!''$� (zatwierdź) powoduje zapisanie danych wcześniejprzekazanych wywołaniem ��� �, a przechowywanych w buforze (pamięcipodręcznej) na dysku. Zabezpiecza to przed utratą danych oczekujących nazapisanie w buforze serwera.

Metody uwierzytelniania

Mechanizm RPC przewiduje uwierzytelnianie wywołań klienta. Dodatkowo w NFS 4.0wprowadzona została obsługa wywołań zwrotnych, co pozwala potwierdzić, że klientprzesyłający wywołanie RPC ma wystarczające uprawnienia. NFS 3.0 obsługuje nastę-pujące mechanizmy uwierzytelniania:

� �� �:���,

� �� �:���;,

� �� �:��� ,

� �� �:���,

� �� �:��,

� �� �:��,

� �� �:���<,

� ������:-��.

AUTH_NONE

Uwierzytelnianie �� �:��� faktycznie nie istnieje, sprowadza się bowiem do brakujakiegokolwiek uwierzytelnienia. Jest często wykorzystywane do dostępu do danychprzeznaczonych tylko do odczytu, które nie są pod żadnym względem poufne. Dostępdo takich zbiorów nie wymaga uwierzytelnienia użytkownika.

AUTH_UNIX

Metoda �� �:���; jest oparta na tradycyjnym uwierzytelnianiu uniksowym. Wyko-rzystanie tego mechanizmu wymaga podania przez klienta NFS identyfikatora użyt-kownika (UID), identyfikatora grupy (GID) oraz informacji o grupie.

Page 36: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 363

Kiedy stosowany jest mechanizm uwierzytelniania �� �:���;, dobrze jest korzystaćz usługi informacji NIS. Zapewniona jest w ten sposób wspólna dla wszystkich stacjii jednolita baza kont.

Podstawowym problemem związanym z mechanizmem �� �:���; jest przesyłanie ca-łości wymaganych do uwierzytelnienia danych tekstem jawnym. Program monitoru-jący sieć może przechwycić transmisję i wykorzystać uzyskane dane do naśladowaniaklienta w realizacji własnych wywołań.

AUTH_SHORT

W metodzie uwierzytelniania �� �:��� sekwencja uwierzytelniająca klienta jestoparta na danych zwróconych przez serwer. Jest to zazwyczaj wykorzystywane przykontynuacji połączenia RPC. Klient odwołuje się w wywołaniu do połączenia poprzed-niego, dzięki czemu proces zostaje skrócony.

AUTH_DES

Metoda �� �:��� wykorzystuje w transmisji pakietów uwierzytelnianie DES (ang. DES— Data Encryption Standard — standard szyfrowania danych). Wykorzystywany jestmodel klucza publicznego i prywatnego oraz kluczy sesji.

Zalety uwierzytelniania DES w stosunku do uwierzytelniania uniksowego są następujące:

� metoda uwierzytelniania nie jest związana z określonym systemem operacyjnym,

� mechanizm uwierzytelniania stosuje do przesłania niezbędnych danychtransmisję szyfrowaną,

� aby podszyć się pod klienta, konieczne jest uzyskanie klucza prywatnegolub hasła sieciowego klienta.

AUTH_SYS

Metoda uwierzytelniania �� �:���opiera się na danych wprowadzonych wcześniej, przyuwierzytelnianiu użytkownika przez system operacyjny.

AUTH_DH

W metodzie �� �:���klient generuje sekwencję uwierzytelniania, a serwer zwraca da-ne mechanizmu uwierzytelniania. Sposób ten stosuje się zasadniczo przy wznawianiupołączeń RPC — odwołanie do sesji wcześniejszej pozwala skrócić czas inicjowaniakomunikacji.

AUTH_KRB4

Mechanizm uwierzytelniania �� �:���< jest oparty na systemie Kerberos 4. Jego prze-wagą nad wszystkimi innymi metodami szyfrowania jest konieczność wykazania sięposiadaniem klucza prywatnego bez jego jednoczesnego ujawnienia.

Page 37: TCP/IP dla każdego

364 TCP/IP dla każdego

W systemie Kerberos klient przedstawia jedynie bilet sesji wydany przez Centrumdystrybucji kluczy (KDC). Dodatkową zaletą tego mechanizmu jest możliwość uwie-rzytelnienia również usługi. Klient może więc upewnić się, że łączy się z usługą wła-ściwą, a nie oszustem.

RPCSEC_GSS

Opcja ������:-�� wprowadza w systemie NFS rozszerzalny mechanizm uwierzytelnia-nia. Wykorzystanie API GSS i LIPKEY pozwala wykorzystywać protokoły takie jakKerberos 5 i metody oparte na kluczu publicznym jako protokoły uwierzytelniania NFS.

������:-�� nie jest kolejnym mechanizmem uwierzytelniania, ale interfejsem progra-mowania apikacji, który umożliwia współpracę innych popularnych protokołów uwie-rzytelniania z usługą systemu plików oraz uwierzytelnianie obu stron komunikacji.

Instalowanie systemu plików

System NFS 4.0 przewiduje możliwość zapewnienia standardowego mapowania ścieżeksieciowych do obiektów plikowych klienta NFS. Jest to rodzima cecha sieciowegosystemu plików nie wymagająca, jak we wcześniejszych wersjach NFS, odwoływaniasię do tzw. protokółu instalowania systemów plików.

Wcześniejsze wersje systemu NFS

W poprzednich wersjach NFS protokół instalowania systemów plików (ang. mount protocol)był osobnym protokołem wykorzystywanym w mechanizmie NFS do realizacji następującychzadań:

� określanie ścieżek dostępu do serwerów,

� zatwierdzanie użytkowników,

� weryfikowanie praw dostępu,

� zapewnianie klientom dostępu do katalogu root zdalnego systemu plików (przez podanieuchwytu do punktu dostępu).

Pozostawały one oddzielone od protokołu NFS, co zapewniało możliwość modyfikowaniametod dostępu i sprawdzania poprawności bez konieczności zmieniania samego protokołuNFS. Protokół instalowania jako mechanizm uwierzytelniania wykorzystuje obecnie metody

�� �:���, �� �:���;, �� �:��� , �� �:��� i �� �:���� (wcześniejsza wersja uwierzytel-niania Kerberos).

Protokół NFS wykorzystuje następujące procedury RPC do instalowania i usuwaniainstalacji systemów plików:

� ���. Wykonuje wszystkie operacje wyszukiwania, tworzenia i udostępnianiaplików. Jest to pojedyncza procedura wykonująca wszystkie typy operacji.

� ����. Powoduje wyjście ze stanu zainicjowanego procedurą ���.

Page 38: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 365

Klient nawiązujący komunikację z serwerem NFS inicjuje połączenie poprzez utworze-nie uchwytu plikowego (ang. file handle). W systemie NFS 4.0 pierwszym uchwytemklienta może być:

� Uchwyt plikowy root. „Korzeń” drzewa przestrzeni nazw systemu plików(z perspektywy klienta). Klient tworzy połączenie z uchwytem root, inicjującoperację �� � ��. Uzyskuje wówczas możliwość wyszukiwania i używaniaplików drzewa serwera NFS. Używa do tego celu procedury ����.

� Publiczny uchwyt plikowy. Uchwyt plikowy, który może być dowiązany dodowolnego innego obiektu systemu plików serwera NFS.

Jest dopuszczalne, żeby uchwyty root i publiczny odwoływały się do tego samegoobiektu systemu plików. Utworzenie odpowiednio zabezpieczonej konfiguracji uchwy-tów należy do administratora NFS.

Blokowanie plików pod kontrolą NFS

W starszych wersjach (przed 4.0) NFS był protokołem bezstanowym — realizacjablokowania wymaga zastosowania protokołu dodatkowego. Istotą blokowania plikówjest uniemożliwienie dostępu do pliku więcej niż jednemu klientowi jednocześnie (jeżelinie jest to wymagane przez aplikację). Funkcję tę zapewnia systemowi NFS w wersji3.0 protokół menedżera blokowania sieciowego (ang. NLM — Network Lock Manager).

W wersji 4.0, model blokowania uległ istotnej zmianie. W miejsce NLM wprowadzonezostało utrzymywanie stanu blokady oparte na dzierżawach. Dla każdego klienta przyłą-czanego do zasobu NFS serwer określa pewien okres, przez który inne klienty nie mogąuzyskiwać dostępu do tego samego zasobu. Dzierżawa może być ponawiana operacją��� lub, prościej, poprzez wykonanie operacji odczytu z zasobu.

Jest to prostsza procedura niż w przypadku NLM (w NFS 3.0). Protokół NLM określa,który klient korzysta z blokady pliku. Blokada może być albo wyłączna (dostęp do plikunie jest dozwolony do czasu usunięcia blokady), albo ze współużytkowaniem (wieleklientów może łączyć się z plikiem).

W protokole NLM wykorzystywane są również zegary. Zabezpieczają one przed trwałąblokadą pliku w przypadku zawieszenia się systemu klienta.

Web Distributed Authoring

and Versioning (WebDAV)

Rozproszone tworzenie i obsługa wersji w WWW (ang. WebDAV — Web Distributed

Authoring and Versioning) to oparty na protokole HTTP sposób udostępniania plikóww sieci Internet. Jego przeznaczeniem jest zapewnianie chronionego udostępniania plikówopartego na protokole, który może być przekazywany przez zapory firewall.

Page 39: TCP/IP dla każdego

366 TCP/IP dla każdego

Wprowadzanie NFS w środowisku Windows

System Windows nie zawiera usług klienta i serwera NFS w standardowym pakiecie. Dostępne sąjednak rozwiązania pochodzące z innych firm. Sama firma Microsoft oferuje Services for Unix 2.0.

Najpopularniejszym spośród oprogramowania klienckiego innych firm jest pakiet NetMANAGEViewNOW InterDrive pracujący w systemach Windows 9x, Windows NT 4.0 i Windows 2000.Umożliwia on klientom instalowanie woluminów NFS przy użyciu standardowego interfejsusystemu (patrz rysunek 15.11).

Rysunek 15.11.Przeglądaniezasobów NFS

Udostępniony w systemie NFS katalog instalujemy, korzystając z polecenia Windows MapNetwork Drive (mapuj dysk sieciowy). Jest ono dostępne po kliknięciu prawym przyciskiemmyszy ikony Network Neighborhood (otoczenie sieciowe) lub, w nowszych wersjach systemu,My Network Places (moje miejsca sieciowe). Zasoby NFS wyświetlane są podobnie jak zaso-by sieci Windows czy Novell NetWare.

Podobnie działa oprogramowanie klienta i serwera dostępne w pakiecie Services for Unix 2.0.

Każde z tych rozwiązań umożliwia współpracę zarówno z serwerami, jak i klientami pod kon-trolą systemu Unix.

WebDAV jest rozwiązaniem wieloplatformowym, wspieranym przez takie marki jakApache, Adobe, Macromedia, Netscape, Oracle i Microsoft.

W Windows 2000, Windows XP i Windows .NET Server foldery WebDAV określanesą w interfejsie użytkownika nazwą Foldery sieci Web (Web folders).

Po nawiązaniu połączenia z udziałem WebDAV korzystanie z protokołu HTTP pozo-staje niewidoczne dla klientów publikujących i zarządzających zasobami na serwerze.

Zabezpieczenia w protokole WebDAV

Jedną z podstawowych przyczyn opracowania protokołu WebDAV była potrzeba rozwią-zania problemów towarzyszących korzystaniu z transmisji FTP. Wprowadzono więcnastępujące ulepszenia:

Page 40: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 367

� Ochrona hasła. Wprowadzenie połączenia uwierzytelniania podstawowegoz szyfrowaniem SSL pozwala szyfrować wszystkie hasła związanez dostępem do udziału WebDAV. Można również stosować uwierzytelnianiecertyfikatowe.

� Szyfrowanie transmisji danych. Jeżeli na serwerze obsługującym udziałWebDAV włączono SSL, wszystkie przesyłane do serwera WWW danesą szyfrowane.

� Szyfrowanie danych przechowywanych. System Windows .NET Serverwprowadza możliwość połączenia WebDAV z systemem szyfrowania EFS.Oznacza to, że plik może zostać zaszyfrowany na kliencie zdalnym i w tejpostaci przesłany do udziału WebDAV.

Współpraca EFS i WebDAV

System plików szyfrowania (ang. EFS — Encrypting File System) to technologia szy-frowania obsługiwana przez systemy Windows 2000 Professional i Windows XP Pro-fessional. W połączeniach z Windows .NET Server można wykorzystać EFS w trans-misjach WebDAV. Plik zaszyfrowany na komputerze klienta może być dzięki temubezpiecznie zapisany na serwerze WebDAV. Przesyłanie w postaci zaszyfrowanej za-bezpiecza przed przechwyceniem danych.

Rysunek 15.12 przedstawia przykład wykorzystania EFS do szyfrowania danych ko-piowanych na serwer WWW. Procedura jest następująca:

Rysunek 15.12.EFS i WebDAV

1. Klient łączy się z udziałem WebDAV, wywołując .���5==������=�� � lub>>������>�� � (gdzie ������ to nazwa serwera WebDAV, na którym znajdujesię udział, a �� � to nazwa udostępniania folderu WebDAV).

Page 41: TCP/IP dla każdego

368 TCP/IP dla każdego

Klient przeprowadza procedurę uwierzytelniania odpowiednio do konfiguracjimechanizmów zabezpieczeń serwera WebDAV.

2. Jeżeli folder WebDAV został skonfigurowany tak, aby wymagał szyfrowaniaEFS, serwer powiadamia klienta o takiej sytuacji, wymagając szyfrowaniakażdego zapisywanego w folderze pliku.

3. Generowany jest klucz symetryczny i plik zostaje zaszyfrowany. Sam kluczszyfrowania pliku (FEK — ang. File Encryption Key) jest szyfrowany przyużyciu klucza prywatnego użytkownika i w tej postaci zapisywany w poluodszyfrowywania danych (DDF — ang. Data Decryption Field) pliku.

4. Zaszyfrowany plik jest przesyłany do procesu Wininet, po czym jako plik RAWładowany do serwera.

Plik RAW występuje w lokalnym systemie plików serwera WWW jako pozbawionycech szczególnych plik binarny. Jedynie dostęp poprzez udział WebDAV pozwala ujaw-nić jego atrybuty.

Podsumowanie

W rozdziale zostało omówionych wiele różnych protokołów przesyłania plików dostęp-nych w sieci TCP/IP. Najczęściej używanym przez czytelnika protokołem będzie praw-dopodobnie FTP. Wraz ze wzrostem znaczenia zagadnień bezpieczeństwa sieci możnajednak oczekiwać coraz powszechniejszego stosowania metod alternatywnych, jaknarzędzia WebDAV. Warto pamiętać, że do przesyłania plików można wykorzysty-wać wiele narzędzi z kategorii freeware i shareware. Większość z nich jest znaczniebardziej intuicyjna w obsłudze niż opisane tutaj metody oparte na wierszu poleceń.

Pytania sprawdzające

1. Jakie są podstawowe różnice pomiędzy protokołami FTP i TFTP?

2. Co znaczy termin anonimowe FTP?

3. Porównaj bezpieczeństwo protokołów RCP i FTP.

4. Jakie dwa kanały komunikacyjne są wykorzystywane w sesji FTP?Jakie porty są używane podczas sesji po stronie serwera?

5. Opisz kolejne kroki w ustanawianiu sesji SSL.

6. Jakie funkcje zapewnia system NFS w sieci?

7. Jakie funkcje zapewnia serwerowi NFS protokół instalowania systemów plików?

8. Wyjaśnij pojęcie blokowania plików. Dlaczego jest ono ważne w środowiskusieciowym?

Page 42: TCP/IP dla każdego

Rozdział 15. ♦ Protokoły przesyłania plików 369

9. Dlaczego zabezpieczenia WebDAV są lepsze od zabezpieczeń FTP?

10. Opisz szyfrowanie w komunikacji WebDAV między systemami Windows XPi Windows .NET Server.

11. Który z różnych, obsługiwanych przez system NFS mechanizmówuwierzytelniania, zapewnia możliwość rozszerzania pod kątem protokołówzaprojektowanych w przyszłości?

W następnym rozdziale

W kolejnym rozdziale zajmiemy się pocztą elektroniczną. Kluczowym zagadnieniembędą dla nas protokoły transportu poczty. Należą do nich protokoły SMTP, POP3i IMAP.

Przyjrzymy się także zagadnieniom związanym z załącznikami i zabezpieczaniemkomunikacji.