Easy rsa что это

Easyrsa создание самоподписных сертификатов

Подробно рассмотрим каким образом можно быстро и просто генерировать самоподписные сертификаты на linux при помощи пакета easyrsa.

установка easyrsa

В моём примере будет CentOS 7, но принцип один во всех дистрибутивах. Начнём с того что надо этот пакет установить:

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что это

По дефолту исполняемый файл — /usr/share/easy-rsa/3/easyrsa. Если вдруг не там, попробуйте набрать:

инициализация

После установки можно сразу приступать к генерации. Я создал каталог где будут хранится мои сертификаты

переходим в созданный каталог и запускаем инициализацию

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что это
build-ca

Следующий этап — создание корневого сертификата. Я везде буду использовать директиву nopass, что бы не вводить каждый раз пароль. Да и не понятно зачем он тут вообще.

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что это
затем генерируем DH:

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что это

генерация сертификатов

Существует два способа генерации сертификатов. В сертификате будет указан только commonName (CN). Этот способ позволяет сэкономить время — не надо отвечать на много ненужных вопросов. Такие сертификаты подходят например для использования в openvpn. Но если вы хотите указывать в сертификате не только CN, но и например email или country code можно использовать опции

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Отзыв сертификатов пользователей в OpenVPN

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что этоСистема клиентского доступа в OpenVPN построена вокруг инфраструктуры открытых ключей (PKI) и основным средством идентификации пользователя является сертификат. Располагая действительным сертификатом клиент может подключиться к любому серверу, использующему сертификаты вашего центра сертификации (CA). Если доступ пользователя необходимо прекратить, то выданный ему сертификат следует отозвать. В данной статье мы рассмотрим процесс отзыва сертификатов для различных версий Easy-RSA на платформах Windows и Linux, а также настройку OpenVPN севера для проверки сертификатов на отзыв.

Easy-RSA 2 Linux

Вторая версия Easy-RSA наиболее часто используется совместно с OpenVPN, так как входит в состав большинства актуальных на данный момент дистритбутивов. В нашем случае будет рассматриваться Ubuntu 18.04, но серьезных отличий с иными Linux системами нет, так как Easy-RSA это просто набор скриптов, облегачающий работу с OpenSSL.

Ниже найдите опцию, которая задает срок действия списка отозванных сертификатов, по умолчанию это 30 дней, после чего его нужно будет перевыпустить, имеет смысл установить более длительный срок:

Сохраните изменения, после чего создайте указанный файл:

Теперь можно приступать к отзыву, для этих целей используется скрипт revoke-full. Перейдем в директорию Easy-RSA:

И выполним отзыв, для этого нам нужно знать CN (Commom Name) сертификата, в нашем случае это ivanov:

не является ошибкой! Оно сообщает о том, что проверка сертификата не увенчалась успехом по причине его отзыва.

Easy-RSA 2 Windows

В Windows никаких дополнительных настроек производить не нужно, однако также рекомендуется увеличить срок действия CRL. Каталог Easy-RSA обычно располагается внутри каталога установки OpenVPN, по умолчанию это C:\Program Files\OpenVPN\easy-rsa. Для измненения срока действия откройте файл openssl-1.0.0.cnf и измените опцию, указав нужное количество дней:

Затем перейдем в каталог Easy-RSA (так как он является системным, то командная строка должна быть запущена от имени Администратора):

Easy-RSA 3 Linux

Новая версия Easy-RSA пока не имеет широкого распространения и присутствует в ограниченном количестве новых дистрибутивов, в частности в Debian 10. Приемы работы с ней значительно отличаются от Easy-RSA 2 и мы посвящали этому отдельную статью, в которой рассматривали в том числе и отзыв сертификатов.

В Easy-RSA 3 для отзыва сертификатов и создания/обновления списка отозванных сертификатов предназначены разные команды, поэтому вы можете сформировать CRL заранее и подключить его к конфигурации OpenVPN не дожидаясь отзыва.

Будем также считать, что директория Easy-RSA расположена в /etc/openvpn/easy-rsa, сразу перейдем в нее:

Откроем файл vars, найдем и раскомментируем в нем следующую опцию, которая задает срок действия CRL, по умолчанию установлено 180 дней, укажите нужное вам значение:

Затем сформируем список отозванных сертификатов:

Итогом выполнения данной команды будет появление файла crl.pem в директории pki.

Для отзыва сертификата выполните (предварительно перейдя в директорию Easy-RSA):

В данном случае вам потребуется явно подтвердить отзыв, введя yes на запрос утилиты.

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что этоПосле отзыва сертификата вам потребуется обновить список CRL, для этого еще раз выполните:

Настройка OpenVPN для работы со списком отозванных сертификатов (CRL)

После того, как вы создали или обновили CRL (файл crl.pem) его следует скопировать в директорию с ключами OpenVPN сервера, это действие следует повторять после каждого отзыва сертификата (и обновления файла crl.pem).

Затем откроем конфигурацию сервера OpenVPN и добавим туда директиву, отвечающую за проверку отозванных сертификатов. В Linux:

В данном случае подразумевается, что ключи и CRL находятся в директории /etc/openvpn/keys.

Здесь мы также подразумеваем расположение каталогов по умолчанию, если это не так, то пути следует отредактировать.

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

После чего обязательно перезапустите службу OpenVPN сервера. Это нужно сделать потому, что OpenVPN перечитывает CRL один раз в час и в течении этого времени клиенты с отозванными сертификатами смогут продолжать подключаться и работать. В Linuх для этого выполните:

В Windows воспользуйтесь штатной оснасткой Службы.

Для клиента с отозванным сертификатом процесс подключения будет «зависать» на этапе согласования ключей и через 60 секунд выдавать в лог сообщение:

При этом клиент будет продолжать попытки подключения в соответствии со значениями опции keepalive. Если используется GUI, то клиент будет «вечно» висеть в желтом цвете.

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что этоЧтобы ограничить число переподключений используйте в конфигурации клиента опцию:

Которая задает максимальное количество переподключений, в данном случае 25, однако вы должны указать ее заранее, передать на клиента с отозванным сертификатом вы ее не сможете. Мы рекомендуем всегда использовать эту опцию, когда вы настраиваете OpenVPN клиент на узлах, которые вы не контролируете, например, на домашних ПК или ноутбуках сотрудников.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что это

Или подпишись на наш Телеграм-канал: Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что это

Источник

Собственная инфраструктура открытых ключей на базе EasyRSA

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

Ожидается, что читатель знает достаточно про TSL/SSL, в состоянии заполучить выделенный сервер с установленной операционной системой Ubuntu 18.04 LTS (для экспериментов используйте промо-код на сто долларов), а также владеет навыками ее администрирования.

Составляющие инфраструктуры

В основе инфраструктуры открытых ключей 1 лежит криптографическая система с открытым ключом (например, RSA). На практике это означает, что каждому устройству (серверу, рабочей станции, смартфону) выдается ключ, который служит идентификатором.

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

Например, для доступа к VPN сотрудник использует именно сертификат, а не имя пользователя и пароль. При установлении соединения сервер и клиент проверяют подлинность сертификатов друг друга; если проверки завершены успешно — коммуникация продолжается.

Проверка подлинности, в основном, проводится по трем параметрам:

Короче говоря, инфраструктура состоит из удостоверяющего центра и удостоверенных им сущностей.

Преимущества и недостатки

Ключевая особенность (и, можно сказать, преимущество) инфраструктур открытых ключей — безусловное доверие к удостоверяющему центру и отсутствие доверия удостоверенных сущностей друг к другу.

Однако, централизованность (даже при использовании нескольких центров) может оказаться проблемой. Например, список отозванных сертификатов при каждом обновлении необходимо обновлять на всех ответственных узлах.

Приготовления

Технически вы можете произвести настройку хоть на локальном компьютере, но существует множество причин, по которым этого делать не стоит.

Соглашение

Настройка удостоверяющего центра

С помощью SSH подключитесь к целевому серверу:

Скачайте актуальную версию EasyRSA, распакуйте и переименуйте директорию во что-то осмысленное:

Создайте копию файла примера конфигурации:

Конфигурирование EasyRSA

Прочитайте и проверьте файл vars до выполнения дальнейших действий. (Весьма полезными окажутся содержащиеся в нем комментарии.)

X.509 Distinguished Name

EASYRSA_DN — параметр, определяющий процедуру генерации сертификатов.

Свежие версии по умолчанию используют упрощенный формат cn_only (common name only), требующий ввода только универсального имени.

При использовании «классического» значения org (organization), генератор, помимо универсального имени, потребует указать дополнительные атрибуты: страну, регион, город, название организации и ее подразделения, а также адрес электронной почты.

Мы выберем «классический» вариант из-за большей наглядности результата. Переопределите значение:

Укажите значения следующих параметров (они будут использоваться по умолчанию при выпуске сертификатов):

Размер файлов ключей

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

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

Срок действия сертификатов

EASYRSA_CA_EXPIRE устанавливает срок действия ключа удостоверяющего центра (3650 дней), EASYRSA_CERT_EXPIRE — для остальных выпускаемых сертификатов (1080 дней).

Из-за ряда сложностей 4 будет разумно сократить срок действия выпускаемых сертификатов до приемлемого минимума.

Инициализация инфраструктуры

Генерация корневого сертификата удостоверяющего центра

Использование готовой инфраструктуры

Описание процесса

Удостоверяющий центр проще всего описать как паспортный стол. Заявитель подает запрос на получение паспорта, который может быть использован для подтверждения личности. Применительно к теме статьи, процедура выглядит следующим образом:

После выполнения этих простых шагов удостоверяющий центр знает о новом заявителе; тот, в свою очередь, имеет удостоверенный сертификат и секретный ключ для его использования.

Практикум

Самое время составить запрос на выдачу первого сертификата. Предположим, что у нашей компании есть подрядчик — организация Acme, сотрудники которой должны получить доступ в нашу сеть.

NB! Важная особенность

Чтобы создать запрос на подписание сертификата, заявитель должен иметь собственную инфраструктуру открытых ключей. Такое странное поведение выбрано не без причины.

Во-первых, инфраструктура открытых ключей не предназначена для конечных пользователей. (Не будет же бухгалтер изучать EasyRSA!) Во-вторых, каждая отдельная инфраструктура может стать доверенной и получить право подписывать запросы самостоятельно.

Инфраструктура открытых ключей Acme

Сетевому инженеру Acme предстоит выполнить уже известные шаги:

Параметры конфигурации Acme могут выглядеть следующим образом:

Со стороны Acme

Первым сотрудником Acme, который получит доступ к инфраструктуре Goldfinch, станет Алиса. Сетевой инженер Acme генерирует запрос от ее имени следующим образом:

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

После этого сетевой инженер Acme передает файл alice.req сетевому инженеру Goldfinch.

Со стороны Goldfinch

Сетевой инженер Goldfinch принял файл запроса. Прежде всего, он должен загрузить его на сервер удостоверяющего центра:

После выполнить на сервере удостоверяющего центра процедуру импорта и подписания:

Источник

📑 Создание инфраструктуры открытых ключей OpenVPN (easy-rsa)

Первый шаг в построении конфигурации OpenVPN заключается в создании инфраструктуры открытых ключей (Public Key Infrastructure, PKI). PKI состоит из:

OpenVPN поддерживает двунаправленную аутентификацию на основе сертификатов, это означает что клиент должен проверять подлинность сертификата сервера, а сервер должен проверять подлинность сертификата клиента до того как они начнут доверять друг другу.

И сервер и клиент будет аутентифицировать друг друга, сначала проверив что представленный сертификат подписан центром сертификации (CA), а затем путем проверки информации в заголовках уже аутентифицированного сертификата, таких как «common name» сертификата и тип сертификата (клиент или сервер).

Эта модель безопасности с точки зрения VPN имеет ряд желательных функций:

Для создания и ведения инфраструктуры открытых ключей (PKI) в OpenVPN существует программа easy-rsa. Начиная с 2013-го года программа “easy-rsa” отсутствует в пакете с OpenVPN поэтому ее нужно установить отдельно. Она есть в репозиториях практически всех дистрибутивов Linux, однако лучше всего ее скачать с github.com:

Дистрибутив Easy-RSA содержит:

Файл или каталогОписание
COPYINGИнформация о лицензии
ChangeLogЖурнал изменений
LicensingКаталог с файлом текста лицензии
READMEКраткая информация о программе Easy-RSA
README.quickstart.mdКраткое руководство по работе с Easy-RSA
BuildСкрипт для создания дистрибутива
DistroЭтот каталог содержит файлы для Windows
DocДокументация Easy-RSA
easyrsa3Каталог с программой Easy-RSA
release-keysКлюч GPG Key ID, использованный для подписи дистрибутива

Создаем инфраструктуру публичных ключей PKI

В результате увидим:

Далее создаем удостоверяющий центр для OpenVPN:

Последняя команда (build-ca) создаст сертификат и ключ центра сертификации (CA), вызвав интерактивную команду openssl:

Для удостоверяющего центра соданы ключ и сертификат:

Теперь можно создавать и подписывать сертификаты. Для облегчения работы можно подправить файл параметров easy-rsa для того, чтобы меньше вводить информации. Для этого копируем файл vars.example в файл vars:

cp vars.example vars

и расскомментируем и правим в vars строчки:

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

Создаем ключи и запрос на сертификат сервера:

Создаем и подписываем сертификат сервера:

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

Теперь для создания статического ключа HMAC необходимо установить openvpn:

Все необходимые ключи и сертификаты для сервера созданы:

Теперь можно создавать сертификаты для клиентов. Так-же создаем ключ и запрос сертификата:

Создаем и подписываем сертификат:

Теперь и для клиента OpenVPN готовы все ключи и сертификат:

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Создание ключей и сертификатов для OpenVPN при помощи Easy-RSA 3

На первый взгляд может показаться, что разработчики Easy-RSA серьезно все поменяли, но это не так, если вы понимаете, как устроена инфраструктура открытых ключей, то вам будет ясно, что работа утилиты изменилась только по форме, но не по сути. Она стала более целостной и простой в использовании, но в тоже время приобрела ряд новых функции, свойственных более «взрослым» продуктам. В настоящий момент Easy-RSA 3 входит в состав Debian 10, а также Ubuntu 18.10 и новее.

Установка Easy-RSA и создание центра сертификации

Для установки Easy-RSA 3 выполним:

После чего убедимся, что установлена именно третья версия утилиты:

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что это

Обычно затем директорию с easy-rsa копируют в конфигурационную папку OpenVPN, но на наш взгляд CA лучше располагать отдельно, поэтому мы скопируем директорию просто в /etc, однако это ни не что не влияет, и вы можете поступить по своему разумению.

Затем изменим рабочую директорию на скопированную нами папку:

Если вас устраивают параметры по умолчанию, то следующий шаг можно пропустить и сразу перейти к созданию инфраструктуры PKI. Однако мы советуем потратить немного времени на тонкую настройку вашего CA.

Прежде всего скопируем шаблон файла настроек:

и откроем файл vars на редактирование. Строки вида #set_var содержат значения по умолчанию, для их именения строку нужно раскомментировать и указать собственное значение. Начнем с опции EASYRSA_DN, она предусматривает два режима: упрощенный cn_only, при котором сертификат содержит только CN (имя того, кому выдан сертификат) и традиционный org, при котором заполняются все реквизиты организации. Для OpenVPN можно использовать любой режим. Мы установим традиционный:

После чего раскомментируйте и заполните блок ниже своими данными (в примере указаны наши):

Заметьте, что если вы оставили cn_only, то редактировать вышеуказанные опции не имеет смысла.

Параметр EASYRSA_KEY_SIZE указывает размер ключа, на сегодняшний день безопасным считается размер начиная с 2048, если вы ставите на первое место безопасность, то можете увеличить его до 3072 или 4096. Если криптографическая стойкость не играет роли, например, туннель будет использован для доступа в интернет и предполагается использование слабых устройств, то можно уменьшить размер ключа до 1024.

Опции EASYRSA_CA_EXPIRE и EASYRSA_CERT_EXPIRE задают срок действия корневого сертификата CA и сертификатов пользователей (сервера и клиентов), их значения установлены в днях как 3650 (10 лет) и 1080 (5 лет), опция EASYRSA_CERT_RENEW задает количество дней до истечения сертификата, когда становится доступным его продление, по умолчанию это 30 дней. При необходимости вы можете изменить эти значения.

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что этоСохраним внесенные изменения. Теперь инициализируем наш CA и выпустим корневую пару ключей. Обратите внимание, что данные действия следует выполнять единожды, повторное выполнение указанных команд уничтожит существующий CA и потребует повторного создания всех ключей и сертификатов.

Данная команда инициализирует новую структуру центра сертификации с очисткой всех данных. После чего создадим файл для генерации случайных данных:

и активируем наш CA:

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что этоПосле выполнения этих команд будет выполнено создание структуры директорий CA, публичный сертификат центра сертификации ca.crt вы сможете найти в директории pki, а закрытый ключ ca.key в pki/private. Закрытый ключ является секретным и не при каких обстоятельствах не должен покидать свое расположение и тем более не должен передаваться по открытым каналам связи, доступ третьих лиц к закрытому ключу также следует ограничить.

Также не забудем сформировать файл параметров Диффи-Хеллмана dh.pem, он также будет расположен в директории pki:

На этом создание центра сертификации (CA) можно считать законченным.

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

В Easy-RSA 3 все «по-взрослому», сначала нам нужно создать запрос на сертификат:

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

Опция server обозначает выпуск сертификата для сервера. Для подтверждения выпуска вам нужно будет явно выразить свое согласие указав yes в ответ на соответствующий запрос, любый иные действия приведут к отмене действия. Затем потребуется ввести пароль закрытого ключа центра сертификации.

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что этоВыпущенные сертификаты будут располагаться в pki/issued.

Теперь скопируем необходимые сертификаты и ключи в конфигурационную директорию OpenVPN, предварительно создав там папку keys:

Дальнейшая настройка OpenVPN-сервера ничем не отличается от описанной нами ранее, и вы можете воспользоваться любой нашей инструкцией, смотрите блок Дополнительные материалы внизу статьи.

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

Точно также начнем с формирования запроса на сертификат:

На основании запроса выпустим сертификат:

В данном случае используется опция client для указания формирования клиентского сертификата, вам также потребуется явно подтвердить действие и указать пароль от закрытого ключа CA.

Для передачи на клиент вам потребуется скопировать в доступную пользователю директорию закрытый ключ, сертификат клиента и сертификат CA. В нашем случае файлы будут скопированы в домашнюю директорию пользователя andrey.

Затем изменим их владельца, чтобы файлы можно было скопировать, подключившись к системе с правами пользователя:

Закрытый ключ пользователя также является секретным и следует исключить его передачу по открытым каналам.

Списки отзыва и отзыв сертификатов

Если вы используете OpenVPN для организации связи между офисами или доступа в интернет, то вряд ли у вас возникнет потребность в отзыве сертификата. Другое дело, если вы предоставляете удаленный доступ к корпоративной сети с домашних ПК сотрудников, подрядчикам или аутсорсерам. Здесь может возникнуть масса ситуаций, когда доступ отдельных лиц следует прекратить: сотрудник уволился, истек срок договора с подрядчиком, сменили аутсорсера и т.д. и т.п.

Прежде всего создадим список отозванных сертификатов (CRL):

Затем создадим символьную ссылку на список в директории с ключами OpenVPN:

И внесем в конфигурационный файл сервера OpenVPN следующую строку:

После чего сервер OpenVPN потребуется перезапустить.

Теперь отзовем какой-либо сертификат:

Посмотреть список сертификатов можно командой:

Как видим, работа с Easy-RSA 3 не представляет каких-либо сложностей и надеемся, что данная статья будет вам полезна.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что это

Или подпишись на наш Телеграм-канал: Easy rsa что это. Смотреть фото Easy rsa что это. Смотреть картинку Easy rsa что это. Картинка про Easy rsa что это. Фото Easy rsa что это

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *