Создание само-подписанного сертификата для Open VPN сервера Mikrotik

Рейтинг
Оценка: 4.71Голосов: 7Комментарии: 7

Не секрет, что Open VPN это один из самых распространенных протоколов VPN (Virtual Provate Network) на сегодняшний день. И многие системные администраторы пользуются именно им для создания туннелей (L2 и L3) и объединения сетей.

Однако, для работы данного протокола требуются сертификат сервера и сертификаты клиентов, выпущенные одним сертификационным центром (Certification Authority или CA). Их, конечно же, можно получить, даже бесплатно в авторизованном сертификационном центре, например, – cacert.org. Но есть некоторые нюансы, нужно иметь собственное доменное имя или IP-адрес, на который он и будет выдан.

Но есть более простой способ получить сертификат – это воспользоваться входящим в пакет Open VPN набором скриптов easy-rsa на сервере. И создав свой собственный центр сертификации (CA), сгенерировать необходимые сертификаты.

Сегодня мы рассмотрим, как можно создать свой собственный сертификат, средствами Easy-RSA. Для этого, нам понадобиться компьютер с установленным Linux. В нашем случае – это будет дистрибутив Ubuntu. Поэтому сразу хочу обратить внимание на то, что все команды будут приведены с учётом данной операционной системы.

Если у вас ещё не установлен пакет Open VPN, то установить его можно при помощи команды: sudo apt-get install openvpn, которую нужно выполнить в командной строке.

По окончанию процесса установки в папке /usr/share/doc/openvpn/examples/easy-rsa/2.0/ будут все необходимые нам для создания сертификатов файлы.

Первым делом что нужно сделать, это открыть файл vars любым текстовым редактором и отредактировать его. Наиболее важны следующие строки:

можно изменить размер ключа шифрования в этой строке, например, до 2048

export KEY_SIZE=1024

установить код страны

export KEY_COUNTRY=”UA”

задать область/штат

export KEY_PROVINCE=”UA”

город

export KEY_CITY=”Kyiv”

название компании

export KEY_ORG=”YourCompany”

е-майл

export KEY_EMAIL=”mail@example.com”

Common Name сертификата

export KEY_CN=”Cert1″

имя ключа

export KEY_NAME=”KeyName”

подразделение или отдел организации

export KEY_OU=”IT Dep”

Рис.1. Открываем файл vars и редактируем его

Рис.1. Открываем файл vars любым текстовым редактором и отредактируем его

 

И после редактирования и сохранения этого файла мы должны инициализировать переменные командой source vars и очистить все существующие ключи, если вдруг они там есть, командой ./clean-all.

Рис.2. Инициализируем переменные и очищаем все ключи

Рис.2. Инициализируем переменные и очищаем все ключи

 

Создадим центр сертификации CA (Certificate Authority) командой ./pkitool –initca.

Рис.3. Создадим центр сертификации CA (Certificate Authority)

Рис.3. Создадим центр сертификации CA (Certificate Authority)

 

И переходим к созданию сертификата Open VPN сервера. Делается это командой ./pkitool –pass –server certificate_name, где “certificate_name” нужно заменить на своё значение.

Рис.4. Создаём сертификат OpenVPN сервера

Рис.4. Создаём сертификат Open VPN сервера

 

Но так как полученный нами ключ будет в формате pkcs8, который не подходит для Mikrotik, то нам необходимо выполнить дополнительную операцию по его конвертации. Делается это командой openssl rsa -in keys/certificate_name.key -out keys/certificate_name.pem.

Здесь также “certificate_name” нужно заменить на свое значение.

Рис.5. Выполняем дополнительную операцию по его конвертации

Рис.5. Выполняем дополнительную операцию по его конвертации

 

И можно приступать к созданию сертификата клиента. Для этого выполняем команду ./pkitool –pass client_certificate_name, не забыв изменить ”client_certificate_name” на свое.

Рис.6. Создаём сертификат клиента

Рис.6. Создаём сертификат клиента

 

И опять же таки, не забываем про конвертацию файла ключей, если сертификат клиента будет использоваться на маршрутизаторе Mikrotik. Для этого используется такая же команда, как и выше, openssl rsa -in keys/client_certificate_name.key -out keys/client_certificate_name.pem.

Подставляем вместо ”client_certificate_name” свое значение.

Рис.7. Подставляем свое значение

Рис.7. Подставляем вместо ”client_certificate_name” свое значение

 

Теперь в папке /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ у нас есть несколько файлов. Данную папку желательно сохранить в отдельном надежном месте. В любом случае, их нужно перенести сперва на наш основной компьютер, а потом импортировать в маршрутизатор.

Берём файлы сертификата CA, сертификат и ключ сервера, и простым перетаскиванием в окно Winbox – Files, копируем их в память Mikrotik.

Рис.8. Копируем файлы в память Mikrotik

Рис.8. Файлы сертификата CA, сертификат и ключ сервера копируем их в память Mikrotik

 

Далее в окне System Certificates нам нужно их импортировать при помощи кнопки Import.

Рис.9. Импортируем при помощи кнопки Import

Рис.9. Импортируем при помощи кнопки Import

 

Сперва ca.crt, а потом .crt и .pem файлы сертификата сервера.

Рис.10. Файлы сертификата сервера

Рис.10. Файлы сертификата сервера

 

Имея установленные сертификаты, можно начать настраивать Open VPN сервер.

Если Вы нашли ошибку в тексте, то выделите ее мышкой и нажмите Ctrl + Enter или нажмите здесь.

Сообщение об ошибке

Ошибка:

Ваш комментарий (не обязательно):

Да Отмена

Об авторе Newmann