Oprogramowanie Samba. Krzysztof Boryczko Remigiusz Górecki



Podobne dokumenty
SMB protokół udostępniania plików i drukarek

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

Protokoły sieciowe - TCP/IP

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Zarządzanie systemami informatycznymi. Protokoły warstw aplikacji i sieci TCP/IP

SMB jako rozproszony system plików Prezentacja na SO

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Serwery LDAP w środowisku produktów w Oracle

Instrukcja konfiguracji funkcji skanowania

11. Autoryzacja użytkowników

SIECIOWE. mgr inż. Adam Mencwal Katedra Informatyki Stosowanej.

Stos TCP/IP. Warstwa aplikacji cz.2

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Spis treści. Wstęp Rozdział 1. Zasady pracy z komputerem Rozdział 2. Budowa komputera... 20

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Praca w sieci równorzędnej

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

TRX API opis funkcji interfejsu

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

Wybrane usługi sieciowe DFS, SMB, Serwer terminali. Monitorowanie i zarządzanie serwerami sieciowymi Wykład

Wybrane działy Informatyki Stosowanej

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Programowanie Sieciowe 1

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Adresy w sieciach komputerowych

ARP Address Resolution Protocol (RFC 826)

PORADNIKI. Atak SMB Man-In-The-Middle

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Plan wykładu. Domain Name System. Hierarchiczna budowa nazw. Definicja DNS. Obszary i ich obsługa Zapytania Właściwości.

Sieci równorzędne, oraz klient - serwer

Samba serwer plików i drukarek. Rafał Szcześniak <mimir@samba.org> The Samba Team. Prosze pytać w każdej chwili

Protokół wymiany sentencji, wersja 1

Sieciowe systemy operacyjne

1. Model klient-serwer

SIECI KOMPUTEROWE Protokoły sieciowe

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Zapoznanie się z konfiguracją i zarządzaniem serwerem Samba.

asix na łączach RAS konfiguracja

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Laboratorium 6.7.2: Śledzenie pakietów ICMP

MODEL OSI A INTERNET

Systemy i sieci komputerowe. Podręcznik do nauki zawodu technik informatyk

Uwaga!!! Autentykacja LDAP/AD zaimplementowana w Vigor wspiera tylko proste uwierzytelnianie (hasło przesyłane jest jawnym tekstem).

Zarządzanie systemami informatycznymi. Protokoły warstw aplikacji i sieci TCP/IP

Dfs - Distributed File System SMB - Server Message Block. 18 grudnia 2002

Kod produktu: MP-W7100A-RS232

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 14 Protokoły sieciowe

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

MASKI SIECIOWE W IPv4

Protokoły sterujące i warstwy aplikacji. Protokół kontrolny ICMP Internet Control Message Protocol Protokoły inicjowania i konfiguracji hostów

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Protokół sieciowy: Zbiór formalnych reguł i konwencji dotyczących formatu i synchronizacji w czasie wymiany komunikatów między procesami

Instrukcja instalacji Control Expert 3.0

Krótka instrukcja instalacji

Teoria sieci komputerowych

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Serwer SMB. Udostępnienie zasobów systemowych w sieci. Jakub Stasiński, Jędrzej Chruściel, Michał Wojciechowski

Protokół SMB umożliwia udostępnianie plików udostępnianie drukarek

Protokół DHCP. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2010/11. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Protokoły wspomagające. Mikołaj Leszczuk

ZiMSK. Charakterystyka urządzeń sieciowych: Switch, Router, Firewall (v.2012) 1

Zadanie1: Wykorzystując serwis internetowy Wikipedii odszukaj informacje na temat usługi WINS.

Laboratorium Ericsson HIS NAE SR-16

Wybrane działy Informatyki Stosowanej

Wprowadzenie do sieciowych systemów operacyjnych. Moduł 1

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

Integracja komunikatora opartego o protokół XMPP z dużym portalem internetowym

Projektowanie bezpieczeństwa sieci i serwerów

Data wykonania Część praktyczna

INSTRUKCJA OBSŁUGI DLA SIECI

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Przesyłania danych przez protokół TCP/IP

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

WLAN bezpieczne sieci radiowe 01

Protokoły internetowe

Protokoły zdalnego logowania Telnet i SSH

Serwer druku w Windows Server

Wstęp... ix. 1 Omówienie systemu Microsoft Windows Small Business Server

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

12. Wirtualne sieci prywatne (VPN)

Laboratorium Sieci Komputerowych - 2

Plan wykładu. Domain Name System. Definicja DNS. Po co nazwy? Przestrzeń nazw domen Strefy i ich obsługa Zapytania Właściwości.

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

7. zainstalowane oprogramowanie zarządzane stacje robocze

Serwer SAMBA UDOSTĘPNIANIE UDZIAŁÓW SIECIOWYCH PIOTR KANIA

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

Transkrypt:

Usługi udostępniania plików i drukarek w sieci LAN Oprogramowanie Samba Krzysztof Boryczko Remigiusz Górecki

Cechy Samby Samba jest serwerem plików i drukarek, który zawiera implementację protokołu SMB (Server Message Block). Samba realizuje cztery podstawowe rodzaje usług: 1. Udostępnianie plików i drukarek, 2. Uwierzytelnianie i Autoryzacja (w systemie Linux istnieją moduły PAM współpracujące s Sambą), 3. Rozwiązywanie nazw w sieci lokalnej, 4. Rozgłaszanie i lokalizacja usług (browsing). Strona domowa projektu, to: www.samba.org

Historia Samby Pierwsza implementacja to prosty programik, który umożliwiał dostęp z komputera PC z systemem PATCHWORKS firmy Digital Equipment Corporation dla DOS do plików znajdujących się na komputerze Sun (serwer dla systemu SunOS, który obsługiwał pakiety przesyłane przez klienta PATCHWORKS). Była to implementacja protokołów NetBIOS nad TCP/IP oraz SMB (RFC1001, RFC1002). Pierwsza nazwa, SMB Server, była jednak zastrzeżona. Stąd jej twórca Adrew Tridgell znalazł słowo Samba, jako najprostsze zawierające litery s, m oraz b.

Historia wersji 1991 r. początki pracy nad oprogramowaniem, 1992 r. wersja 1.0: a Unix file server for Dos Pathworks, 1993 r. wersja 1.5 pod nazwą Samba współpracuje z Windows LAN Manager, 1999 r. wersja 2.0; implementacja protokołów uwierzytelniania w Domenie NT (testy pokazują iż jest prawie 2 krotnie szybsza od Windows NT4, 2003 r. wersja 3.0 umożliwia podłączanie klienta Samby do Microsoft Active Directory. 2006 r. pierwsze wersje Samby 4 mającej pracować jako kontroler domeny AD wciąż nie ma wersji produkcyjnej. 2009 r. wersja 3.4 zawiera kod źródłowy Samby v3 i v4

Źródła popularności Samby Jest darmowa. Stanowi pakiet z otwartym dostępem do kodu źródłowego. Jest dostępna dla wielu platform: od UNIX, Linux po niszowe BeOS, OpenVMS. Może zatem integrować komputery PC z niemal każdym środowiskiem. Protokół SMB/CIFS leży u podstaw sieci Microsoft Windows, stąd Samba może zostać niskonakładowym i wysoko wydajnym substytutem serwera Windows. Posiada olbrzymią liczbę funkcji. Przykładowo aliasy NetBIOS czy serwery wirtualne. Pozwala na wykorzystywanie i integrację z innymi standardami (NIS, LDAP).

Instalacja Samby RH Możliwe pobranie gotowych pakietów instalacyjnych dla konkretnego systemu operacyjnego. Instalacja indywidualna. W systemach z rodziny Red Hat wykorzystujemy system zarządzania pakietami oprogramowania rpm. Instalacja prosta, ale niższa wydajność oraz brak możliwości wykorzystania opcji konfiguracyjnych. Możliwa jest instalacja z plików źródłowych dostępnych na stronie projektu duże możliwości konfiguracyjne, jak również praca w trybie merged czyli zarówno w stabilnej wersji 3 jak i testowej wersji 4.

Instalacja z kodu źródłowego Kod źródłowy w skompresowanych archiwach, np. samba-3.5.1.tar.gz Kolejne kroki: [root@dns1 ~]# tar -xzf samba-3.5.1.tar.gz [root@dns1 ~]# cd samba-3.5.1/source3 [root@dns1 source3]#./autogen.sh [root@dns1 source3]#./configure [root@dns1 source3]#./make [root@dns1 source3]#./make install Skrypt autogen.sh korzysta z programu narzędziowego Autoconf. W przypadku jego braku: [root@dns1 ~]# yum install autoconf

Protokół SMB Protokół SMB Server Message Block stworzony został przez IBM w celu dostępu do systemu DOS z wykorzystaniem protokołu NetBIOS. Aktualnie umożliwia udostępnianie plików i drukarek z wykorzystaniem różnych protokołów niższych warstw. SMB pracuje w warstwie aplikacji modelu ISO-OSI. Protokół SMB z może wykorzystywać z niższych warstw następujące protokoły: NetBIOS, który posiada implementacje na wilelu protokołach niższych wastw, TCP (port 445) co pozwala na integrację z nazwami FQDN. Jest to jeden z najbardziej zmieniających się i rozszerzanych protokołów w historii.

Historia zmian protokołu SMB 1987 r. Microsoft łączy go z LAN Manager, 1992 r. Microsoft dodaje elementy by współpracował w środowisku Windows for Workgroups, 1996 r. dodana jest obsługa protokołu NTLM dla Windows NT 4.0 i zmieniona nazwa na Common Internet File System (CIFS), 2000 r. Microsoft wprowadza Direct hosting of SMB over TCP/IP, co uniezależnia go od protokołu NetBIOS i umożliwia standaryzację nazw w oparciu o DNS, 2007 r. Microsoft wprowadza wersję 2.0 SMB, która przede wszystkim go upraszcza usuwając nieużywane komendy (z ponad 100 zostaje 19) oraz wprowadza wiele innych zmian.

Samba w modelu ISO-OSIOSI Aplikacji Prezentacji SMB Aplikacji Sesji NetBIOS NetBIOS NetBIOS Transportowa NetBEUI TCP & UDP TCP & UDP IPX DECnet Sieci IP IP Łącza 802.2 802.3 802.5 802.2 802.3 802.5 Ethernet V2 Ethernet V2 Ethernet Fizyczna Fizyczna Fizyczna Fizyczna Fizyczna Fizyczna

Protokół NetBIOS Protokół NetBIOS (Network Basic Input/Output System) stworzony przez IBM na potrzeby systemu DOS i prostej sieci LAN protokół SNA był zbyt skomplikowany. Protokół NetBIOS pracuje w warstwie sesji modelu OSI. Do komunikacji może wykorzystywać takie protokoły jak: IPX/SPX implementacja opracowana przez Microsoft. Daje dostęp do serwerów SMB dzięki protokołowi IPX/SPX firmy Novell. NetBEUI wykorzystywany jedynie w środowiskach lokalnych. Nie posiada warstwy sieciowej, co uniemożliwia routing. DECnet opracowany przez firmę Digital Equipment Corporation dla komunikacji komputerów klasy PC z serverami VAX. TCP/IP NetBIOS over TCP/IP, często określany jako NetBT lub NBT. Stanowi implementację usług sesji w sieci TCP oraz datagramów NetBIOS w sieci UDP.

Protokół NetBT Protokół NetBIOS over TCP/IP zdefiniowany jest przez RFC 1001 i RFC 1002. Protokół NetBT obsługuje co najmniej trzy rodzaje usług: 1. Usługi nazw mechanizmy pozwalające na odszukiwanie komputerów według nazw (port 137 protokołu UDP). 2. Usługi sesji mechanizmy pozwalające na łączenie się komputerów i przesyłanie strumieni danych, np. w celu zapisu lub odczytu pliku (port 139 TCP). 3. Usługi datagramów mechanizmy do przesyłania małych porcji danych pomiędzy klientami a serwerami, jak np. komunikatów ogłoszeń serwera w sieci (port 138 UDP).

Obsługa nazw w NetBIOS Usługa nazw NetBIOS NetBIOS Naming Service (NBNS) jest wykorzystywana do zarządzania nazwami NetBIOS w taki sposób, aby dostęp do serwerów mógł odbywać się w warstwie IP. Samba obsługuje usługę NBNS. WINS implementacja Microsoft serwera usługi NBNS. Klasy nazw NetBIOS to: Nazwy unikatowe możliwość przypisania nazwie jednego adresu IP. Nazwy grupowe nazwa może mieć wiele adresów IP. Grupy Internetu WindowsNT i zarządzanie domenami. O wielu połączeniach nazwy unikatowe systemów z wieloma interfejsami. Domeny skojarzone z domenami Windows NT.

Cechy nazw NetBIOS Nazwy składają się z 16 znaków: 15 to nazwa, a ostatni określa typ nazwy. Np. stacja robocza, kontroler domeny, główna przeglądarka, itp. Są zawsze uzupełniane spacjami do 15 znaków. W przypadku przesyłania nazw do innych systemów nazwy NetBIOS są przekształcane na duże litery. Mogą zawierać dowolne znaki za wyjątkiem: Znaków o kodach niższych niż kod spacji (0x20) tj. znaków sterujących. Znaków:. / \ [ ] : < > + = ;,

Budowa pakietu SMB Pakiet SMB to blok danych przesyłany w połączeniu TCP. Składa się z nagłówka i opcjonalnie skojarzonych z nim danych.

Pola nagłówka pakietu SMB 0xFFSMB znacznik początku pakietu. Polecenie jednobajtowe pole określające typ przesyłanego pakietu. Klasa błędu pole jednobajtowe wskazujące klasę błędu odpowiedzi. Kod błędu pole dwubajtowe wskazujące na typ błędu odpowiedzi. Flagi 8 bitów, z których najstarszy wskazuje na to czy pakiet jest zapytaniem czy odpowiedzią. Pozostałe oznaczają funkcje obsługiwane przez klienta i serwer. Flagi 2 16 bitów oznaczające pozostałe funkcje.

Pola nagłówka pakietu SMB c.d Pole zarezerwowane 12 bajtów. Identyfikator drzewa pole dwubajtowe oznaczające drzewo na serwerze, do którego odnosi się polecenie lub odpowiedź. Identyfikator procesu 16 bajtów oznaczających klienta. Identyfikator użytkownika 16 bajtów zawierających zweryfikowany (po konfiguracji sesji i uwierzytelnieniu) identyfikator użytkownika. Pole generuje serwer. MultiplexIS 16 bitów używane przez klienta kiedy przesyła wiele pakietów. Wykorzystywane do kojarzenia odpowiedzi z żądaniami.

Zmienna część pakietu SMB Jest zdeterminowana przez polecenie zawarte w nagłówku. Może zawierać nazwy użytkowników, hasła lub nazwy plików do których żąda się dostępu. Istnieje 78 zdefiniowanych poleceń protokołu SMB. W celu zredukowania transmisji istnieje możliwość wysyłania wielu żądań w pojedynczym pakiecie.

Żądania wielokrotne Umożliwiają pakiety SMB andx. Możliwość ta dotyczy tylko niektórych żądań. Są czymś w stylu łączonych list (ang. linked list). W implementacjach stosuje się do 2 żądań.

Nawiązanie sesji SMB po TCP 1. Przed połączeniem z serwerem klient wysyła zapytanie o nazwę NetBIOS. 2. Po tym jak klient otrzyma nazwę i skojarzony z nią adres IP serwera, ustanawiane jest połączenie TCP. 3. Klient rozpoczyna sesję NetBIOS. Istotne pola w komunikacie żądania sesji NetBIOS to: Nazwa wywoływana nazwa jednostki NetBIOS, do której kierowane jest żądanie. Nazwa wywołująca nazwa jednostki NetBIOS wysyłającej żądanie. 4. Po ustanowieniu sesji klient i serwer mogą wymieniać pakiety SMB klient wysyła żądania dostępu do zasobów, a serwer na nie odpowiada.

Negocjacja wariantu protokołu SMB 5. Kolejną czynnością wykonywaną przez klienta jest wynegocjowanie wariantu protokołu. Wynika ona z faktu, iż protokół SMB dopuszcza istnienie wariantów. Do przykładowych wariantów należą: PC Network Protocol oryginalny opracowany przez IBM. LANMAN 1.0 LAN Manager opracowany przez Microsoft. NT LM 0.12 wariant dla Windows NT.

Uwierzytelnienie klienta 6. Kolejną czynnością wykonywaną przez klienta jest uwierzytelnienie lub zalogowanie się do serwera. Klient wysyła pakiet SMB żądania konfiguracji sesji, który zawiera m.in. nazwę i hasło użytkownika. Uwierzytelnianie może być na poziomie udziału użytkownik uwierzytelnia się oddzielnie do każdego udziału, lub na poziomie użytkownika uwierzytelnia się raz i dostaje odpowiedni dostęp do usług. Hasło może być wysyłane w postaci jawnej lub zaszyfrowanej. 7. Po uwierzytelnieniu zakończonym sukcesem klient może rozpocząć korzystanie z zasobów serwera.

Dodatkowe funkcje protokołu SMB Prosty protokół SMB rozszerzyła firma Microsoft. Wszystkie zaawansowane funkcje sieci Microsoft Windows zaimplementowano za pomocą żądań. Obejmują one m.in.: Protokół przeglądania, który korzysta ze szczelin pocztowych jednokierunkowy transfer danych. Protokół LMRAP (Lan Manager Remote Administration Protocol) umożliwiający przesyłanie żądań API w sposób podobny do Remote Procedure Call (RPC). Protokół MS RPC pakiety RPC są pakowane jako żądania SMB write lub writex i przesyłane między klientem a serwerem. W Sambie zostały one zaimplementowane. Stąd istnieje np. możliwość pracy jako kontroler domeny Windows NT.

Obsługa błędów w protokole SMB W protokole zaimplementowano strukturalne podejście do obsługi błędów. Każda odpowiedź posiada pole błędu z wartością równą zeru w przypadku sukcesu. Kiedy serwer nie może obsłużyć klienta, zwraca w wyniku błąd, należący do jednej z czterech klas: 1. ERRDOS błędy w stylu DOS, np. nie znaleziono pliku. 2. ERRSRV błędy serwera, np. niepoprawne hasło. 3. ERRHRD błędy sprzętowe, np. błąd zapisu. 4. NT ERRORS błędy systemu NT. Klient jest odpowiedzialny za przekształcenie błędu na komunikat dla użytkownika.

Struktura Samby