Miesięcznik informatyków i menedżerów IT sektora publicznego

Kamil Folga

Bezpieczny serwer nazw

DNS złej jakości może znacząco spowolnić dostęp do usług internetowych. Dobrym pomysłem jest uruchomienie własnego serwera DNS, który będzie obsługiwał użytkowników naszej sieci lokalnej.

DNSSEC to mechanizm, który wzmacnia bezpieczeństwo danych zawartych w strefach (domenach). Używa podpisów cyfrowych.

DNS jest usługą internetową, która mapuje adresy IP na nazwy domenowe FQDN (Fully Qualified Domain Names) oraz odwrotnie – nazwy domenowe na adresy IP. Najpopularniejszym i najbardziej elastycznym pod względem konfiguracji serwerem DNS jest BIND9, dostępny w każdym repozytorium dystrybucji systemu Linux. Serwer BIND9 wspiera różne konfiguracje usługi DNS. Oprogramowanie pozwala w łatwy sposób zrealizować każdy scenariusz usługi DNS. BIND9 może pracować jako serwer typu cache wyszukujący zapytania, aby następnie zapamiętać odpowiedzi. Kolejny użytkownik, który wystosuje identyczne zapytanie, otrzyma informację z serwera cache, bez konieczności przeprowadzania dalszych zapytań do innych serwerów nazw. Znacząco przyspieszamy w ten sposób dostęp do usług w sieci Internet.

BIND9 może zostać użyty do udostępniania rekordów DNS jako serwer podstawowy (autorytatywny) dla określonych stref (Primary). BIND9 może pracować również jako serwer pomocniczy (Secondary), który udostępnia kopię stref skonfigurowanych na serwerze podstawowym. Strefa to zestaw rekordów DNS dla określonej domeny. Istnieją również konfiguracje hybrydowe, gdzie w ramach jednej instancji BIND9 działają serwer magazynujący i podstawowy lub serwer magazynujący i pomocniczy.

Domena w serwerze DNS jest opisana przez strefę, na którą składa się zestaw rekordów. Rekord typu A jest najczęściej używanym typem rekordów. Mapuje on nazwę na adres IP. Jeżeli zamierzamy utworzyć alias do istniejącego rekordu A, powinniśmy użyć rekordu CNAME. Jeżeli chcemy zdefiniować, gdzie mają trafiać wiadomości e-mail, poprzez rekord MX możemy wskazać adres serwera pocztowego. Istotny jest również rekord NS, który wskazuje, na jakich serwerach DNS utrzymywane są kopie konfiguracji danej strefy (domeny). 

Konfiguracja serwera BIND9 jako cache

W sieci lokalnej warto posiadać serwer DNS typu cache, który przyspieszy tłumaczenie nazw na adresy IP dla lokalnych maszyn, a jednocześnie pomoże zwiększyć bezpieczeństwo użytkowników, dostarczając cennych danych dla zarządu organizacji. Konfiguracja serwera BIND9 nie jest skomplikowana. Jeżeli nie poprzedzamy komend poleceniem sudo, należy zalogować się na konto root. W przypadku dystrybucji Ubuntu systemu Linux wszystkie pliki konfiguracyjne BIND9 znajdują się w katalogu /etc/bind. Najważniejsze pliki konfiguracyjne to:

/etc/bind/named.conf
/etc/bind/named.conf.local
/etc/bind/named.conf.options

Serwer BIND9 instalujemy poleceniem: apt-get install bind9. Domyślna konfiguracja BIND9 pracuje jako serwer cache. Opcjonalnie możemy wskazać adresy DNS, do których zostaną przekazane zapytania, gdy nie będzie ich w pamięci naszego serwera (forwarders). Warto wskazać bezpieczne serwery DNS (patrz: ramka „Bezpieczne i darmowe serwery DNS”). W pliku /etc/bind/named.conf.option wyszukujemy sekcje:

forwarders {
1.1.1.1;
8.8.8.8;
};

gdzie podajemy adresy IP naszych bezpiecznych serwerów DNS. Następnie restartujemy serwer poleceniem /etc/init.d/bind9 restart i możemy przejść do testowania usługi. Najlepiej przeprowadzać je na dowolnej stacji w sieci LAN, wskazując jako serwer DNS skonfigurowaną przed chwilą maszynę lub wpisując adres nowego serwera DNS do konfiguracji sieci. To podstawowa konfiguracja, która znakomicie sprawdzi się jako nasz wewnętrzny serwer DNS. Bezpieczne serwery DNS zablokują zapytania, które zostaną sklasyfikowane jako niebezpieczne. Uważny czytelnik z pewnością stwierdzi, że wystarczy wpisać identyczne adresy serwerów DNS do konfiguracji sieciowej komputerów lub przydzielać bezpieczne DNS wraz z adresem IP przez serwer DHCP. Stosując jednak wewnętrzny serwer DNS, znacząco przyspieszamy udzielenie odpowiedzi na zapytania o najczęściej wykorzystywane nazwy domenowe. Dodatkowo możemy tworzyć lokalną historię zapytań każdego z użytkowników.

Zwiększanie bezpieczeństwa DNS

Umieszczenie BIND9 w wydzielonym środowisku znacznie zwiększa bezpieczeństwo. W takiej konfiguracji BIND9 będzie miał dostęp do wszystkich plików i niezbędnego sprzętu, ale nie uzyska dostępu do zbędnych zasobów. W przypadku ataku na nasz serwer DNS system operacyjny będzie bezpieczny. 

[...]

Autor zawodowo zajmuje się informatyką ze specjalizacją w zakresie sieci bezprzewodowych oraz systemów transmisji głosu. Publikuje w magazynach komputerowych.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma. Zapraszamy do składania zamówień na prenumeratę i numery archiwalne.
 
 

Polecamy

Biblioteka Informacja Publiczna

Specjalistyczne publikacje książkowe dla pracowników administracji publicznej

więcej