Инструкция по созданию сертификатов для серверов, служб

advertisement
Инструкция по созданию сертификатов для серверов,
служб и оборудования.
1. Введение
Достаточно часто при настройке того или иного сервера или службы требуется
ключевая пара (открытый ключ – сертификат и закрытый ключ) для обеспечения
защищенного канала связи между сервером и клиентом, либо для осуществления
взаимной аутентификации клиента и сервера.
В данной инструкции описаны действия администратора системы, для которой
производится выпуск сертификата.
2. Установка сертификата для сервисов и серверов на платформе
Windows
Применительно к системам на платформе Windows ключевая пара может быть
установлена несколькими способами, в частности в виде файла формата PFX12 (файл
обмена личной информацией), либо с помощью утилиты certreq.exe.
2.1. Использование утилиты certreq.exe
При использовании утилиты certreq.exe создание сертификата происходит в
несколько этапов:
a) Генерация закрытого ключа и создание запроса;
используется команда certreq –new ReqInfFile ReqOutFile, здесь:
- флаг «-new» - означает, что будет сгенерирован закрытый ключ и создан файл
запроса;
- параметр ReqInfFile – имя файла, содержащего в себе параметры для запроса
(его содержимое различно для разных служб и будет рассмотрено ниже);
- ReqOutFile – имя файла, в который будет помещен созданный запрос.
b) Отправка запроса в центр сертификации;
c) Генерация сертификата центром сертификации;
d) Установка готового сертификата.
производится командой certreq –accept CertFileName, здесь:
- флаг «-accept» - означает, что будет произведена установка сертификата в
локальное хранилище;
- параметра «CertFileName» - имя файла сертификата.
Windows сервер
Типовой запрос для windows сервера:
[Version]
Signature= "$Windows NT$"
[NewRequest]
Subject=
"CN=stalras01.severstal.severstalgroup.com;OU=Severstal
company;O=JSC Severstal;L=Cherepovets;S=Vologda region;C=RU"
KeySpec = 1
KeyLength = 2048
Exportable = FALSE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName
=
"Microsoft
RSA
Schannel
Cryptographic
Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xf8
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1
OID=1.3.6.1.5.5.7.3.2
[Extensions]
2.5.29.17 = "{text}"
_continue_ = "DNS=stalras01.severstal.severstalgroup.com&"
_continue_ = "DNS=stalras02.severstal.severstalgroup.com&"
_continue_ = "DNS=stalras03.severstal.severstalgroup.com"
В поле Subject необходимо внести данные своей организации. CN – имя пула LCS.
Установленный сертификат потом устанавливается дефолтовым для сервера и в качестве
сертификата для MTLS.
Сервер WebDav, Web SSL
Для создания сертификата, который будет использовать в качестве серверного для
сервиса WebDav, требуется правильно заполнить файл с параметрами. Ниже приведен
шаблон такого файла:
[Version]
Signature= "$Windows NT$"
[NewRequest]
Subject=
"CN=mydc.testdc.ru;OU=Department;O=Organization;L=City;S=Sta
te;C=RU"
KeySpec = 1
KeyLength = 1024
Exportable = FALSE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName
=
"Microsoft
RSA
Schannel
Cryptographic
Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xf8
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1
В поле Subject необходимо внести данные своей организации. CN – имя машинысервера, на которой запущен WebDav. Установленный сертификат прописывается в IIS
согласно документации.
3. Запрос сертификата для Cisco PIX Firewall
Сертификат для CISCO PIX можно получить либо в виде файла, либо по протоколу
SCEP, когда PIX запрашивает и получает сертификат в автоматическом режиме. Для
реализации этой возможности необходимо произвести соответствующие настройки. Так
как эти настройки отличаются в разных версиях PIX OS, то в каждом случае следует
обращаться к актуальной документации. Ниже приведены команды, позволяющие
сконфигурировать Cisco PIX c версией OS 6.3.
a) Установка имени хоста для PIX Firewall
hostname новое_имя
b) Установка доменного име PIX Firewall
domain-name новое_имя
c) Генерация ключевой пары
ca generate rsa key размер_ключа
d) Просмотр ключевой пары
show ca mypubkey rsa
e) Регистрация данных УЦ
ca identity имя_УЦ IP-адрес_УЦ
f) Конфигурация параметров соединения PIX Firewall и УЦ
ca
configure
имя_УЦ
ca
|
ra
время_ожидания_ответа(мин)
количество_повторов [crloptional]
здесь:
время_ожидания_ответа(мин) – время (в минутах), через которое будет
повторен запрос, при неудачной попытке;
количество_повторов – общее количество повторов;
crloptional – если указан этот ключ, то PIX Firewall будет принимать
предъявляемые сертификаты, даже если их невозможно будет проверить на
отзыв.
g) Авторизация УЦ для получения его сертификата и открытого ключа
ca authenticate имя_УЦ [отпечаток_сертификата_УЦ]
h) Запрос на подпись сертификатов для всех сгенерированных ключевых пар
ca enroll имя_УЦ пароль_на_отзыв [serial] [ipaddress]
Ключевые слова serial ipaddress указываются в том случае, когда необходимо
включить в сертификат серийный номер и IP-адрес PIX Firewall.
i) Проверка того, что сертификат был запрошен корректно
show ca certificate
4. Установка сертификата для сервисов и серверов на платформе *NIX
Для систем на платформе *NIX секретный ключ и запрос на сертификат обычно
формируется с помощью утилиты openssl. Для этого необходимо выполнить следующие
шаги:
a) Создание каталога хранения секретного ключа и установка на него
необходимых прав доступа:
# mkdir <путь>certs
# chmod 600 certs/
b) Запуск openssl:
/usr/local/ssl/bin/openssl
c) Генерация закрытого ключа
genrsa -des3 1024 -out <путь>/certs/host.key
d) Генерация файла запроса:
req -new -key <путь>/certs/host.key –out <путь>/certs/host.req
Здесь необходимо будет указать ряд параметров будущего сертификата.
e) Отправка запроса в центр сертификации;
f) Генерация сертификата центром сертификации;
g) Установка готового сертификата производится путем копирования
полученного файла в нужный каталог.
Шаблон файла запроса
[ req ]
default_bits
= 2048
default_keyfile
= privkey.pem
distinguished_name
= req_distinguished_name
req_extensions
= v3_req
[ req_distinguished_name ]
countryName
= RU
countryName_default
= UK
stateOrProvinceName
= Vologda rgn.
stateOrProvinceName_default = Wales
localityName
= Cherepovets
localityName_default
= Cardiff
organizationName
= Infocom
organizationName_default = Example UK
commonName
= <ОСНОВНОЙ FQDN>
commonName_default
= one.test.app.example.net
commonName_max
= 64
[ v3_req ]
basicConstraints
keyUsage
subjectAltName
= CA:FALSE
= nonRepudiation, digitalSignature, keyEncipherment
= @alt_names
[alt_names]
DNS.1 = <ОСНОВНОЙ FQDN>
DNS.2 = exampleapp.com
DNS.3 = exampleapp.com
и далее по вашему списку…
Файл запроса (*.req) можно удалить.
Для применения полученной ключевой пары необходимо настроить используемое
программное обеспечения согласно прилагаемой документации (например, WEB-сервер
Apache для обслуживания запросов по защищенному протоколу HTTPS).
5. Конвертирование файлов с помощью openssl:
Конвертирование файлов PFX в PEM
openssl pkcs12 -in <путь>\my_certificate.pfx -out <путь>\my_certificate_with_key.pem -nodes
Извлечение из файла PEM закрытого ключа (без служебной информации):
Openssl rsa –in <путь>\my_certificate_with_key.pem –out <путь>\my_private_key.pem
Извлечение из файла PEM открытого ключа (сертификата, без служебной информации):
Openssl x509 –in <путь>\my_certificate_with_key.pem –out <путь>\my_certificate.pem
Извлечение из PFX закрытого ключа (со служебной информацией):
openssl pkcs12 -in <путь>\my_certificate.pfx -out <путь>\my_private_key.pem –nodes –
nocerts
Извлечение из PFX клиентского открытого ключа (сертификата со служебной
информацией):
openssl pkcs12 -in <путь>\my_certificate.pfx -out <путь>\my_certificate.pem –nodes –clcert –
nokeys
Извлечение из PFX цепочки сертификации (со служебной информацией):
openssl pkcs12 -in <путь>\my_certificate.pfx -out <путь>\CA_certificate.pem –nodes –cаcert –
nokeys
Download