Генерація ключів OpenVPN
1. Введення
Для генерації сертифікатів і обслуговування ключів (сервера і клієнтів) використовується пакет easy-rsa.
Опис файлів (директорія keys):
- Файли * .csr - Запити на підпис сертифікатів (СЦ)
- Файли n .pem - Дублікати сертифікатів для бази даних (СЦ)
- index.txt - База даних виданих сертифікатів (СЦ)
- serial - Серійний (порядковий) номер останнього виданого сертифіката (СЦ)
- crl.pem - Список відкликаних сертифікатів (СЦ)
- ca.crt - Кореневий сертифікат (СЦ / сервер / клієнт)
- ca.key - Кореневий ключ (СЦ)
- dh n .pem - Ключ Діффі Хельмана (сервер)
- server-name .crt - Сертифікат X.509 сервера (сервер)
- server-name .key - Секретний ключ сервера (сервер)
- client-name .crt - Сертифікат X.509 клієнта (клієнт)
- client-name .key - Секретний ключ клієнта (клієнт)
- ta.key - TLS-ключ (сервер / клієнт)
2. Генерація ключів сервера
Примітка: операції, описані в даному розділі виконуються тільки один раз, в процесі інсталяції сервера.
Перейти в директорію easy-rsa OpenVPN сервера. Переконатися, що файли ca.crt і ca.key присутні в директорії сертифікаційного центру (СЦ) сервера.
Перейти в командну оболонку sh:
Встановити змінні оточення:
Створити сертифікат сервера server-name:
Примітка: найменування сервера має співпадати з ім'ям хоста сервера (див. Uname -a).
Створити файл параметрів Діффі-Хелмана:
openvpn --genkey --secret ta.key
Створити файл відкликання сертифікатів (CRL):
export KEY_CN = ""
export KEY_OU = ""
openssl ca -config openssl.cnf -gencrl -out keys / crl.pem
3. Генерація та видача ключів клієнту
Перейти в директорію easy-rsa OpenVPN сервера. Переконатися, що файли ca.crt і ca.key присутні в директорії сертифікаційного центру (СЦ) сервера.
Перейти в командну оболонку sh:
Встановити змінні оточення:
Створити сертифікат клієнта client-name:
client
dev tun0
proto tcp
remote SERVER_IP PORT_NUMBER
resolv-retry infinite
nobind
script-security 3 system
ca /usr/local/etc/openvpn/keys/ca.crt
cert / usr / local / etc / openvpn / keys / client-name .crt
key / usr / local / etc / openvpn / keys / client-name .key
tls-auth /usr/local/etc/openvpn/keys/ta.key 1
comp-lzo
verb 3
Видати клієнту client-name наступні файли:
ca.crt
client-name .crt
client-name .key
ta.key
openvpn.conf
4. Команди адміністрування
Відкликати сертифікат клієнта client-name: