Генерація openvpn pki Структури використовуючи easy-rsa

Трохи розповім про PKI структурі (рисунок 3.1).

Генерація openvpn pki Структури використовуючи easy-rsa

Малюнок 3.1 - Структура PKI

На чолі всього дерева сертифікатів і ключів повинен бути кореневої центр сертифікації (CA). Наприклад, можна подивитися в браузері інформацію про ланцюжок SSL сертифікатів googl-a.

Генерація openvpn pki Структури використовуючи easy-rsa

Малюнок 3.2 - Ланцюжок сертифікатів google

Тут на чолі дерева варто GeoTrust Global центр сертифікації (кореневої). Далі йде промежуточнийGoogle Internet Authority G2 сертифікат і завершує ланцюжок клієнтський (доменний) сертифікат. OpenVPN PKI структура буде схожою. На чолі повинен бути кореневої центр сертифікації (Root CA) з файлом відгуків цифрових сертифікатів (CRL). На CA сервері будуть генеруватися клієнтські і серверні ключі. Приступаємо до практики.

3.1 Підготовка кореневого центру сертифікації

Для початку потрібно скачати Easy-RSA утиліту, яку ми будемо використовувати для генерації всієї інфраструктури ключів.

Тепер переходимо в розпаковану директорію і редагуємо головний файл конфігурації, в якому буде інформація про організації.

Все структура ключів буде знаходитися по шляху «$ PWD / corp«, куди потрібно скопіювати папку з усіма x509 типами сертифікатів і openssl конфігураційний файл.

Далі потрібно форматувати PKI виходячи з введених даних для наступної генерації сертифікатів.

3.2 Створення рутовий CA сертифікату

Перевіряємо інформацію за сертифікатом

Тепер можна підписувати клієнтські сертифікати, але перед цим потрібно створити CRL для відгуків сертифікатів.

Перевіряємо список відкликаних сертифікатів.

Як бачимо, ми ще не відкликали ніяких сертифікатів.

3.3 Створення серверного OpenVPN сертифіката

Створюємо серверний ключ підписаний CA ключем.

Дивимося інформацію про ключі.

Тепер у нас є ключ і сертифікат для OpenVPN сервера: vpn-server.crt і vpn-server.key.

3.4 Створення клієнтських OpenVPN сертифікатів

У кожного клієнтського сертифіката є Common Name (CN), яке використовуються OpenVPN для застосування додаткових клієнтських налаштувань (CCD). Створюємо перший клієнтський ключ.

Тепер створимо ще два клієнтських ключа.

Ми створили ключі та сертифікати для CA, OpenVPN сервера і клієнтів.

3.5 Список відкликаних сертифікатів

Якщо хтось втратив свій секретний ключ або сертифікат, або ж він був скомпрометований - его потрібно відкликати. Це можна легко зробити використовуючи easy-RSA.

Після цих дій у нас оновитися CRL файл, який потрібно прописати в OpenVPN конфігурації сервера (директива crl-verify).

Тепер дивимося які у нас є відкликані сертифікати.

Як бачимо, ми відкликали сертифікат з Serial Number: 02. тобто alex-it. Serial Number було видно, коли ми дивилися інформацію по ключам використовуючи openSSL. От і все.