Каталог статей
Меню сайта


Форма входа


Категории раздела
Oracle DB [72]
Materials concerning Oracle database
Howto [24]
Все про Oracle [65]
Разработка на SQL и PL/SQL для Oracle, анализ работы базы
Построение Web-интерфейса: все что касается JSF, ADF и AJAX [9]
Разное [19]
Solaris [46]
Что касается администрирования Solaris
Linux [29]
Заметки по настройке Linux
AIX [1]
AIX, настройка Oracle на AIX
Java [15]
Cryptography [10]
Windows [1]
Java [35]
PostgreSQL [2]


Поиск


Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0


    Приветствую Вас, Гость · RSS 20.05.2024, 01:15
    Главная » Статьи » Howto

    Настройка DNSSEC

    1. Установка eToken PRO от Алладин на Linux RHE 5.

    Пробовал устанавливать версию PKI Client 8.0 с версией pcsc-lite-1.4.101.tar.gz.
    Установка достаточно внятно описана в руководстве "Быстрый старт".

    Обратить внимание нужно на 2 вещи:
    1. при установке из исходников pcsc-lite нужно сначала скомпилировать и установить 32-х битную версию,
    а потом - 64-битную. Обе версии ставятся из одних и тех же исходнников. В промежутке между версиями
    не забыть сделать "make clean".

    Может быть ситуация, когда eToken виден только из под root'а.
    В этом случае нужно поменять права доступа:
    chmod go+rx /var/run/pcscd

    Перезапустить демон:
    /etc/init.d/pcscd stop
    /etc/init.d/pcscd start

    2. устанавливать собственно PKI Client , который называется в 8-й версии SafeNet Authentication Client
    нужно, используя скрипт ./signed-install_SafenetAuthenticationClient-8.0.5-0.x86_64.rpm.sh
    Cтавить через RPM не получается - выдается ошибка на зависимости pcsc-lite.

    проверить после установки:
    pkcs11-tool --module /usr/lib64/libeToken.so -l -O

    Основные команды для работы с eToken'ом:
    /usr/local/bin/pkcs11-tool --module /usr/lib64/libeToken.so -L -Ov

    /usr/local/bin/pkcs11-tool --module /usr/lib64/libeToken.so --write-object 60936.pem --type data --label 60936 --application-label ru --private -p 1234

    /usr/local/bin/pkcs11-tool --module /usr/lib64/libeToken.so --delete-object --label '29118' --type pubkey



    2. Установка bind для подписания зоны

    На Red Hat Enterprise Linux Server и CentOS все установилось по инструкции, engine_pkcs11 не потребовался.

    Ставил пакеты из исходников в следующей последовательности:

    libtool-2.4
    Botan-1.8.11
    sqlite-autoconf-3070400
    softhsm-1.2.0

    Проверяем, что появилась библиотека:
    ls /usr/local/lib/libsofthsm.so

    В конфигурационном файле /etc/softhsm.conf должна быть запись для слота 0:
    0:/var/softhsm/slot0.db

    bind в связке с softhsm умеет работать только с одним нулевым слотом.

    Разрешаем доступ к хранилищу прочим пользователям
    sudo chmod 777 /var/softhsm

    инициализируем хранилище ключей:
    softhsm --init-token --slot 0 --label "My token 1"


    openssl-0.9.8l
    накатил патч:
    patch -p1 < openssl-0.9.8l-patch
    флаги конфигурации:
    ./config --pk11-libname=/usr/local/lib/libsofthsm.so  --pk11-flavor=sign-only --prefix=/usr/local --openssldir=/usr/local threads shared

    ! Для CentOS 7 в строку конфигурации необходимо добавить no_asm:

    ./config --pk11-libname=/usr/local/lib/libsofthsm.so  --pk11-flavor=sign-only --prefix=/usr/local --openssldir=/usr/local threads shared no-asm

    ! При инсталляции, если происходит ошибка во время установки man pages, устанавливать:

    #make install_sw

    после установки openssl разу стала выполняться проверка на engine pkcs11:
    openssl engine pkcs11 -t
    должно выдать:
    (pkcs11) PKCS #11 engine support (sign only)
         [ available ]


    Чтобы утилиты из bind, которые начинаются с dnssec- не спрашивали pin,
    прописываем pin в конфигурационный файл /usr/local/openssl.cnf.
    В начале файла вставляем строку:
    openssl_conf = openssl_def

    В конце файла вставляем:
    [ openssl_def ]
    engines = engine_section

    [ engine_section ]
    pkcs11 = pkcs11_section

    [ pkcs11_section ]
    engine_id = pkcs11
    PIN = 1234
    init = 0

    ! В некоторых описаниях указано, что нужно добавлять строки

    dynamic_path = /usr/local/lib/libsofthsm.so
    и/или
    MODULE_PATH = /usr/local/lib/libsofthsm.so

    Мне завести openssl с этими строками конфигурации не удалось.

    bind-9.7.2-P3
    флаги конфигурации:
    ./configure --enable-threads --with-pkcs11=/usr/local/lib/libsofthsm.so --with-openssl=/usr/local


    Проверить установку можно так
    Генерируем ключики:
    генерируем ключи:
    pkcs11-keygen -b 2048 -l sample-ksk
    pkcs11-keygen -b 1024 -l sample-zsk
    или для eToken добавляем -m:
    /usr/local/sbin/pkcs11-keygen -m /usr/lib64/libeToken.so -b 1024 -l sample-zsk

    проверяем, что ключи есть:
    /usr/local/sbin/pkcs11-list -m /usr/lib64/libeToken.so

    Enter Pin:
    C_GetAttributeValue[0]: rv = 0xFFFFFFFF81000001
    object[1]: handle 228917254 class 3 label[10] 'sample-ksk' id[0]
    object[2]: handle 249233413 class 2 label[10] 'sample-ksk' id[0]

    Выгружаем публичную часть и ссылку на закрытую часть ключей, необходимую для работы bind:
    (при работе с dnssec-утилитами тип модуля pkcs11 не указываем, т.к. используется тот, что был указан при сборке openssl)

    /usr/local/sbin/dnssec-keyfromlabel -a NSEC3RSASHA1 -l sample-ksk -f KSK ru
    должно получиться 2 файла с типом ключа (алгоритмом) = 7


    /usr/local/sbin/dnssec-keyfromlabel -a NSEC3RSASHA1 -l sample-zsk -3 -n ZONE ru
    должно получиться еще 2 файла с типом ключа (алгоритмом) = 7

    не забываем добавить полученные публичные ключи в файл подписываемой зоны, например:
    cat Kru.+007+20163.key >> ru
    cat Kru.+007+20164.key >> ru

    подписываем зону (заодно измеряем затраченное время):
    time dnssec-signzone -e +259200 -j 86400 -r /dev/urandom -t -3 FF00FF  -A ru

    /dev/urandom нужен в большинстве случаев для одиноко стоящих серверов, так как не хватает энтропии
    для нормальной работы честного /dev/random - то есть задача как бы "подвисает", дожидаясь появления
    достаточного количества внешних событий для рандомайзера, если указать /dev/random.


     

    Категория: Howto | Добавил: basil (19.05.2011)
    Просмотров: 916 | Комментарии: 3 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    Бесплатный конструктор сайтов - uCoz