Реферат на тему: djbdns План: Введение 1 Компоненты djbdns 2 Пример использования клиентских утилит 3 Ситуация с лицензией Примечания Введение djbdns представляет собой простой и безопасный набор программ для обслуживания и разрешения (resolving) DNS зон, разработанный Дэниелом Бернштейном. Автор программы создал его после обнаружения многочисленных ошибок в коде BIND. Он пообещал премию в $1000 тому, кто найдёт ошибку в коде djbdns. [2] В 2004 году стал вторым по популярности DNS сервером. В 2009 году Матью Демпски (Matthew Dempsky) нашёл уязвимости в dnscache. [3] 1. Компоненты djbdns Серверы: dnscache — кэширующий DNS сервер tinydns — полномочный DNS сервер walldns — «reverse DNS wall», обеспечивает только преобразование между IPадресами и доменными именами. rbldns — сервер, разработанный для RBL. axfrdns — сервер для переноса зоны. Клиентские программы: axfr-get — клиент для переноса зон. dnsip — простое разрешение FQDN-имени в ip-адрес. dnsipq — разрешение неполных имен на основе правил изменения (дополнения) имен. dnsname — простой поиск имени по IP-адресу. dnstxt — простой поиск TXT-записи. dnsmx — поиск почтового обменника (mail exchanger). dnsfilter — параллельный поиск имен для IP-адресов, считываемых из стандартного ввода (stdin). dnsqr — рекурсивный поиск записей. dnsq — нерекурсивный поиск записей, удобен для отладки и поиска проблем. dnstrace (и dnstracesort) — всесторонняя проверка цепочек полномочий (chains of authority). …и несколько сопутствующих инструментов конфигурирования. В djbdns различные функции и сервисы, такие как передача зон через AXFR, разделены между отдельными программами. Разбор файла зон, кэширование DNS-записей и рекурсивный поиск записей также выполнены в виде отдельных программ. Результатом этого дизайнерского решения стало чрезвычайное уменьшение объёма кода и сложности программ-демонов, которые отвечают на клиентские запросы. Даниел Бернштейн (и многие другие) осознают, что этот подход хорошо согласуется с духом UNIX, и делает проверку безопасности более простой. 2. Пример использования клиентских утилит Обратный резолвинг нескольких хостов из файла: root@host[/root]# cat file-with-list-ip.txt | dnsfilter 194.87.0.50=www.ru 87.118.90.81=ns.km35112.keymachine.de 93.158.134.8=ya.ru Содержание файла file-with-list-ip.txt: 194.87.0.50 87.118.90.81 93.158.134.8 Получение ip адреса по имени, для нескольких хостов из файла: #!/bin/sh # # # # # # Use: ./h2ip.sh dns-list-file.txt Example output: www.ru=194.87.0.50 ns.ru=87.118.90.81 ya.ru=93.158.134.8 77.88.21.8 213.180.204.8 echo "Using DNS file list: $1" for name in `cat $1`; do echo -n $name=; dnsip $name; done Использование: # chmod +x h2ip.sh; ./h2ip.sh dns-list-file.txt Для bash, в консоли: for name in `cat dns-list-file.txt`; do echo -n $name=;dnsip $name; done 3. Ситуация с лицензией Ранее пакет распространялся как программное обеспечение без лицензии, что не согласовалось с Open Source Definition. Это мешало djbdns быть включённым в некоторые дистрибутивы Linux, такие как Debian Linux. Использование djbdns было бесплатно для всех; исходный код был общедоступен и мог быть загружен бесплатно всеми желающими; он был открыт для проверки и изменения всеми желающими. Единственное ограничение состояло в том, что нельзя было распространять модифицированную версию djbdns; изменения могли распространяться только как заплатки к исходному коду. 28 декабря 2008 года djbdns (точнее файл djbdns-1.05.tar.gz [4], чья хеш-сумма MD5 равна 3147c5cd56832aa3b41955c7a51cbeb2) перешёл в общественное достояние. Примечания 1. Daniel J. Bernstein Frequently asked questions from distributors cr.yp.to/distributors.html (англ.). 2. Daniel J. Bernstein The djbdns security guarantee cr.yp.to/djbdns/guarantee.html (англ.). 3. Security issue in djbdns confirmed - securityandthe.net/2009/03/05/security-issue-indjbdns-confirmed/ (англ.). 4. http://cr.yp.to/djbdns/djbdns-1.05.tar.gz - cr.yp.to/djbdns/djbdns-1.05.tar.gz