Вопрос: Как создать и импортировать сертификаты в DFL-210/260/800/860/1600/2500 для в авторизации IPSec

Ответ: 

Данное руководство не рассматривает настройку сервера сертификатов, а только их создание и импортирование, а так же преобразование их в формат понятный для ОС семейства Windows 2000/XP/Vista, для использования в аутентификации IPSec или L2TP over IPSec, поэтому созданные сертификаты должны использоваться без проверки CRLs (Certificate Revocation Lists).

В примере используется программа OpenSSL 0.9.8k для ОС Linux Debian Lenny.

Откройте файл /etc/ssl/openssl.cnf, найдите строку default_days = 365 и укажите нужное вам количество дней, на которые выдается сертификат, например, 1095, затем найдите строку # subjectAltName=email:copy и удалите символ #. Сохраните файл.

Создайте отдельную папку для сертификатов:

mkdir cert && cd cert/

Скопируйте скрипт, упрощающий создание CA сертификата.

test@svasiliev:~/cert$ cp /usr/lib/ssl/misc/CA.sh .

Проверьте наличие файла:


test@svasiliev:~/cert$ ls
CA.sh


Измените в файле строку DAYS="-days 365", указав нужное количество дней, в противном случае необходимо выдавать новые сертификаты каждый год. Не рекомендуется менять это значение для повышения безопасности.

Создайте самоподписанный сертификат CA.

test@svasiliev:~/cert$ sh CA.sh -newca


Сделайте так, как указано на скриншоте ниже:



Теперь ответьте на максимум вопросов, пример показан ниже на скриншоте:



Создание самоподписанного сертификата CA demoCA/cacert.pem и секретного ключа demoCA/private/cakey.pem завершено. В дальнейшем сертификат и ключ понадобятся для подписи сертификатов, а CA сертификат будет импортирован в удаленные устройства или компьютеры без секретного ключа.

ВНИМАНИЕ НЕ РАСПРОСТРАНЯЙТЕ СЕКРЕТНЫЙ КЛЮЧ ОТ СА СЕРТИФИКАТА! ВСЛУЧАЕ КОМПРОМЕТАЦИИ КЛЮЧА НЕМЕДЛЕННО СОЗДАТЬ НОВЫЙ КЛЮЧ И СЕРТИФИКАТ СА. ЭТО ПРИВЕДЕТ К НЕОБХОДИМОСТИ ЗАМЕНЫ ВСЕХ ВЫДАННЫХ РАНЕЕ СЕРТИФИКАТОВ.

Теперь необходимо создать два подписанных сертификата с секретными ключами, один из сертификатов должен быть импортирован в DFL и установлен в тоннеле в качестве local certificate, другой сертификат должен быть импортирован в удаленное устройство или компьютер.

Создайте запрос на сертификат с секретным ключом для DFL:

test@svasiliev:~/cert$ openssl req -new -keyout dflkey.pem -out dflreq.pem

Как и при создании сертификата СА, введите парольную фразу и ответе на вопросы.

Подпишите сертификат с помощью сертификата СА и секретного ключа сертификата СА (Примечание: т.к. для создания сертификата использовался скрипт CA.sh, все параметры уже заданны, и система знает, где искать сертификат CA и его приватный ключ, поэтому можно не указывать их явно для подписи):

test@svasiliev:~/cert$ openssl ca -policy policy_anything -out dflcert.pem -infiles dflreq.pem

Введите парольную фразу для секретного ключа CA (demoCA/private/cakey.pem).

Снимите шифрование с секретного ключа для DFL:

test@svasiliev:~/cert$ openssl rsa -in dflkey.pem -out dfl.pem

Создайте таким же способом подписанный сертификат с секретным ключем для удаленного хоста.

test@svasiliev:~/cert$ openssl req -new -keyout remotekey.pem -out remotereq.pem

test@svasiliev:~/cert$ openssl ca -policy policy_anything -out remotecert.pem -infiles remotereq.pem

test@svasiliev:~/cert$ openssl rsa -in remotekey.pem -out remote.pem


Таким же образом необходимо создать отдельные сертификаты на каждый удаленный хост.

Импорт сертификатов на DFL

Сертификаты cacert.pem, dflcert.pem и секретный ключ dfl.pem должны быть импортированы в локальный DFL, в удаленное устройство должны быть импортированы сертификаты cacert.pem, remotecert и секретный ключ remote.pem.

Пример импорта сертификатов на локальный DFL

Зайдите в Objects → Authentication Objects, нажмите кнопку Add, из выпадающего меню выберите Certificate.




Заполните поля следующим образом:
- Поставьте галочку напротив Disable CRLs (Certificate Revocation Lists)
- Name: CA_cert
- Отметьте Upload a certificate belonging to a remote peer or a CA server
- Нажмите ОК.



Укажите путь до cacert.pem сертификата и нажмите Upload X.509 certificate.



Нажмите кнопку Add, из открывшегося меню выберите Certificate.

Заполните поля следующим образом:
- Поставьте галочку напротив Disable CRLs (Certificate Revocation Lists)
- Name: local_cert
- Отметьте Upload a previously created X.509 Certificate, along with its private key
- Нажмите ОК



Укажите путь до сертификата dflcert.pem и нажмите Upload X.509 certificate.



Укажите путь до секретного ключа dfl.pem и нажмите Upload private key.



Выберите Interfaces → IPSec → тоннель, для которого необходимо использовать сертификаты, выберите вкладку Authentication.

В окне X.509 Certificate выберите CA_cert и нажмите кнопку >>, в поле Gateway certificate: укажите local_cert.

Сохраните и активируйте настройки.

Установка сертификатов в удаленный DFL производиться аналогично, только в данном случае используются сертификаты cacert.pem и remotecert.pem и секретный ключ remote.pem.


Установка сертификатов в ОС Windows.

Преобразуйте сертификаты в формат, понятный Windows:

test@svasiliev:~/cert$ openssl pkcs12 -export -inkey remote.pem -certfile demoCA/cacert.pem -in remotecert.pem -out wincert.p12

- Введите парольную фразу, которая понадобится для установки сертификата в Windows.

- Скопируйте файлы cacert.pem и wincert.p12 на компьютер под управлением ОС Windows. Переименуйте файл cacert.pem на cacert.crt

- Нажмите дважды мышкой по файлу cacert.crt, нажмите Установить сертификат, затем Далее, выберите Поместить все сертификаты в следующие хранилище, нажмите кнопку Обзор и укажите Доверенные корневые центры сертификации, затем нажмите ОК и Далее, потом на кнопку Готово.

Нажмите дважды мышкой по файлу wincert.p12, запустится мастер импорта сертификатов. Дважды нажмите на кнопку Далее, в поле Пароль введите парольную фразу, используемую для конвертации сертификата в формат p12 и нажмите Далее, выберите Поместить все сертификаты в следующие хранилище, нажмите кнопку Обзор, выберите Личные, затем нажмите ОК, Далее, затем кнопку Готово.


ВНИМАНИЕ:
При использовании Windows 2003 необходимо импортировать сертификаты в профиль пользователя и компьютера.