djbdns

djbdns
Deweloperzy Daniela J. Bernsteina
Wersja stabilna
1.05 / 2001 ; 22 lata temu ( 2001 )
System operacyjny Uniksopodobny
Typ serwer DNS
Licencja Domena publiczna
Strona internetowa cr .yp .to /djbdns .html

Pakiet oprogramowania djbdns jest implementacją DNS . Został stworzony przez Daniela J. Bernsteina w odpowiedzi na jego frustracje związane z powtarzającymi się lukami w zabezpieczeniach w powszechnie używanym oprogramowaniu BIND DNS. Jako wyzwanie Bernstein zaoferował nagrodę w wysokości 1000 $ dla pierwszej osoby, która znajdzie lukę w zabezpieczeniach djbdns, którą otrzymał w marcu 2009 roku Matthew Dempsky.

Od 2004 roku komponent tinydns djbdns był drugim najpopularniejszym serwerem DNS pod względem liczby domen, dla których był autorytatywnym serwerem, i trzecim najpopularniejszym pod względem liczby hostów DNS, na których był uruchomiony.

djbdns nigdy nie był podatny na powszechną lukę zatruwania pamięci podręcznej zgłoszoną w lipcu 2008 r., ale odkryto, że jest podatny na podobny atak.

Kod źródłowy nie był centralnie zarządzany od czasu jego wydania w 2001 roku i został udostępniony publicznie w 2007 roku. Od marca 2009 roku istnieje wiele rozwidleń , z których jednym jest dbndns (część Projektu Debian ) i kilkanaście łatek modyfikujących wydaną wersję.

Chociaż djbdns nie obsługuje bezpośrednio DNSSEC , istnieją łatki innych firm, które dodają obsługę DNSSEC do autorytatywnego komponentu tinydns djbdns.

składniki

Oprogramowanie djbdns składa się z serwerów, klientów i różnych narzędzi konfiguracyjnych.

Serwery

  • dnscache — narzędzie rozpoznawania nazw DNS i pamięć podręczna.
  • tinydns — serwer DNS oparty na bazie danych.
  • walldns — „odwrotna ściana DNS”, zapewniająca tylko wyszukiwanie adresu IP do nazwy domeny.
  • rbldns — serwer przeznaczony do obsługi czarnej listy DNS.
  • pickdns — serwer oparty na bazie danych, który wybiera spośród pasujących rekordów w zależności od lokalizacji żądającego. (Ta funkcja jest teraz standardową częścią tinydns.)
  • axfrdns — serwer transferu stref.

Narzędzia klienckie

  • axfr-get — klient transferu stref.
  • dnsip — prosty adres z wyszukiwania nazwy.
  • dnsipq — adres z wyszukiwania nazwy z regułami przepisywania.
  • dnsname — prosta nazwa z wyszukiwania adresu.
  • dnstxt — prosty zapis tekstowy z wyszukiwania nazwy.
  • dnsmx — wyszukiwanie wymiany poczty.
  • dnsfilter — równolegle wyszukuje nazwy adresów odczytanych ze standardowego wejścia.
  • dnsqr — rekurencyjne ogólne wyszukiwanie rekordów.
  • dnsq — nierekurencyjne ogólne wyszukiwanie rekordów, przydatne do debugowania.
  • dnstrace (i dnstracesort) — kompleksowe testowanie łańcuchów uprawnień nad serwerami DNS i ich nazwami.

Projekt

W djbdns różne funkcje i usługi są podzielone na osobne programy. Na przykład transfery stref, analizowanie plików stref, buforowanie i rekurencyjne rozpoznawanie są realizowane jako osobne programy. Rezultatem tych decyzji projektowych jest zmniejszenie rozmiaru kodu i złożoności programu demona , który zapewnia podstawową funkcję odpowiadania na żądania wyszukiwania. Bernstein twierdzi, że jest to zgodne z duchem Unix i znacznie upraszcza weryfikację bezpieczeństwa. [ potrzebne źródło ]

Stan praw autorskich

28 grudnia 2007 Bernstein udostępnił djbdns jako własność publiczną . Wcześniej pakiet był dystrybuowany bezpłatnie jako oprogramowanie nielicencjonowane . Nie pozwoliło to jednak na dystrybucję zmodyfikowanych wersji djbdns, co było jedną z podstawowych zasad oprogramowania open source . W związku z tym nie został uwzględniony w tych dystrybucjach Linuksa , które wymagały, aby wszystkie komponenty były typu open source.

Zobacz też

Linki zewnętrzne