@LittleJoO

Как сменить ключи OpenVPN?

Убунту сервер стоит в качестве прокси на нем же раскинута OpenVPN. Задача сменить ключи.
  • Вопрос задан
  • 1039 просмотров
Пригласить эксперта
Ответы на вопрос 2
поднять ещё одни экземпляр OpenVPN на другом порту
под него нагенерить новый ключей
перевести всех клиентов на новый сервер
прибить старый
Ответ написан
@younghacker
В инсталяционном пакете идут скрипты.
build-ca
build-dh
build-inter
build-key
build-key-pass
build-key-pkcs12
build-key-server
build-req
build-req-pass
clean-all
inherit-inter
list-crl
Makefile
openssl-0.9.6.cnf
openssl.cnf
pkitool
README
revoke-full
sign-req
vars
whichopensslcnf

Для всех действий права рута не нужны.
Скопируйте скрипты в какой-то рабочий каталог.
отредактируйте файл vars
установите дату истечения сертификатов имя организации емейл
export KEY_SIZE=2048
export CA_EXPIRE=3650
export KEY_EXPIRE=3650
export KEY_COUNTRY="DE"
export KEY_PROVINCE="none"
export KEY_CITY="Berlin"
export KEY_ORG="vpn01 v.p.n.."
export KEY_EMAIL="vpn01@gate1.common.vpn"

выйдите в чистый shell
запустите
. vars
после этого не выходя из шела запускайте по очереди.
./build-ca ${NAME}
./build-dh
./build-key-server ${NAME}-server
"${OPENVPN}" --genkey --secret "./keys/${NAME}-ta.key"

И потом для каждого клиента
./build-key ${NAME}-client${i}
Где OPENVPN=`which openvpn`
NAME="vpn01.gw01.common.vpn" - общая часть имени ключей
i - номер клиента

Далее вы получите файлы.
ca.crt - клиентам и серверу (публичный)
ca.key - только на машине которая подписывает (не храните на сервере!!!)
ta.key - для клиентов и для сервера (секретный)
dh2048.pem - (для сервера)
vpn01.gw01.common.vpn.server.crt - для сервера (публичный)
vpn01.gw01.common.vpn.server.key - для сервера (секретный)
vpn01.gw01.common.vpn.client1.crt - для клиента (публичный)
vpn01.gw01.common.vpn.client1.key - для клиента (секретный)

Весь каталог со скриптами включая созданную папку (keys) сохраните в секретное место и удалите с сервера.
Если понадобится догенерировать или отозвать сертификаты.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы