• Быстрый переход
  • Рубрики
  • Свежие записи
  • Метки
  • Архивы
  • Реклама 1
  • Реклама 2
  • Рейтинг@Mail.ru

    Настройка BIND в режиме кэширующего DNS сервера с использованием DNSSEC


    Для начала заставим BIND проверять полученные с определенной зоны данные, в результате клиенты которые будут использовать этот DNS сервер, будут защищены от подмены. Примеры буду показывать на основе Ubuntu. Устанавливаем BIND.
    $ sudo apt-get install bind9

    При самостоятельной сборке BIND необходимо активировать флаг “--with-openssl”.
    После установки в /etc/bind/named.conf (в Ubuntu секция options вынесена в named.conf.options) добавляем следующие параметры:

    options {
    dnssec-enable yes; # активируется поддержка DNSSEC
    dnssec-validation yes; # включается только для неавторитативного сервера
    };

    Далее необходимо сконфигурировать доверенные якоря (trust anchor) для тех зон/доменов, которые будут проверяться. Узнать нужный публичный ключ можно разными способами. Самый простой получить при помощи dig из DNS (как это показано выше), но в этом случае нужно четко знать, что ключ принадлежит именно тому, кому нужно. Проверить затем полученный ключ можно зайдя на один из сайтов зоны. Сегодня также доступны специальные сервисы в которых администраторы размещают trust anchor своих доменов [9]. Далее заносим анкоры в файл в секцию trusted-keys файла named.conf:


    zone "se." {
    type forward;
    forwarders { 212.247.7.228; };
    };


    trusted-keys {
    # зона se
    "se." 257 3 5
    4w6RVY0ciZ/a8t1xy5FIxkg2U95ZV5VuLtwmx2rgtAbx
    BACzTKrqYIpJ6LYSmjdQ3or+ZiO2tEMr53EwAjA6GKrf
    qQ2S1y7Rblz2kaS6PK2Gh5MOCufhGozUhPQSGFTn/mV8
    H9hlQptfcFCpFZrQQDAQqFAyxQginDgrwSripBk=

    # Далее аналогично добавляются ключи и для других зон
    # например для 4x4.org
    "4x4.org" 256 3 5 "BEAAAAOxYIG/de/sEWGkMlMw/+WZHw72QMNAdCbneozk4BU4OCAbv9krBFnk52CZ67QPEfDMwV0k12Hr6sXkgZgeBpRV";
    };

    Принцип думаю понятен. DLV записи создаются аналогичным образом (в options требуется dnssec-lookaside).

    options {
    dnssec-lookaside . trust-anchor dlv.isc.org.;
    };

    Для удобства отслеживания запросов, можно создать отдельный канал для протоколирования запросов DNSSEC:

    logging {
    channel dnssec_log {
    file "log/dnssec" size 20m;
    print-time yes;
    print-category yes;
    print-severity yes;
    severity debug 3;
    };
    category dnssec { dnssec_log; };
    }

    Переконфигурируем BIND:

    $ sudo rndc reconfig
    $ sudo rndc flush

    И проверяем запрос:

    > dig @127.0.0.1 4x4.org +retry=1 +dnssec +multiline

    Флаг “ad” в полученном ответе должен быть установлен:
    В журнале будет показан полный путь проверки имени, все том числе и проблемы с ключами и т.п:

    Nov 5 21:41:35 ubuntu named[32464]: /etc/bind/named.conf:47: trusted key 'ru.' has a weak exponent
    Nov 5 21:43:53 ubuntu named[32464]: not insecure resolving 'samag.ru/A/IN': 89.253.192.21#53

    Автор: admin, 4 ноября 2010
    Рубрики: OS Linux, Новости
    Метки: , , , , ,

    Написать комментарий

    Последние статьи