====== OpenVPN — easy-rsa ====== FIXME Стандартный вариант настройки [[openvpn:openvpn|OpenVPN]] это использование ''easy-rsa'' :!: Администратору системы должны быть доступны все файлы, в том числе и Клиентские - это нужно для [[#Отзыв клиентского сертификата|отзыва клиентского сертификата]] ===== Начальная настройка сервера ===== mkdir /etc/openvpn/easy-rsa/ cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/ export KEY_COUNTRY="RU" export KEY_PROVINCE="Province" export KEY_CITY="City" export KEY_ORG="Firma" export KEY_EMAIL="info@domain.ru" chmod +x vars [ ca ] default_ca = CA_default [ CA_default ] dir = /etc/openvpn/easy-rsa/keys crl_dir = $dir/crl database = $dir/index.txt new_certs_dir = $dir/certs certificate = $dir/ca.crt serial = $dir/serial crl = $dir/crl.pem private_key = $dir/ca.key RANDFILE = $dir/.rand default_days = 3650 default_crl_days = 30 default_md = md5 unique_subject = yes policy = policy_any x509_extensions = user_extensions [ policy_any ] organizationName = match organizationalUnitName = optional commonName = supplied [ req ] default_bits = 2048 default_keyfile = privkey.pem distinguished_name = req_distinguished_name x509_extensions = CA_extensions [ req_distinguished_name ] organizationName = Organization Name (must match CA) organizationName_default = Company organizationalUnitName = Location Name commonName = Common User or Org Name commonName_max = 64 [ user_extensions ] basicConstraints = CA:FALSE [ CA_extensions ] basicConstraints = CA:TRUE default_days = 3650 [ server ] basicConstraints = CA:FALSE nsCertType = server ===== Создание сертификата сервера ===== cd /etc/openvpn/easy-rsa source ./vars ./clean-all ./build-ca ===== Создание ключа сервера ===== cd /etc/openvpn/easy-rsa source ./vars ./build-key-server server ===== Создание ключа Диффи — Хеллмана ===== cd /etc/openvpn/easy-rsa source ./vars ./build-dh ===== Создание ключа для tls-аутификации ===== openvpn --genkey --secret keys/ta.key ===== Создание пустого списка отозванных сертификатов ===== #!/bin/sh cd /etc/openvpn/easy-rsa source ./vars openssl ca -config openvpn.cnf -gencrl -out keys/crl.pem ===== Копирование серверных ключей в папку сервера ===== mkdir /etc/openvpn/keys cd /etc/openvpn/easy-rsa/keys cp server.crt server.key ca.crt dh1024.pem dh2048.pem crl.pem ta.key /etc/openvpn/keys ===== Создании ключа клиента ===== FIXME #!/bin/bash cd /etc/openvpn/easy-rsa source ./vars ./build-key ИМЯ_КЛИЕНТА ===== Просмотр списка отозванных клиентских сертификатов ===== #!/bin/sh cd /etc/openvpn/easy-rsa source ./vars ./list-crl ===== Отзыв клиентского сертификата ===== Отзыв (аннулирование) клиентского сертификата, создание CRL файла Для отзыва выполняем: cd /usr/share/doc/openvpn/examples/easy-rsa/2.0 . ./vars ./revoke-full ИМЯ_КЛИЕНТА Копируем ''crl.pem'' на сервер и добавляем в файл ''openvpn.conf'' сроку ''crl-verify crl.pem'' :!: Если файл ''crl.pem'' отсутствует, а директива ''crl-verify crl.pem'' в ''openvpn.conf'' присутствует, то сервер не пустит ни одного клиента ! ====== Ссылки ====== {{tag>Network Encryption VPN}}