OpenVPN: создание клиентского сертификата в Easy-RSA для нового сотрудника
Задача: предоставить безопасный VPN-доступ новому сотруднику
Для подключения к корпоративному серверу OpenVPN каждому сотруднику требуется индивидуальный комплект ключей и сертификатов. Использование одного общего сертификата на всех категорически запрещено политиками безопасности (при увольнении одного человека придется перенастраивать всю компанию).
Пошаговый процесс генерации сертификата в Easy-RSA 3
Шаг 1. Переходим в рабочую папку Easy-RSA на сервере
Подключитесь к вашему Linux-серверу с OpenVPN по SSH и перейдите в рабочую директорию центра сертификации (CA):
cd /etc/openvpn/easy-rsa/
# Либо:
cd ~/openvpn-ca/easy-rsa/Шаг 2. Генерация нового клиентского сертификата
Выполните команду создания сертификата для нового пользователя (замените ivan_ivanov на логин сотрудника):
# Генерация сертификата БЕЗ парольной фразы (удобно для автоподключения):
./easyrsa build-client-full ivan_ivanov nopass
# Если требуется защитить файл личным паролем сотрудника, не пишите 'nopass':
./easyrsa build-client-full ivan_ivanovУтилита попросит ввести пароль от главного корневого ключа Центра Сертификации (CA Key Passphrase). Введите его и нажмите Enter.
Шаг 3. Где найти готовые сгенерированные файлы?
После успешной генерации система создаст два ключевых файла:
- Публичный сертификат:
/etc/openvpn/easy-rsa/pki/issued/ivan_ivanov.crt - Приватный секретный ключ:
/etc/openvpn/easy-rsa/pki/private/ivan_ivanov.key - Корневой сертификат сервера:
/etc/openvpn/easy-rsa/pki/ca.crt
Шаг 4. Сборка единого файла конфигурации .ovpn
Соберите конфигурационный файл ivan_ivanov.ovpn, вставив содержимое ключей внутрь специальных тегов:
client
dev tun
proto udp
remote IP_ВАШЕГО_СЕРВЕРА 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
<ca>
# Сюда вставляем текст из ca.crt
</ca>
<cert>
# Сюда вставляем текст из ivan_ivanov.crt (начиная с -----BEGIN CERTIFICATE-----)
</cert>
<key>
# Сюда вставляем текст из ivan_ivanov.key (начиная с -----BEGIN PRIVATE KEY-----)
</key>Передайте готовый файл ivan_ivanov.ovpn сотруднику для импорта в OpenVPN Connect.
Частые вопросы (FAQ)
Как отозвать доступ (заблокировать) уволенного сотрудника?
Выполните команду: ./easyrsa revoke ivan_ivanov, а затем обновите список отзыва сертификатов: ./easyrsa gen-crl и скопируйте файл crl.pem в рабочую папку OpenVPN.
Что означает флаг nopass при создании ключа?
Флаг nopass создает закрытый ключ без парольной фразы. Это позволяет VPN-клиенту подключаться автоматически при включении компьютера без всплывающего окна ввода пароля на стороне пользователя.
Какой срок действия у сгенерированного клиентского сертификата?
По умолчанию в Easy-RSA 3 срок действия сертификата составляет 825 дней (около 2.2 лет). Этот параметр можно изменить в конфигурационном файле vars переменной EASYRSA_CERT_EXPIRE.
Можно ли передавать файл ivan_ivanov.ovpn по открытой электронной почте?
Не рекомендуется, так как файл содержит закрытый приватный ключ. Безопаснее передавать конфигурацию через корпоративный защищенный мессенджер или запаковать в архив с паролем.