Co to jest BIND?

Autor: Opublikowano

W skrócie: BIND (Berkeley Internet Name Domain) to otwarte oprogramowanie serwera DNS, używane przede wszystkim w systemach Linux i Unix. Może publikować informacje o domenach albo wyszukiwać odpowiedzi DNS w imieniu użytkowników. Przydaje się, gdy potrzebujesz kontroli nad obsługą DNS, ale do prowadzenia zwykłej strony internetowej zazwyczaj wystarcza DNS zarządzany przez dostawcę.

Do czego służy BIND?

DNS (Domain Name System) to system nazw domenowych: pozwala między innymi ustalić, jaki adres IP odpowiada nazwie wpisanej w przeglądarce. Przechowuje też inne informacje, na przykład wskazanie serwerów pocztowych domeny czy dane wykorzystywane do weryfikacji usług. BIND jest jednym z programów, które obsługują ten system, a nie nazwą samego DNS.

BIND rozwija organizacja Internet Systems Consortium (ISC). Współczesna linia oprogramowania to BIND 9, a jego główny proces serwerowy nosi nazwę named. Pakiet obejmuje również narzędzia administracyjne, służące między innymi do sprawdzania konfiguracji i diagnozowania odpowiedzi DNS.

BIND nie przechowuje plików strony i nie zastępuje serwera WWW. Nie rejestruje też domen. Jego zadaniem jest udzielanie odpowiedzi DNS, dzięki którym przeglądarka lub inna aplikacja może ustalić, gdzie połączyć się z właściwą usługą.

Dwie role: serwer autorytatywny i resolver

Serwer autorytatywny udostępnia miarodajne dane o domenach, za które odpowiada. Administrator definiuje je w strefie DNS, czyli wydzielonej części przestrzeni nazw. Taka strefa może zawierać rekordy A i AAAA wskazujące adresy IP, rekordy MX kierujące pocztę oraz rekordy TXT przechowujące informacje tekstowe.

Resolver rekurencyjny wyszukuje odpowiedzi w imieniu klienta. Jeśli nie ma potrzebnej informacji w pamięci podręcznej, odpytuje odpowiednie serwery DNS, aż uzyska wynik. Następnie może zachować odpowiedź na czas określony przez TTL, czyli parametr wyznaczający dopuszczalny czas jej przechowywania w pamięci podręcznej.

BIND potrafi pełnić obie role, ale mają one inne wymagania dotyczące dostępu. Publiczny serwer autorytatywny powinien odpowiadać na pytania o obsługiwane strefy. Resolver firmowy powinien natomiast przyjmować zapytania rekurencyjne wyłącznie od uprawnionych klientów, na przykład urządzeń w sieci lokalnej lub VPN.

W publicznych wdrożeniach zwykle warto rozdzielić te role. Ułatwia to stosowanie odmiennych reguł bezpieczeństwa i ogranicza skutki błędów konfiguracji.

Jak wygląda obsługa domeny w praktyce?

Załóżmy, że firma przenosi stronę na nowy serwer, ale pozostawia pocztę u dotychczasowego dostawcy. Jeśli jej strefę obsługuje BIND, administrator zmienia rekord A, a w razie używania IPv6 także rekord AAAA. Rekordy MX pozostają bez zmian, ponieważ sposób dostarczania poczty się nie zmienia.

Aktualizacja nie musi być widoczna od razu dla wszystkich użytkowników. Resolvery mogą nadal korzystać z poprzedniej odpowiedzi do wygaśnięcia jej TTL. Przed planowaną migracją można odpowiednio wcześniej obniżyć TTL zmienianych rekordów, pamiętając, że wcześniejsza, dłuższa wartość nadal obowiązuje już zapisane odpowiedzi.

BIND może także pracować jako serwer podstawowy lub wtórny dla strefy. Serwer podstawowy jest źródłem danych strefy, a wtórny pobiera ich kopię przez transfer strefy. Nie jest to podział na serwer „aktywny” i „zapasowy”: oba mogą normalnie odpowiadać na zapytania.

Samo uruchomienie BIND nie przekieruje obsługi domeny na własną infrastrukturę. Potrzebna jest jeszcze właściwa delegacja, czyli wskazanie serwerów nazw w strefie nadrzędnej, zwykle za pośrednictwem panelu rejestratora domeny.

Co trzeba zabezpieczyć i sprawdzić?

Administracja BIND wymaga czegoś więcej niż edycji rekordów. Szczególnie istotne są:

BIND obsługuje DNSSEC, czyli mechanizm podpisywania danych DNS i weryfikowania ich autentyczności. DNSSEC nie szyfruje zapytań ani nie ukrywa odwiedzanych nazw. Jego wdrożenie wymaga prawidłowego zarządzania kluczami oraz powiązania podpisanej strefy ze strefą nadrzędną.

Przed zastosowaniem zmian można sprawdzić składnię konfiguracji narzędziem named-checkconf, a plik strefy narzędziem named-checkzone. Po wdrożeniu narzędzie dig pozwala sprawdzić odpowiedzi poszczególnych serwerów. Poprawna składnia nie gwarantuje jednak poprawnej delegacji ani dostępności usługi z internetu.

Kiedy wybrać BIND, a kiedy usługę zarządzaną?

BIND ma sens, gdy organizacja potrzebuje własnej infrastruktury DNS, lokalnych stref, szczegółowej kontroli dostępu lub integracji z istniejącą administracją systemów. Jest także przydatny do nauki DNS, ponieważ pozwala samodzielnie skonfigurować strefę i obserwować odpowiedzi serwera.

Dla właściciela strony firmowej lub sklepu usługa zarządzana często będzie prostsza. Dostawca utrzymuje serwery DNS i ich oprogramowanie, a użytkownik edytuje rekordy w panelu. Nie oznacza to rezygnacji z własnej domeny ani konieczności utrzymywania strony i DNS w jednej firmie.

Przed instalacją określ więc jedną rzecz: czy potrzebujesz tylko zmieniać rekordy domeny, czy rzeczywiście utrzymywać serwer DNS. Jeśli chodzi wyłącznie o rekordy, zacznij od możliwości obecnego panelu DNS — własny BIND oznacza dodatkową odpowiedzialność za dostępność, aktualizacje i bezpieczeństwo.

Zobacz też: Co to jest Apache?

Przeczytaj także

Dowiedz się, jak PHP-FPM obsługuje żądania PHP, czym różni się od serwera WWW i jak dobrać ustawienia procesów do ruchu oraz zasobów hostingu.
Poznaj najważniejsze Security Headers, ich rolę w ochronie strony oraz sposób sprawdzania i wdrażania nagłówków bez blokowania potrzebnych funkcji.
CSP określa, jakie zasoby może ładować strona. Poznaj najważniejsze dyrektywy, przykład nagłówka i sposób wdrożenia polityki bez blokowania funkcji.