DNSSEC: zabezpieczanie systemu DNS

2010-09-02 00:00:00 +0100


Trudno sobie wyobrazić współczesny Internet bez systemu DNS (Domain Name System), który każdemu komputerowi wskazuje drogę do odpowiednich serwerów. Jednak sam DNS został opracowany dość dawno temu, kiedy jeszcze nikt nie myślał o cyberprzestępcach. Specyfikacja DNSSEC ma uzupełnić braki w zabezpieczeniu Sieci wynikające z możliwości manipulowania rekordami DNS.

System DNS jest bazą danych zawierającą informacje łączące łatwe do zapamiętania nazwy serwerów z ich adresami IP. Przykładowo, przeglądarka dociera do witryny heise online, pytając uprzednio jeden z serwerów nazw wchodzących w skład systemu DNS, do jakiego adresu IP przyporządkowany jest URL www.heise-online.pl (jest to tzw. zapytanie DNS). Serwer nazw pobiera ze swojej bazy (pliku strefy) odpowiednie wpisy (Resource Records) i wysyła je do klienta (odpowiedź DNS). Z pakietu odpowiedzi klient pobiera adres IP serwera i nawiązuje z nim połączenie (w przypadku heise-online.pl jest to 193.99.144.80).

W normalnych warunkach komunikacja między klientem a serwerem nazw odbywa się za pośrednictwem protokołu UDP (User Datagram Protocol). Ma to istotną wadę: protokół ten nie przewiduje weryfikacji tożsamości nadawcy. Pole zwierające adres nadawcy pakietu UDP może być wypełniane wręcz dowolnymi wartościami. Odbiorca nie jest zatem w stanie sprawdzić, czy odpowiedź DNS pochodzi rzeczywiście od serwera, do którego zostało wysłane zapytanie, ani też czy jest ona zgodna z prawdą.

Dalsza część artykułu dostępna w Heise Networks.