NSD (англ. Name Server Daemon) — DNS-сервер з відкритим кодом, розроблений компанією NL Net Labs у співпраці з RIPE NCC. Сирцевий код NSD поширюється під ліцензією BSD.

NSD
Тип DNS сервер
Розробник NLnet Labs
Стабільний випуск 4.0 (29 жовтня 2013; 7 років тому (2013-10-29))
Репозиторій github.com/NLnetLabs/nsd
Платформа UNIX-подібні операційні системи
Операційна система Unix-подібні
Мова програмування C[1]
Ліцензія BSD
Вебсайт www.nlnetlabs.nl/nsd/

NSD підтримує роботу тільки в авторитативному режимі (обробка DNS-зон) і максимально оптимізований для вирішення цієї задачі. NSD розроблявся з нуля як лише відповідальний сервер (тобто, він не реалізує рекурсивні запити і кешування). Однією з цілей розробки було підвищення різноманітності DNS-серверів і, отже, підвищення стійкості системи доменних імен до помилок у програмному забезпеченні і атакам на вразливості.

NSD використовує файли описів зон (англ) у стилі BIND і може використовувати файли BIND без змін. Вся інформація компілюється за допомогою zonec в двійковий формат (nsd.db) для прискорення завантаження. Також в процесі компіляції можуть бути виявлені помилки синтаксису, що дозволяє виправити їх ще до того, як вони стануть доступні сервера.

На рівні підтримки протоколів NSD повністю сумісний з іншими авторитативними і рекурсивними серверами DNS, а також може використовуватися для DNSSEC (з підтримкою NSEC3). На рівні файлів зон NSD сумісний з BIND і може працювати файлами зон BIND, без необхідності внесення до них змін. Сирцеві файли зон компілюються в бінарне індексоване представлення, яке забезпечує мінімальний час запуску, оптимальну продуктивність і гарантію відсутності помилок (всі проблеми виявляються на стадії компіляції).

Процеси NSD працюють від імені непривілейованого користувача, що дозволяє легко помістити його в ізольоване оточення (таке, як chroot). Таким чином, навіть якщо в ньому виявиться вразливість, її використання не дозволить скомпрометувати всю систему.

Стабільність і надійність NSD підтверджена його використанням на кількох кореневих серверах DNS і серверах, що обслуговують домени першого рівня. Станом на 2011 рік NSD використовували такі кореневими серверами:

  • k.root-servers.net[2];
  • h.root-servers.net[3];
  • l.root-servers.net[4].

ВиноскиРедагувати

ПосиланняРедагувати