Создание TLS сертификатов для OpenVPN в iRZOS
Роутеры на базе irzOS обладают встроенными средствами для генерации, импорта и экспорта TLS сертификатов, применяемых для защиты таких туннельных протоколов как OpenVPN.
В частности, для использования TLS в OpenVPN требуется создать локальный CA (центр сертификации), сертификат сервера и сертификат(ы) для клиентов – устройств, которые будут подключаться к роутеру, выступающему сервером.
Инструкция по созданию TLS сертификатов
-
Перейдите в раздел /storage → certificate и нажмите Cert Create.
-
В появившейся форме задайте настройки:
-
File Name – внутреннее имя для файла сертификата
-
Common Name – имя вашего нового CA, например: IRZOS
-
CA Certificate – заполнять не требуется
-
Pkey-Size – размер ключа, по умолчанию 2048 бит
-
Остальные поля заполняются опционально.
Нажмите OK.
Через некоторое время в списке сертификатов появится новый сертификат с заданным именем.
Реализация в CLI:
/storage certificate cert-create name=CA pkey-size=2048 cn=IRZOS
-
Создадим сертификат сервера. Снова нажмите Cert Create и задайте настройки:
-
File Name – имя, например: server
-
CA Certificate – CA, созданный на предыдущем шаге
-
Common Name – общее имя для сертификата. Это может быть название роутера, на который он будет установлен. Для примера это тоже server
-
Нажмите OK.
Реализация в CLI:
/storage certificate cert-create name=server ca=CA pkey-size=2048 cn=server
-
Создадим сертификат для клиента. Нажмите Cert Create и задайте настройки:
-
File Name – имя, например: client
-
CA Certificate – созданный CA
-
Common Name – это может быть идентификационная строка, имя или что-то еще. Для нашего примера это client.
-
Нажмите ОК.
Реализация в CLI:
/storage certificate cert-create name=client ca=CA pkey-size=2048 cn=client
Сертификаты созданы, но для использования на ином устройстве необходимо экспортировать часть из них.
Нажмите на Commit, чтобы записать конфигурацию в память роутера.
Экспорт
-
Нажмите Cert Export. Для экспорта публичного сертификата CA в качестве Name выберите заданное имя CA (в данном примере это irzos).
Нажмите ОК.
Реализация в CLI:
/storage certificate cert-export name=CA
-
Перейдите в раздел /storage → file – там появился файл CA.pfx. Кликните по нему и нажмите Download.
-
Экспортируем клиентский сертификат.
Для этого вернитесь в раздел /storage certificate и нажмите Cert Export.
Выберите в списке Name сертификат client, поставьте галочку напротив Include Privkey и задайте в поле Passphrase пароль длинной не менее 8-и символов.
Нажмите ОК.
Реализация в CLI:
/storage certificate cert-export name=client include-pkey=true passphrase=password
password – это пример passphrase, пароль длинной не менее 8-и символов
-
В разделе /storage → file скачать файл client.pfx
Скачать файл можно в том числе с помощью консольного клиента. Например, в Linux c помощью клиента scp в текущий каталог:
scp admin@IP-адрес-роутера:CA.pfx ./
scp admin@IP-адрес-роутера:client.pfx ./
Импорт
-
На втором роутере импортируем необходимые для работы сертификаты.
Для этого перейдите в раздел /storage → file.
-
Нажмите Upload, далее – Choose, и выберите ранее сохраненные CA.pfx и client.pfx.
Снова нажмите Upload. После загрузки файлы появятся в списке с типом temporary.
Загрузить файл можно в том числе с помощью консольного клиента. Например, в Linux c помощью клиента scp:
scp CA.pfx admin@IP-адрес-роутера:CA.pfx
scp client.pfx admin@IP-адрес-роутера:client.pfx
-
Перейдите в раздел /storage → certificate и нажмите Cert Import.
В списке name выберите CA.pfx и нажмите ОК.
Реализация в CLI:
/storage certificate cert-import name=CA.pfx
-
Нажмите Cert Import.
В списке name выберите client.pfx и укажите пароль, что был задан при экспорте.
Нажмите ОК. Через некоторое время сертификат появится в /storage → certificate.
Реализация в CLI:
/storage certificate cert-import name=client.pfx passpharase=password
Нажмите на Commit, чтобы записать конфигурацию в память роутера. Либо используйте команду:
/system config commit
ta.key
При использовании на сервере OpenVPN TLS Auth Key (ta.key) его так же необходимо загрузить и импортировать.
Загрузить можно с помощью:
-
web-интерфейса:
в разделе /storage → file выберите ta.key и нажмите Import.
-
через scp:
scp ta.key admin@IP-адрес-роутера:ta.key -
в консоли:
/storage file ta.key import
Теперь файл ta.key будет доступен в сервере OpenVPN.