Работа с СА в CentOS 7

Установка вспомогательных скриптов

Для упрощения создания сертификатов воспользуемся набором скриптов Easy-RSA

Подключаем epel репозиторий:

yum -y install epel-release
yum -y install easy-rsa

Создание центра сертификации

Копируем скрипты для работы с сертификатами и ключами:

cd /etc/openvpn
cp -r /usr/share/easy-rsa/2.0/ ./CA
cd CA

Задаем параметры по умолчанию для сертификатов, для этого в файле vars определим соответствующие переменные.

Определяем параметры по умолчанию в файле vars:

export KEY_COUNTRY="RU"
export KEY_PROVINCE="Kamchatka Krai"
export KEY_CITY="Svetlyy"
export KEY_ORG="Granit"
export KEY_EMAIL="Direhtor@RogaKopita.net""
export KEY_OU="Left kopito"

Задаем параметры для openssl:

ln -s openssl-1.0.0.cnf openssl.cnf

Загружаем переменные определенные из vars в окружение:

source ./vars

Создаем удостоверяющий центр CA:

./build-ca

Создание ключей для сервера и клиентов

Сервер

Генерируем и подписываем ключ сервера:

./build-key-server VPN_SRV_KEY

При этом отвечаем утвердительно на вопрос о подписи ключа и добавления его в базу.

Создаем ключ Диффи-Хеллмана:

./build-dh

Эта операция потребует некоторого времени.

Cоздаем ключ для tls-аутентификации:

openvpn --genkey --secret keys/ta.key

Клиенты

Генерируем и подписываем ключ(и) клиента(ов):

source ./vars
./build-key CLIENT_NAME

При этом отвечаем утвердительно на вопрос о подписи ключа и добавления его в базу.

Отзыв скомпрометированных ключей клиентов

Если закрытый ключ клиента были скомпрометирован, то есть стал известен третьей стороне, то необходимо его отозвать, чтобы злоумышленник не мог ими воспользоваться для проникновения в закрытую сеть.

Для отзыва ключа клиента нужно выполнить следующие действия:

source ./vars
./revoke-full CLIENT_NAME
cp keys/crl.pem /etc/openvpn/server

Место куда должен быть скопирован файл crl.pem определяется в файле конфигурации сервера, см. соответствующий раздел.

crl.pem - содержит список отозванных сертификатов, поэтому после каждого отзыва сертификата его нужно копировать заново.