| Wikipedia - kopia Wikipedii, wolnej encyklopedii DNS (ang. Domain Name System, system nazw domenowych) to system serwerów oraz protokół komunikacyjny zapewniający zamianę adresów znanych użytkownikom Internetu na adresy zrozumiałe dla urządzeń tworzących sieć komputerową. Dzięki wykorzystaniu DNS nazwa mnemoniczna, np. pl.wikipedia.org, może zostać zamieniona na odpowiadający jej adres IP, czyli 91.198.174.2. Adresy DNS składają się z domen internetowych rozdzielonych kropkami. Dla przykładu w adresie Wikipedii org oznacza domenę funkcjonalną organizacji, wikipedia domenę należącą do fundacji Wikimedia, a pl polską domenę w sieci tej instytucji. W ten sposób możliwe jest budowanie hierarchii nazw, które porządkują Internet. DNS to złożony system komputerowy oraz prawny. Zapewnia z jednej strony rejestrację nazw domen internetowych i ich powiązanie z numerami IP. Z drugiej strony realizuje bieżącą obsługę komputerów odnajdujących adresy IP odpowiadające poszczególnym nazwom.
[edytuj] Struktura domenWewnątrz każdej domeny można tworzyć tzw. subdomeny - stąd mówimy, że system domen jest 'hierarchiczny'. Przykładowo wewnątrz domeny .pl utworzono wiele domen:
Nazwy domen i poszczególnych komputerów składają się z pewnej liczby nazw, oddzielonych kropkami. Ostatnia z tych nazw jest domeną najwyższego poziomu. Każda z tych nazw może zawierać litery, cyfry lub znak '-'. Od niedawna w nazwach niektórych domen można używać znaków narodowych (IDN) takich jak 'ą' czy 'ż', ale większość współczesnych programów nie przewiduje możliwości wykorzystania takich funkcji. Trwają prace nad nowymi standardami odpowiadającymi DNS, które będą obsługiwać kodowanie Unicode, co pozwoli na umieszczanie w nazwach domen dowolnych znaków np. polskich albo chińskich równocześnie. W Polsce domeny zawierające znaki diakrytyczne praktycznie nie występują. Wewnątrz każdej z poddomen można tworzyć dalsze poddomeny, np. w domenie 'wikipedia.org' można utworzyć domenę pl.wikipedia.org. [edytuj] Administracja DNSDNS, jako system organizacyjny, składa się z dwóch instytucji - IANA i ICANN. Nadzorują one ogólne zasady przyznawania nazw domen i adresów IP. Jednak te dwie instytucje nie są w stanie zajmować się całym światem i dlatego cedują swoje uprawnienia na szereg lokalnych instytucji i firm. W wielu krajach domena internetowa przyznana przez system DNS staje się własnością tego, kto pierwszy ją kupi. W Polsce jest ona tylko wynajmowana na określony czas. Jeżeli ktoś zrezygnuje ze swojej popularnej domeny i zwróci ją administratorowi DNS, to może się spodziewać, że trafi ona w niepowołane ręce. [edytuj] Instytucje administrujące DNS na świecie
[edytuj] Instytucje administrujące DNS w Polsce
Oprócz tego wiele domen typu nazwa-firmy.pl wykupiły od NASK rozmaite firmy i zarządzają tymi domenami we własnym zakresie. Dokładne informacje o rejestracji domen .pl znajdują się na stronie: http://www.dns.pl/ [edytuj] Techniczna strona DNS[edytuj] Ogólny zarys
Podstawą technicznego systemu DNS jest ogólnoświatowa sieć serwerów. Przechowują one informację na temat adresów domen. Każdy wpis zawiera nazwę oraz odpowiadający jej adres IP. Wpisy udostępniane są automatycznie, co pozwala na pracę Internetu. DNS to również protokół komunikacyjny. Opisuje on sposób łączenia się klientów z serwerami DNS. Częścią specyfikacji protokołu jest również zestaw zaleceń, jak aktualizować wpisy w bazach domen internetowych. Po całym świecie rozsiane są DNS, które odpowiadają za obsługę poszczególnych adresów internetowych. Listę 13 głównych serwerów odpowiedzialnych za obsługę poszczególnych domen najwyższego poziomu można pobrać z ftp://ftp.rs.internic.net/domain/named.root Może być tak, że przy wywołaniu adresu www.example.com serwer odpowiedzialny za obsługę .com powie Ci żebyś zapytał dns.example.com. I tutaj powstaje problem, bo aby uzyskać adres dns.example.com musisz zapytać dns.example.com itd. Powstaje pętla. Rozwiązaniem problemu jest tak zwany glue record. Glue record jest rekordem typu A umieszczonym na tym samym serwerze nazw, który obsługuje delegację domeny. Jest on tworzony przez registrara Twojej domeny. W tym wypadku serwer obsługujący .com poda adres dns.example.com, który z kolei po odpytaniu poda adres www.example.com i będzie można nawiązać połączenie. Problem może się pojawić jeśli glue record dla dns.example.com wskazuje na adres IP np 1.2.3.4, a sam serwer BIND jest skonfigurowany tak, że jako dns.example.com podaje np. IP 2.3.4.5. W tym wypadku większość (ale nie wszystkie) odwołań do dns.example.com będzie się odnosiło do numeru IP 1.2.3.4 (czyli glue record "ma przewagę"). [edytuj] Najważniejsze cechySystem DNS posiada następujące cechy:
[edytuj] RFCPodstawy protokołu DNS zostały opisane w 1982 roku w dokumencie IETF - RFC 819 przez Jona Postela i Zaw-Sing Su. Dokumenty z 1983 r. - RFC 882 i RFC 883 były oficjalną specyfikacją DNS aż do roku 1989. Nowa, aktualna specyfikacja DNS jest zawarta w RFC 1034 i RFC 1035. W 1996 wydano jeszcze RFC 1918, które wprowadziło zasady "Internet Best Current Practices" oraz dodało do specyfikacji pulę adresów IP przeznaczoną na tzw. prywatne podsieci. [edytuj] Rodzaje zapytań DNS
[edytuj] Odpowiedzi na zapytania
[edytuj] Protokół DNSZapytania i odpowiedzi DNS są najczęściej transportowane w pakietach UDP. Każdy komunikat musi się zawrzeć w jednym pakiecie UDP (standardowo 512 oktetów, ale wielkość tę można zmieniać pamiętając również o ustawieniu takiej samej wielkości w MTU – Maximum Transmission Unit). W innym przypadku przesyłany jest protokołem TCP i poprzedzony dwubajtową wartością określającą długość zapytania i długość odpowiedzi (bez wliczania tych dwóch bajtów). Format komunikatu DNS został zdefiniowany w RFC 1035. Format <a>komunikatu</a> DNS:
[edytuj] Przykład działania systemu DNSOto przykład działania systemu DNS. Użytkownik komputera wpisuje w swojej przeglądarce stron WWW adres internetowy pl.wikipedia.org. Przeglądarka musi poznać adres IP komputera będącego serwerem WWW dla tej strony. Cały proces przebiega zgodnie z tabelą.
[edytuj] Typy rekordów DNSNajważniejsze typy rekordów DNS, oraz ich znaczenie:
Inne typy rekordów dostarczają informacje o położeniu hosta (np. rekord LOC), lub o danych eksperymentalnych. [edytuj] DNS w domu[edytuj] DiagnostykaUżytkownik komputera ma kilka narzędzi przydatnych do sprawdzenia, dlaczego jakaś nazwa mnemoniczna nie jest poprawnie zamieniana na adres IP. [edytuj] Program hostW systemie Linux korzystając z konsoli można do tego użyć polecenia host. Dla przykładu po wpisaniu: host pl.wikipedia.org otrzymamy listę adresów IP komputerów, które obsługują stronę internetową pl.wikipedia.org: Komputer# host pl.wikipedia.org pl.wikipedia.org is an alias for rr.gdns.wikimedia.org. rr.gdns.wikimedia.org is an alias for rr.knams.wikimedia.org. rr.knams.wikimedia.org has address 145.97.39.136 rr.knams.wikimedia.org has address 145.97.39.137 rr.knams.wikimedia.org has address 145.97.39.138 rr.knams.wikimedia.org has address 145.97.39.139 rr.knams.wikimedia.org has address 145.97.39.134 rr.knams.wikimedia.org has address 145.97.39.135 [edytuj] Program digPo wydaniu polecenia, z typem zwracanych rekordów ustawionym na ANY: root@komp:~# dig wikipedia.pl ANY otrzymamy: ; <<>> DiG 9.3.2 <<>> wikipedia.pl any ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62732 ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 2, ADDITIONAL: 2 ;; SECTION: ;wikipedia.pl. IN ANY ;; ANSWER SECTION: wikipedia.pl. 86400 IN SOA nsa.rozeta.com.pl. hostmaster.rozeta.com.pl. 2006120104 10800 3600 604800 86400 wikipedia.pl. 86400 IN MX 10 mail.wikipedia.pl. wikipedia.pl. 44504 IN A 145.97.39.155 wikipedia.pl. 86400 IN NS nsb.rozeta.com.pl. wikipedia.pl. 86400 IN NS nsa.rozeta.com.pl. ;; AUTHORITY SECTION: wikipedia.pl. 86400 IN NS nsa.rozeta.com.pl. wikipedia.pl. 86400 IN NS nsb.rozeta.com.pl. ;; ADDITIONAL SECTION: nsa.rozeta.com.pl. 15077 IN A 212.12.114.14 nsb.rozeta.com.pl. 15077 IN A 81.3.18.135 ;; Query time: 62 msec ;; SERVER: 10.8.0.2#53(10.8.0.2) ;; WHEN: Mon Dec 18 13:14:23 2006 ;; MSG SIZE rcvd: 221 Jeżeli chcemy uzyskać odpowiedz z serwera autorytatywnego dla danej strefy (w tym przypadku nsa.rozeta.com.pl) wpisujemy: root@komp:~# dig @nsa.rozeta.com.pl wikipedia.pl any ; <<>> DiG 9.3.2 <<>> @nsa.rozeta.com.pl wikipedia.pl any ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34597 ;; flags: qr aa rd; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;wikipedia.pl. IN ANY ;; ANSWER SECTION: wikipedia.pl. 86400 IN A 145.97.39.155 wikipedia.pl. 86400 IN NS nsa.rozeta.com.pl. wikipedia.pl. 86400 IN NS nsb.rozeta.com.pl. wikipedia.pl. 86400 IN MX 10 mail.wikipedia.pl. wikipedia.pl. 86400 IN SOA nsa.rozeta.com.pl. hostmaster.rozeta.com.pl. 2006120104 10800 3600 604800 86400 ;; Query time: 36 msec ;; SERVER: 212.12.114.14#53(212.12.114.14) ;; WHEN: Mon Dec 18 13:26:19 2006 ;; MSG SIZE rcvd: 178 W tym przypadku otrzymaliśmy pięć odpowiedzi od serwera autorytatywnego:
[edytuj] KonfiguracjaZwykle dane o konfiguracji protokołu DNS w domowym komputerze przekazywane są przez dostawcę Internetu (ISP). Większość operatorów udostępnia w swojej sieci protokół DHCP. Dzięki niemu komputer automatycznie może pobrać adres serwera DNS operatora. Serwer ISP działa najszybciej, bo ma zgromadzone w swojej pamięci najważniejsze adresy i jest blisko użytkownika Internetu. Serwery DNS Telekomunikacji Polskiej to 194.204.152.34 oraz 194.204.159.1. Kiedy system automatycznego pobierania adresów serwera DNS nie działa, można je wprowadzić ręcznie. W systemie GNU/Linux pozwala na to plik: /etc/resolv.conf który zawiera listę serwerów DNS. Dla przykładu, jeżeli chcemy ręcznie ustawić serwery TPSA jako aktywne to możemy wpisać do tego pliku ich adresy: nameserver 194.204.152.34 nameserver 194.204.159.1 i wtedy komputer wykorzysta je do odnajdywania nazw DNS. W GNU/Linuksie i innych wersjach Uniksa istnieje plik: /etc/hosts który zawiera listę zdefiniowanych przez użytkownika nazw komputerów: 127.0.0.1 localhost #adres lokalnego interfejsu sieciowego 192.168.0.1 brama #serwer dostępu do sieci 192.168.0.2 kasia #inne komputery w sieci lokalnej 192.168.0.3 janek W systemach Windows NT, Windows 2000 oraz Windows XP plik taki można znaleźć w: %SYSTEMROOT%\system32\drivers\etc\hosts najczęściej odpowiada to ścieżce: C:\WINDOWS\system32\drivers\etc\hosts Użytkownik może do tego pliku wpisać własne nazwy dla komputerów lokalnych. Dzięki temu nie będzie musiał wpisywać ich adresów IP, tylko łatwe do zapamiętania nazwy. Nazwa mnemoniczna localhost oznacza komputer, na którym pracujemy. Jeżeli użytkownik chce w swojej sieci lokalnej uruchomić własny serwer DNS może posłużyć się programem BIND. Jednak jest on dosyć skomplikowany w użytkowaniu i podatny na atak. Z tego względu lepiej jest uruchomić własny serwer DHCP, który wszystkim komputerom w sieci lokalnej przekaże właściwe adresy DNS. [edytuj] BezpieczeństwoNależy zdać sobie sprawę, że system DNS został zaprojektowany wiele lat temu przez naukowców. Nie przewidzieli oni istnienia światowej sieci używanej do prowadzenia poważnych operacji. W Internecie pojawiła się grupa osób wykorzystująca luki w systemie DNS do łamania prawa. Wyobraźmy sobie Alicję, która jest użytkownikiem e-banku o adresie tanibank.pl. Alicja płaci przez Internet swoje rachunki i obserwuje, jak rośnie jej debet. W tym momencie pojawia się Paweł i wysyła do Alicji list, podając się za Tani Bank SA i prosi ją, żeby weszła na stronę tanibank.pt i zaktualizowała dane, bo inaczej skasuje jej konto. Zdenerwowana Alicja wchodzi na stronę tanibank.pt podaje swoje hasła i wpisuje jeszcze raz swoje dane. Adres tanibank.pt naprawdę prowadzi do komputera Pawła, który korzystając z hasła Alicji robi jej naprawdę spory debet. Błąd Alicji polegał na tym, że zaufała systemowi DNS. Oczywiście komputery zadziałały poprawnie. Alicja nie zauważyła, że przesłany przez Pawła adres różni się ostatnią literą. Administrator domeny .pt przyznał Pawłowi domenę tanibank.pt, nie zdając sobie sprawy z istnienia strony tanibank.pl. Jeżeli Alicja chce być pewna, że nie zostanie oszukana, musi posłużyć się oprócz DNS jakimś systemem kryptografii, np. SSL. Klucze cyfrowe pozwalają na weryfikację tożsamości banku. Przeglądarka internetowa zazwyczaj informuje użytkownika, że strona WWW jest autentyczna odpowiednią ikoną, zwykle w kształcie kłódki. [edytuj] Zobacz też[edytuj] Linki zewnętrzne
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||