# Ogólna koncepcja DNS
DNS to hierarchiczna rozproszona baza danych, która przechowuje adresy IP i inne dane oraz umożliwia zapytania według nazwy.
Innymi słowy, DNS to katalog łatwo czytelnych nazw domen, które są tłumaczone na numeryczne adresy IP używane przez komputery do komunikacji między sobą. Na przykład po wpisaniu adresu URL w przeglądarce DNS konwertuje adres URL na adres IP serwera WWW powiązanego z tą nazwą.
DNS stanowi strukturę hierarchiczną, która przewiduje zarządzanie poszczególnymi elementami hierarchii (podstref) przez wiele podmiotów. Hierarchia zaczyna się od domeny root
, której nazwa to po prostu .
. Poniżej znajdują się domeny najwyższego poziomu, takie jak com
, net
, org
, uk
lub jp
. Poniżej znajdują się domeny drugiego poziomu, takie jak org.uk
lub co.jp
. Domeny w hierarchii DNS są rozproszone globalnie, utrzymywane przez serwery nazw DNS na całym świecie.
System nazw domen to hierarchia, gdzie podmiot wyżej w hierarchii ma możliwość dowolnego wskazania serwera nazw odpowiedzialnego za obsługę elementów niżej w hierarchii. To oznacza, że operator serwera nazw dla domeny com.pl
ma możliwość delegowania obsługi części strefy DNS na serwer nazw zarządzany przez podmiot trzeci poprzez wskazanie na swoim serwerze nazw serwera należącego do innego podmiotu.
Przeglądarka otrzymując zapytanie o nazwę example.com.pl
podąża za hierarchią ustalając autorytatywny serwer dla zadaną nazwę. Pierw ustala serwery odpowiedzialne za pl
. Po ich ustaleniu może uzyskać od odpowiedzialnych za pl
informacje o serwerach odpowiedzialnych zacom.pl
. Serwer odpowiedzialny za com.pl
wskaże serwer, który może udzielić pełnej odpowiedzi za zapytanie o nazwę example.com.pl
. Dopiero ostatni z udzieli aktualnej informacji właściwej dla nazwy. Każda z tych serwerów może być zarządzany przez odrębny podmiot. Udzielona odpowiedź może zawierać adres IP niezbędny do połączenia z docelowym serwerem.
# Delegowanie
Delegowanie to operacja, która umożliwia właścicielowi strefy delegowanie podstrefy (domeny) na inny serwer nazw przy użyciu rekordów typu NS
. Użytkownicy wówczas podążają za wskazaniem i wysyłają zapytania dotyczące podstrefy do docelowego serwera nazw określonego w delegacji.
W celu pełnego wykorzystania potencjału usługi DNS w Internecie konieczne jest delegowanie podstrefy na serwery nazw przydzielone do usługi. To oznacza wskazanie przez właściciela danej strefy przydzielonych serwerów nazw jako odpowiedzialnych za daną podstrefę.
# Rejestrator domen
W przypadku domen najwyższego poziomu tj. .pl
, .net
, .org
istnieje możliwość wykupienia prawa do domeny u rejestratora domen. Jest to firma, która współdziała on z podmiotem odpowiedzialnym za serwer nazw (rejestrem domen) w celu rejestracji domeny.
Rejestracja domeny oznacza uzyskanie prawo do wykorzystania wybranej nazwy domenowej. Umożliwia to użytkownikowi wskazanie serwery nazw dla wykupionej przez siebie domeny (delegowanie).
# Typy rekordów
Informacje udostępniane z wykorzystaniem DNS mogą mieć zróżnicowaną rolę i znaczenie w zależności od typu rekordu.
Rekord to wartość określonego typu przypisana do wybranej nazwy domenowej. Zbiór wartości o identycznym typie i nazwie nazywany jest zestawem rekordów (ang. record set
).
Niektóre z najczęściej używanych typów rekordów to:
A
– rekord adresu IPv4, który umożliwia przypisanie nazwy do adresu IPv4 serwera.AAAA
– rekord adresu IPv6, który umożliwia przypisanie nazwy do adresu IPv6 serwera.CNAME
– rekord, który odwzorowuje jedną nazwę domeny (alias) na inną (nazwa kanoniczna).MX
– rekord wymiany poczty (ang.mail exchange
), który jest używany w celu ustalenia nazw serwerów pocztowych odpowiedzialnych za obsługę poczty w wybranej strefy.NS
– rekord serwera nazw, który deleguje obsługę wybranej strefy DNS do autorytatywnego serwera.SOA
– rekord początku uprawnień (ang.Start of Authority
), używany do wyznaczenia podstawowego serwera nazw i administratora odpowiedzialnego za strefę. Każda strefa utrzymywana na serwerze DNS musi mieć rekord SOA.CAA
– Rekord autoryzacji urzędu certyfikacji, który służy do określania, które urzędy certyfikacji mogą wydawać certyfikaty dla domeny.
# Rekord CAA
Rekord typu CAA to rekord autoryzacji urzędu certyfikacji, który służy do określania, które urzędy certyfikacji mogą wydawać certyfikaty dla domeny.
Przy wejściu na stronę internetowę przeglądarka internetowa wykonuje pewne zakulisowe prace, aby zapewnić bezpieczeństwo. Przy otwarciu strony internetowej np. HyperOne.com, witryna powinna przedstawić certyfikat potwierdzający jej tożsamość. Ten certyfikat jest jak pieczęć zatwierdzenia: mówi, że połączenie jest bezpieczne. Innymi słowy, certyfikat potwierdza, że "treść nie została przechwycona ani zmodyfikowana podczas przesyłania". Zmieniona witryna HyperOne lub np. sklepu internetowego byłaby problematyczna, szczególnie gdyby wyglądała jak rzeczywista witryna.
Przeglądarki wykorzystują certyfikaty, ponieważ sama deklaracja co do tożsamości nie wystarczy w Internecie. Certyfikaty są przyznawane przez grono urzędów certyfikacji (CA) – podmiotów wybranych przez dostawców przeglądarek internetowych i systemów operacyjnych jako godne zaufania. Urzędy certyfikacji wydają certyfikaty w podobny sam sposób, jak notariusze podpisują dokumenty prawne – potwierdzają tożsamość, przeglądają niektóre dane i wykorzystują swój specjalny status, aby przyznać cyfrowy certyfikat. Aby uzyskać certyfikat dla własnej strony, można uzyskać go od urzędu certyfikacji (CA) lub skorzystać z usługi Strona, a Platforma uzyska go bez dodatkowych opłat. Ten system jest powszechnie w użyciu, ponieważ chroni przed oszustami, a także wspiera zaufanie między właścicielami domen i ich gośćmi.
Niemal każdy urząd certyfikacji ma możliwość wystawienia certyfikatu dla dowolnej witryny, jeżeli dochowa własnych procedur weryfikacji tożsamości. W rzadkich przypadkach może jednak popełnić błąd lub nie dochować procedur. Kiedy tak się dzieje, wydawane są fałszywe certyfikaty (nawet jeśli wydają się być autentyczne). Jeśli urząd certyfikacji przypadkowo wyda certyfikat dla witryny Organizacji, która wcale nie zażądała certyfikatu, Organizacja ma problem. Ktokolwiek otrzymał certyfikat, może pod pewnymi warunkami:
- kraść dane logowania od użytkowników,
- zakłócać prace witryny, udostępniając spreparowane treści.
Takie sytuacje się zdarzają (opens new window), więc warto dbać o bezpieczeństwo tego systemu. Jednak z elementów, który może go usprawnić jest wykorzystanie rekordów CAA w strefie DNS domeny Organizacji. Pozwalają one wskazanie przez Organizacje urzędów certyfikacji (CA), które wyłącznie będą uprawnione do wystawienia certyfikatów. Wystawienie certyfikatu przez nieuprawniony urząd certyfikacji będzie niedopuszczalne i łatwo weryfikowalne podczas stałych audytów.
Rekordy CAA składają się z trzech elementów:
- flagi: Jest to liczba całkowita od 0 do 255, używana do reprezentowania flagi krytycznej, która ma specjalne znaczenie określone przez RFC (opens new window)
- znacznik – ciąg ASCII, który może przyjąć jedną z następujących:
issue
: użyj tego, jeśli chcesz określić urzędy certyfikacji, które mogą wydawać certyfikaty (wszystkie typy)issuewild
: użyj tego, jeśli chcesz określić urzędy certyfikacji, które mogą wydawać certyfikaty (tylko certyfikaty wieloznaczne)iodef
: określa adres e-mail lub nazwę hosta, do których CA mogą powiadamiać w przypadku nieautoryzowanych żądań wydania certyfikatu
- wartość – wartość dla wybranego wybranego znacznika
Para znacznik-wartość nazywana jest "właściwością". Wiele właściwości można powiązać z tą samą nazwą domeny, publikując wiele rekordów CAA w tej nazwie domeny (zestawie rekordów).
Aby ograniczyć wydawanie certyfikatów dla domeny example.com
do urzędu certyfikacji Let's Encrypt należy dodać następujący rekord CAA:
example.com. CAA 0 issue "letsencrypt.org"
Aby zezwolić zarówno na wykorzystanie Let's Encrypt, jak i DigiCert należy dodać 2 rekordy CAA, po jednym dla każdego urzędu certyfikacji:
example.com. CAA 0 issue "letsencrypt.org"
example.com. CAA 0 issue "digicert.com"
W celu otrzymania powiadomienia o naruszeniu zasad, można dodać rekord z tagiem iodef
wraz z adresem e-mail na który należy skierować powiadomienie. Przykładowo:
example.com. CAA 0 issue "mailto:example@example.com"
Szczegółowy format rekordu został określony w RFC 6844 (opens new window).
Usługa DNS udostępniona przez Platformę umożliwia zarządzanie rekordami CAA. Utworzenie odpowiedniego rekordu jest możliwe z wykorzystaniem Panelu Zarządzania oraz CLI.