djbdns – қауіпсіздігі жоғары DNS сервері. BIND-ге альтернатива, қателерге қарсы сыйлық қоры және кең таралғандығы туралы ақпарат. DNS қауіпсіздігін күшейтіңіз!
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
djbdns бағдарламалық пакеті – DNS жүйесін іске асыру. Оны Дэниел Бернштейн кеңінен қолданылатын BIND DNS бағдарламалық жасақтамасындағы қайталама қауіпсіздік кемшіліктеріне наразы болғандықтан жасады. Бернштейн сынақ ретінде djbdns-те қауіпсіздік кемшілігін бірінші тапқан адамға 1000 доллар сыйлық ұсынды, ол 2009 жылдың наурызында Мэтью Демпскиге табысталды. 2004 жылға қарай, djbdns-тің tinydns компоненті оны басқаратын домендер саны бойынша екінші ең танымал DNS сервері, ал оны іске қосып жұмыс істететін DNS хосттары саны бойынша үшінші ең танымал сервер болып есептелді. djbdns 2008 жылдың шілдесінде хабарланған кең таралған кэшті улану қаупіне ешқашан ұшырамаған, бірақ оған ұқсас шабуылға ұшырауы мүмкін екені анықталды. 2001 жылы жарық көргеннен бері бастапқы кодты орталықтандырылған түрде басқару тоқтатылды және 2007 жылы ол жалпыға қолжетімді етуге берілді. 2009 жылдың наурызына қарай бірнеше түйін пайда болды, олардың бірі dbndns (Debian жобасының бір бөлігі), сондай-ақ жарық көрген нұсқаны өзгертуге арналған оннан астам түзетулер енгізілді. djbdns тікелей DNSSEC-ті қолдамаса да, djbdns-тің тек tinydns компонентіне DNSSEC қолдауын қосуға мүмкіндік беретін үшінші тараптан түзетулер бар.
The djbdns software package is a DNS implementation. It was created by Daniel J. Bernstein in response to his frustrations with repeated security holes in the widely used BIND DNS software. As a challenge, Bernstein offered a $1000 prize for the first person to find a security hole in djbdns, which was awarded in March 2009 to Matthew Dempsky. as of 2004, djbdns's tinydns component was the second most popular DNS server in terms of the number of domains for which it was the authoritative server, and third most popular in terms of the number of DNS hosts running it. djbdns has never been vulnerable to the widespread cache poisoning vulnerability reported in July 2008, but it has been discovered that it is vulnerable to a related attack. The source code has not been centrally managed since its release in 2001, and was released into the public domain in 2007. As of March 2009, there are a number of forks, one of which is dbndns (part of the Debian Project), and more than a dozen patches to modify the released version. While djbdns does not directly support DNSSEC, there are third party patches to add DNSSEC support to djbdns' authoritative only tinydns component.
Құралымдары
djbdns бағдарламалық жасақтамасы серверлер, клиенттер және түрлі конфигурация құралдарынан тұрады.
The djbdns software consists of servers, clients, and miscellaneous configuration tools.
Серверлер
dnscache — DNS ажыратушы және кэш. tinydns — деректер базасына негізделген DNS сервері. walldns — тек IP-адрестен домендік атауға айналдыруды қамтамасыз ететін "кері DNS қабырғасы". rbldns — DNS қара тізімдеу қызметі үшін арналған сервер. pickdns — сұраушының орналасқан жеріне қарай сәйкес жазбаларды таңдайтын деректер базасына негізделген сервер. (Бұл мүмкіндік енді tinydns-тің стандартты бөлігіне кіреді.) axfrdns — аймақтарды алмастыру сервері.
dnscache — the DNS resolver and cache. tinydns — a database driven DNS server. walldns — a "reverse DNS wall", providing IP address to domain name lookup only. rbldns — a server designed for DNS blacklisting service. pickdns — a database driven server that chooses from matching records depending on the requestor's location. (This feature is now a standard part of tinydns.) axfrdns — a zone transfer server.
Клиенттік құралдар
axfr аймақтарды көшіру клиенті. dnsip атау бойынша қарапайым мекенжай табу. dnsipq атауларды өзгерту ережелерімен мекенжайды табу. dnsname мекенжай бойынша қарапайым атау табу. dnstxt атау бойынша қарапайым мәтіндік жазба табу. dnsmx пошта алмастырғышты іздеу. dnsfilter stdin-нен оқылған мекенжайлар үшін атауларды параллель іздеу. dnsqr рекурсивті жалпы жазбаны іздеу. dnsq рекурсиясыз жалпы жазбаны іздеу, түзетуге көмектеседі. dnstrace (және dnstracesort) DNS серверлері мен олардың атаулары бойынша өкілеттік тізбектерін толыққанды тексеру.
axfr get — a zone transfer client. dnsip — simple address from name lookup. dnsipq — address from name lookup with rewriting rules. dnsname — simple name from address lookup. dnstxt — simple text record from name lookup. dnsmx — mail exchanger lookup. dnsfilter — looks up names for addresses read from stdin, in parallel. dnsqr — recursive general record lookup. dnsq — non recursive general record lookup, useful for debugging. dnstrace (and dnstracesort) — comprehensive testing of the chains of authority over DNS servers and their names.
Дизайн
DjBDN-да әр түрлі мүмкіндіктер мен қызметтер жеке бағдарламаларға бөлінеді. Мысалы, аймақтарды көшіру, аймақ файлдарын талдау, кэштеу және рекурсивті ашу жеке бағдарламалар ретінде жүзеге асырылады. Мұндай жобалау шешімдерінің нәтижесінде іздеу сұрақтарына жауап берудің негізгі функциясын атқаратын демон бағдарламасының код көлемі мен күрделілігі азаяды. Бернштейн мұның Unix операциялық жүйесінің дәстүріне сай екенін және қауіпсіздікті тексеруді әлдеқайда оңай ететінін айтады.
In djbdns, different features and services are split off into separate programs. For example, zone transfers, zone file parsing, caching, and recursive resolving are implemented as separate programs. The result of these design decisions is a reduction in code size and complexity of the daemon program that provides the core function of answering lookup requests. Bernstein asserts that this is true to the spirit of the Unix operating system, and makes security verification much simpler.
Авторлық құқық мәртебесі
2007 жылдың 28 желтоқсанында Бернштейн djbdns-тің кодына қол жеткізуді шектемей, оны жалпыға ортақ мүлік деп жариялады. Бұрынғыда бұл пакет лицензиясыз тегін бағдарлама ретінде таратылған. Бірақ, бұл djbdns-тің өзгертілген нұсқаларын таратуға рұқсат бермеді, ал ашық кодты бағдарламалық жасақтаманың басты қағидаларының бірі – осындай өзгерістерді тарату мүмкіндігі еді. Сондықтан, барлық құрамдас бөліктері ашық кодты болуын талап ететін Linux дистрибутивтеріне ол қосылмады.
On December 28, 2007, Bernstein released djbdns into the public domain. Previously the package was distributed free of charge as license free software. However this did not permit the distribution of modified versions of djbdns, which was one of the core principles of open source software. Consequently, it was not included in those Linux distributions which required all components to be open source.