Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Znajdywanie hostów w sieci
Podstawy
ALIAS
ADRES IP
Po co nam nazwy
Korzyści z definiowania nazw:• Nazwy są łatwiejsze do zapamiętania• Stabilność w przypadku dynamicznych
zmian adresów IP (środowiska mobilne, równoważenie obciążenia itp.)
• Możliwość definiowania różnych nazw dla tego samego hosta
• Rozwiązywanie nazwy hosta – lokalnie (hosts)/zdalnie (DNS)
Historia
• Nazwy to kolory -> problem: mężczyzna rozróżnia 7 kolorów ☺ (nazwy tylko dla serwerów)
• Peggy Karp (1971) – RFC 226 -> określenie krótkich (4 litery) nazw hostów
• Pierwsze serwery nazw SRI-NIC – serwery ftp z plikiem hosts.txt -> klient raz dziennie łączy się i pobiera plik nazw– Dla dużych plików nazw spadek przepustowości sieci ze
względu na rozmiar pliku i liczbę klientów– Pobieranie raz dziennie to za mało w mobilnych środowiskach– Problem utrzymania pliku (jego administracji)
• Domain Name System (DNS), 1997 -> RFC 1034 i 1035 -> hierarchiczna baza danych
Definicje
• Podstawowe nazwy hostów – stringi, max 256 symboli earth, sun itp.
• Pełne złożenie domeny: (FQDN – Fully QualifiedDomain Name) – połączenie nazwy hosta z nazwą DNS
• Aliasy (etykiety) – alternatywne nazwy hostównp. „www” najczęściej jest aliasem dla hostaposiadającego oryginalnie inną nazwę(przydomek dla nazwy hosta) – aliasy w plikach hostów definiowane są przez nazwy kanoniczne (CNAME)
Rozpoznawanie nazw przez plik hosts
• Pierwsza metoda rozwiązywania nazw –pliki hosts (windows: C:\Windows\System32\drivers\etc\)
• Budowa:# 38.25.63.10 x.acme.com# x client host127.0.0.1 localhost157.158.131.163 sun157.158.131.110 wenus
Rozwiązywanie nazw
Procedura• Wprowadzenie żądania danej aplikacji np.
przeglądarka + napis w pasku adresu• Weryfikacja czy wprowadzona nazwa nie
jest identyczna z nazwą własną hosta –jak tak użyj własnego IP
• Przegląd pliku hosts z góry do dołu w celu znalezienie IP
• Komunikat o błędzie
NetBIOS
• Standard RFC 1001 i 1002• System zaprojektowany dla IBM (1983r)• Podstawa starych systemów Windows (aplikacje
NetBIOS:przeglądarka sieci) – nowe (od W2K bazują na rozwiązywaniu nazw DNS)
• Domyślnie nie stosowany przez systemy Unixo-podobne(bazuje na protokole SMB) – W systemach Unikso-podobnych implementacja poprzez
SAMBA
• Sposób działania podobny do DNS• Założenia – rezygnacja z architektury klient serwer
(każdy może być serwerem i klientem)
Cechy
Nazwy NetBIOS – reprezentacja różnych obiektów: użytkowników, komputery, grupy robocze, usługi NT, domeny
Cechy nazw:
• Nie rozróżnianie wielkości liter (UWAGA!!! Win98 duże litery, SAMBA litery takie jak wpisano)
• Długość do 15 znaków• Alfanumeryczne (bez spacji, kropek i symboli)
NetBIOS
Sposób działaniaNazwa NetBIOS połączona z nazwą usługi
przez sufiks liczbowy:
UNIQUE03Użytkownika/komputer/domnaPrzesyłanie wiadomości
GROUP1CDomenaKontroler domeny
UNIQUE1EGrupa robocza lub domenaWymuszenie elekcji
UNIQUE1BNazwa domenyPrzeglądarka główna
UNIQUE20Nazwa komputeraSerwer
UNIQUE00Nazwa komputeraStacja robocza
TypSufiks liczbowy
Nazwa NetBIOSNazwa usługi
Rozwiązywanie nazw - sposoby
• Przez rozgłoszenie (zasięg tylko lokalny – jeden segment sieci, brak forwardowania przez routery) – jeśli odbiorca odebrał rozgłoszenie odpowiada swoim adresem IP
• Serwery WINS (Windows Internet Name Server) – ograniczenie ruchu w sieci poprzez centralizację
• LMHOSTS – plik rozwiązujący nazwy• HOSTS – podobnie jak wyżej• DNS – wykorzystanie serwerów DNS
Hierarchia procesu rozwiązywania nazw
Serwer WINS Serwer DNS
KarolKomp
JacekKomp
ArekKomp
Sieć rozległa
Plik LMHOSTS192.168.1.13 KarolKomp192.168.2.14 MaciekKomp
Plik HOSTS192.168.1.123 MateuszKomp192.168.2.14 MaciekKomp
1
2
3
4
5
NetBIOS – problemy i rozwiązania
Problemy• Brak unifikacji nazw• Generacja dużego ruchu w sieciRozwiązania• Możliwość definiowania typów węzłów (sposobu
realizacji zapytań)• Przejście z aplikacji typu NetBIOS na aplikacje
działające na Sockets (gniazdach) – przejście z domyślnego portu NetBIOS (NetBIOS over TCP) 137, 138 (UDP) 139(TCP) na SMB over TCP –port 445
Domain Name System
Możliwości wykorzystania• znajdywania hostów o określonej nazwie• znajdywania nazw hostów o określonym
adresie IP• definiowanie alternatywnych nazw
(aliasów)• Możliwość równoważenia obciążenia
serwerów poprzez dynamiczne łączenie nazwy z określonymi adresami IP
Domain Name System- pojęcia
• Domena DNS – węzeł w przestrzeni nazw. Składa się z pierwotnej nazwy + nazw położonych poniżej. Zasada grupowania nazw
• Serwer nazw – Serwer usług DNS – odpowiada za rozwiązanie nazwy, umożliwia aktualizację/edycję plików strefy
• Resolver – klient usługi DNS wysyłający zapytanie do serwera DNS
• Przestrzeń nazw – nienazwany węzeł główny oraz rozchodzące się gałęzie zwane domenamiICANN – Internet Corporation for Assigned Names andNumbers – organizacja odpowiedzialna za domeny najwyższego poziomu
Przestrzeń nazw
Poziom główny
com edu gov
orgpolitechnika
abc
Korzeń
Poziom pierwszy
Poziom drugi
Pojęcia - CD
• Serwery poziomu głównego – zawierająwpisy wszystkich domen najwyższego poziomu (korzeń drzewa symbol „.”)– Uwaga – przy rozwiązywaniu nazw odwołanie
do serwerów poziomu głównego jest najgorszą sytuacją – najdłuższa możliwa droga przeszukiwania
Domeny poziomu głównego
(TLD – top level domains) – podział organizacji wg. typu/funkcji/lokalizacji
• Domenu ogólne– .com – dla przedsiębiorstw– .net – dla sieci– .org – dla organizacji typu niedochodowego
• Domeny specjalnego przeznaczenia– .edu – edukacyjne– .gov – rządowe– .mil – wojskowe
• Domeny narodowe– .pl – Polska– .ru - Rosja
Domeny poziomu drugiego
• Problem z rozproszeniem, • Nie są zarządzane przez ICANN• Wewnątrz domen drugiego poziomu możliwość
zarządzania własną przestrzenią nazw (mogązawierać hosty, serwery, poddomeny)
• Uwaga: rejestracja domeny drugiego poziomu wymaga udostępnienia przynajmniej dwóch serwerów DNS. Reszta wymagań na stronie ICANN
Strefy
Obszar przestrzeni nazw za który odpowiada dany serwer DNS.
Strefa może obejmować• Pojedynczą domenę• Podobszar domeny• Kilka poddomenStrefa podstawowa• Tylko jeden serwer DNS może być podstawowy dla
danej strefy. Tutaj następuje aktualizacja wpisów. Zawiera plik konfiguracyjny i rekordy zasobów
Strefa wtórna• Posiada rekordy zasobów i danych konfiguracyjnych
otrzymane od innych serwerów DNS - od serwera typu master. Serwer typu master nie musi być serwerem podstawowym, może to być inny serwer wtórny.
Podział na strefy
• Problem obciążenia serwerów – jeden serwer to konieczność odpowiadania dla wszystkich klientów
• Problem przeciążenia łączy – patrz wyżej –jeden serwer DNS niezbędna duża przepustowość – problem z odległymi siedzibami i łączami komutowanymi
• Problem szybkości realizacji zapytań ze strony klienckich hostów– problem opóźnień
• Redukcja kosztów administracji – centralne zarządzanie wpisami (w siedzibach lokalnych brak konieczności zatrudniania sepcjalistów)
Transfer stref DNS
Tran
sfer
stre
fy
Wyszukiwanie w przód i wstecz
• Strefy wyszukiwania w przód– Rozwiązywanie nazw (FQDN-Fully Qualified Domain
Name) na adresy IP– Serwery DNS bez stref – serwery buforujące
• Nie dochodzi do transferu stref• Zadanie to buforowanie adresów IP – host zadaje pytanie
serwerowi, ten sprawdza swój bufor jak nie zawiera wpisu to odpytuje inny serwer DNS. Adresy IP w buforze przechowywane są około 1h
• Zastosowanie – sieci domowe, małe filie przedsiębiorstw
• Strefy wyszukiwania w tył– Odnajdywanie nazwy hosta na podstawie adresu IP
Zapytania iteracyjne i rekurencyjne
Typy rekordów w serwerach DNS
• rekord A lub rekord adresu (ang. address record) mapuje nazwę domeny DNS na jej 32-bitowy adres IPv4.
• rekord AAAA lub rekord adresu IPv6 (ang. IPv6 address record) mapuje nazwę domeny DNS na jej 128-bitowy adres IPv6.
• rekord CNAME lub rekord nazwy kanonicznej (ang. canonical name record) ustanawia alias nazwy domeny. Wszystkie wpisy DNS oraz poddomeny są poprawne także dla aliasu.
• rekord MX lub rekord wymiany poczty (ang. mail exchange record) mapuje nazwędomeny DNS na nazwę serwera poczty oraz jego priorytet.
• rekord PTR lub rekord wska źnika (ang. pointer record) mapuje adres IPv4 lub IPv6 na nazwę kanoniczną hosta. Określenie rekordu PTR dla nazwy hosta (ang. hostname) w domenie in-addr.arpa (IPv4), bądź ip6.arpa (IPv6), który odpowiada adresowi IP, pozwala na implementację odwrotnej translacji adresów DNS (ang. reverse DNS lookup).
• rekord NS lub rekord serwera nazw (ang. name server record) mapuje nazwę domenowąna listę serwerów DNS dla tej domeny.
• rekord SOA lub rekord adresu startowego uwierzytelnienia (ang. sta rt of authorityrecord) ustala serwer DNS dostarczający autorytatywne informacje o domenie internetowej, łącznie z jej parametrami (np. TTL).
• rekord SRV lub rekord usługi (ang. service record) pozwala na zawarcie dodatkowych informacji dotyczących lokalizacji danej usługi, którą udostępnia serwer wskazywany przez adres DNS.
• TXT – rekord ten pozwala dołączyć dowolny tekst do rekordu DNS. Rekord ten może byćużyty np. do implementacji specyfikacji Sender Policy Framework.
Źródło: Wikipedia
Protokół DNS
• Zwykle protokół UDP. (Zapytanie musi mieścić się w 512 bajtach)
• Może również wykorzystywać protokół TCP
Format komunikatu DNS:• NAGŁÓWEK – (Header)• ZAPYTANIE – (Question) do serwera nazw• ODPOWIEDŹ – (Answer) zawiera rekordy b ędące
odpowiedzi ą• ZWIERZCHNOŚĆ – (Authority) wskazuje serwery
zwierzchnie dla domeny• DODATKOWA – (Additional) sekcja informacji
dodatkowych
Zródło: Wikipedia
Format protokołu DNS
Opis pól• ID [16 bitów] – (IDentifier) – identyfikator tworzony przez program wysyłający zapytanie; serwer przepisuje ten
identyfikator do swojej odpowiedzi, dzięki czemu możliwe jest jednoznaczne powiązanie zapytania i odpowiedzi
• QR [1 bit] – (Query or Response) – określa, czy komunikat jest zapytaniem (0) czy odpowiedzią (1) • OPCODE [4 bity] – określa rodzaj zapytania wysyłanego od klienta, jest przypisywany przez serwer do
odpowiedzi. Wartości: – 0 – QUERY – standardowe zapytanie,– 1 – IQUERY – zapytanie zwrotne,– 2 – STATUS – pytanie o stan serwera,– 3-15 – zarezerwowane do przyszłego użytku
• AA [1 bit] – (Authoritative Answer) – oznacza, że odpowiedź jest autorytatywna. • TC [1 bit] – (TrunCation) – oznacza, że odpowiedź nie zmieściła się w jednym pakiecie UDP i została obcięta. • RD [1 bit] – (Recursion Desired) – oznacza, że klient żąda rekurencji – pole to jest kopiowane do odpowiedzi • RA [1 bit] – (Recursion Available) – bit oznaczający, że serwer obsługuje zapytania rekurencyjne • Z [3 bity] – zarezerwowane do przyszłego wykorzystania. Pole powinno być wyzerowane. • RCODE (Response CODE) – kod odpowiedzi. Przyjmuje wartości:
– 0 – brak błędu– 1 – błąd formatu – serwer nie potrafił zinterpretować zapytania– 2 – błąd serwera – wewnętrzny błąd serwera– 3 – błąd nazwy – nazwa domenowa podana w zapytaniu nie istnieje– 4 – nie zaimplementowano – serwer nie obsługuje typu otrzymanego zapytania– 5 – odrzucono – serwer odmawia wykonania określonej operacji, np. transferu strefy– 6-15 – zarezerwowane do przyszłego użytku
• QDCOUNT [16 bitów] – określa liczbę wpisów w sekcji zapytania • ANCOUNT [16 bitów] – określa liczbę rekordów zasobów w sekcji odpowiedzi • NSCOUNT [16 bitów] – określa liczbę rekordów serwera w sekcji zwierzchności • ARCOUNT [16 bitów] – określa liczbę rekordów zasobów w sekcji dodatkowej Żródło: Wikipedia
Protokół SecDNS
• Protokół umożliwiający autoryzację utrzymywanych odpowiedzi od serwera DNS
• Serwery DNS – poważne zagrożenie bezpieczeństwa – Atak typu: zatrucie DNS – wprowadzenie nieautoryzowanych
wpisów, szczególnie niebezpieczne w przypadku stosowania usług DHCP – umożliwienie ataków typu Web Page Spoofing(Podszywanie się pod stronę Internetową)
• Rozwiązanie: dodanie czterech nowych dodatkowych typów rekordów :– Resource Record Signature (RRSIG), – DNS Public Key (DNSKEY),– Delegation Signer (DS), – Next Secure (NSEC).
• Działanie: grupa rekordów jest zaszyfrowana prywatnym kluczem strefy. Użytkownik systemu może sprawdzićinformacje za pomocą publicznego klucza strefy.
DynDNS