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

Подключаемся к хосту клиента OpenVPN (в нашем случае это хост разработчика ПО) с правами обычного пользователя developer1 и скачиваем утилиту Easy-RSA с сайта github.com/OpenVPN/easy-rsa.

$ cd /home/developer1

$ wget https://github.com/OpenVPN/easy-rsa/archive/master.zip

$ unzip master.zip

Запускаем инициализацию инфраструктуры публичных ключей PKI:

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

$./easyrsainit-pki

В результате будет подготовлен каталог PKI:

/home/developer1/easy-rsa-master/easyrsa3/pki

Подготовка сертификата и ключа для клиента OpenVPN

Создаем запрос на сертификат и приватный ключ рабочей станции разработчика developer1:

$./easyrsagen-reqclientnopass

Потребуется ввести имя CommonName для создания запроса на сертификат и приватного ключа рабочей станции:

Generating a 2048 bit RSA private key

..............................................................................................+sftp++

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

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

-----

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) [client]:developer1

Keypair and certificate request completed. Your files are:

req: /home/developer1/easy-rsa-master/easyrsa3/pki/reqs/client.req

key: /home/developer1/easy-rsa-master/easyrsa3/pki/private/client.key

Если к защите данных предъявляются повышенные требования, создаем приватный ключ с паролем, без использования опции nopass:

$./easyrsagen-reqclient

В этом случае, однако, пароль приватного ключа будет запрашиваться каждый раз при загрузке хоста и запуске клиента OpenVPN.

Теперь нужно перенести созданный запрос сертификата /home/developer1/easy-rsa-master/easyrsa3/pki/reqs/client.req на хост удостоверяющего центра CA и записать в файл /home/ca/client.req.

Сделаем это с помощью USB флэш-диска, если хост CA не подключен к сети.

Импортируем запрос в PKI, используя в качестве короткого имени developer1:

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

$./easyrsa import-req /mnt/flash/client.req developer1

Далее подписываем запрос на получение сертификата:

$./easyrsasign-reqclient developer1

После ввода подтверждения и пароля приватного ключа CA будет создан сертификат:

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

Записываем файл developer1.crt на USB флэш-диск, чтобы перенести его на хост клиента OpenVPN.

Скопируем файл сертификата в каталог /etc/openvpn:

# mount -t vfat /dev/sdb1 /mnt/flash

# cp /mnt/flash/developer1.crt /etc/openvpn

Итак, теперь у нас есть файл приватного ключа рабочей станции client.key и файл сертификата developer1.crt, подписанного удостоверяющим центром CA.

Скопируем файл ключа в каталог /etc/openvpn:

# cp /home/developer1/easy-rsa-master/easyrsa3/pki/private/client.key

/etc/openvpn

Скопируем в каталог /etc/openvpn клиента VPN следующие файлы, подготовленные на USB диске:

# cp /mnt/flash/ca.crt /etc/openvpn

# cp /mnt/flash/crl.pem /etc/openvpn

# cp /mnt/flash/ta.key /etc/openvpn

Файлы ca.crt и crl.pem были созданы на хосте удостоверяющего центра CA, а файл ta.key — на хосте сервера OpenVPN.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: