Hsdn - network operations center

Генерація ключів 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: