Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
137.06 Кб
Скачать

2.4 Создание удостоверяющего центра ca.

Задача удостоверяющего центра CA — выдача подписанных сертификатов для сервера и клиентов OpenVPN.

Чтобы получить сертификат, сервер или клиент на своем хосте генерирует файл запроса на сертификат. Этот файл запроса передается на хост CA, который создает сертификат и подписывает его. Далее подписанный сертификат передается на запросивший хост.

Одновременно с запросом сертификата создается приватный ключ. Приватные ключи создаются для всех узлов сети OpenVPN: для удостоверяющего центра CA, для сервера и всех клиентов OpenVPN.

Для безопасности файлы ключей никогда не должны покидать узлы, где они были созданы. Обмениваться можно только запросами на сертификаты и сертификатами, приватными ключами обмениваться нельзя и незачем.

Сервер OpenVPN создает свой приватный ключ и файл запроса на получение сертификата. Файл запроса передается в удостоверяющий центр, например, на USB флеш-диске.

Удостоверяющий центр на основе запроса создает подписанный сертификат, который затем требуется перенести на сервер OpenVPN, также на USB флэш-диске.

Если к безопасности не предъявляется особых требований или вы только изучаете OpenVPN, можно подключить машину удостоверяющего центра к сети и передавать запросы и сертификаты, например, с помощью утилит SFTP или SCP. Можно даже совместить функции CA и, например, сервера OpenVPN в одном хосте.

Аналогичным образом необходимо получить сертификаты для всех клиентских узлов.

Установка утилиты Easy-RSA

Все операции по созданию ключей и сертификатов можно выполнить с помощью утилиты openssl. Однако проще воспользоваться специально созданной для этого программой Easy-RSA, которая использует openssl для выполнения действий с ключами и сертификатами.

Ранее утилита Easy-RSA поставлялась вместе с OpenVPN, но теперь это отдельный проект.

Создание инфраструктуры публичных ключей PKI

На первом шаге создаем инфраструктуру публичных ключей (Public Key Infrastructure, PKI):

$ cd /home/ca/easy-rsa-master/easyrsa3

$ ./easyrsa init-pki

Увидим сообщение:

init-pki complete; you may now create a CA or requests.

Your newly created PKI dir is: /home/ca/easy-rsa-master/easyrsa3/pki

В результате выполнения команды init-pki был создан каталог /home/ca/easy-rsa-master/easyrsa3/pki, где и находится инфраструктура публичных ключей PKI.

На втором шаге с помощью команды build-ca создаем удостоверяющий центр CA:

$ ./easyrsa build-ca

В ответ на эту команду вводим пароль и так называемое имя Common Name:

Generating a 2048 bit RSA private key

.....+++

................................................................+++

writing new private key to '/home/ca/easy-rsa-master/easyrsa3/pki/private/ca.key'

Enter PEM pass phrase:********

Verifying - Enter PEM pass phrase:********

----You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Common Name (eg: your user, host, or server name) [Easy-RSA CA]:ca.mydomain.ru>

CA creation complete and you may now import and sign cert requests.

Your new CA certificate file for publishing is at:

/home/ca/easy-rsa-master/easyrsa3/pki/ca.crt

Пароль будет защищать приватный ключ удостоверяющего центра, созданный в формате PEM (Privacy Enhancement for Internet Electronic Mail). Этот пароль потребуется каждый раз для подписания в удостоверяющем центре сертификатов для серверов и клиентов OpenVPN.

Чтобы избавиться от необходимости ввода пароля, можно при запуске команды build-ca задать опцию nopass:

$ ./easyrsa build-ca nopass

В качестве Common Name задается, например, доменное имя, выделенное для удостоверяющего центра CA, имя пользователя или хоста сервера CA.

Для удостоверяющего центра команда build-ca создаст два файла:

/home/ca/easy-rsa-master/easyrsa3/pki/private/ca.key

/home/ca/easy-rsa-master/easyrsa3/pki/ca.crt

Файл ca.key представляет собой приватный ключ центра CA, он секретный, и его нельзя переносить на другие узлы сети.

Файл сертификата удостоверяющего центра ca.crt, напротив, открытый, и он будет нужен на узлах серверов и клиентов OpenVPN. Записываем файл ca.crt на USB флэш-диск, чтобы перенести на другие узлы.

Созданные файлы и каталоги PKI

В табл. 2 приведено краткое описание некоторых файлов и каталогов PKI.

Файл или каталог

Описание

ca.crt

Сертификат удостоверяющего центра CA, не секретный

crl.pem

Список отзыва сертификатов CRL

issued

Каталог с сертификатами, созданными удостоверяющим центром CA, не секретный

private

Каталог с секретными приватными ключами

Reqs

Каталог запросов на сертификаты, не секретный

Таблица 2. Структура каталога PKI.