Установка OpenVPN, часть 3


Создавать сертификаты мы можем. Теперь надо сделать отзыв сертификатов.

Генерация файла отозванных ключей:

cd ~/easy-rsa-master/easyrsa3
./easyrsa gen-crl

Сделать символическую ссылку в каталог с ключами (конечно, файл можно и скопировать, но придется делать каждый раз при отзыве сертификата):

ln -s ~/easy-rsa-master/easyrsa3/pki/crl.pem /etc/openvpn/keys

В /etc/openvpn/server.conf добавить строку

crl-verify /etc/openvpn/keys/crl.pem

Далее приведу скрипт отзыва сертификата:

#!/bin/bash

if [ -n «$1» ]
then
echo «Start revoke certificate $1»
else
echo «No parameters found. » && exit 25
fi

cd /etc/openvpn/keys/easy-rsa-master/easyrsa3

conf_rev $1

cd /etc/openvpn/keys/easy-rsa-master/easyrsa3

mv /etc/openvpn/client/$1.ovpn /etc/openvpn/revoke/$1.ovpn

sert_up

Скачать можно тут.

Этот скрипт вызывает ещё два:

#!/usr/bin/expect -f

cd /etc/openvpn/keys/easy-rsa-master/easyrsa3
set client [lindex $argv 0]
spawn ./easyrsa revoke $client
expect "yes"
send "yes\n"
expect "ca.key"
send "password\n" # тут мы вставляем пароль, так как корневой сертификат у нас сгенерирован с паролем.
expect "$"

скачать можно тут;

#!/usr/bin/expect -f

cd /etc/openvpn/keys/easy-rsa-master/easyrsa3
spawn ./easyrsa gen-crl
expect "ca.key"
send "1234\n" # тут мы вставляем пароль, так как корневой сертификат у нас сгенерирован с паролем.
expect "$"

скачать можно тут.

Если корневой сертификат без пароля, то скрипт отзыва проще

#!/bin/bash

if [ -n «$1» ]
then
echo «Start revoke certificate $1»
else
echo «No parameters found. » && exit 25
fi

cd /etc/openvpn/keys/easy-rsa-master/easyrsa3

echo -en «yes\n» | ./easyrsa revoke $1

mv /etc/openvpn/client/$1.ovpn /etc/openvpn/revoke/$1.ovpn

cd /etc/openvpn/keys/easy-rsa-master/easyrsa3

./easyrsa gen-crl

Скачать можно тут.