djbdns Реферат на тему:

advertisement
Реферат на тему:
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
Download