Как стать автором
Обновить

Комментарии 10

С тех пор , как я обленился и открыл для себя Pritunl - забил на ручное поднятие OpenVPN.

НО! хорошая статья. Понимать матчасть и разобраться с openvpn - полезно любому, особенно сейчас.

А я в свое время написал GUI для OpenVPN.
А в остальном солидарен с вами.

OpenVPN ждёт от вас файл с CRL, не важно каким софтом для CA вы пользуетесь (Easy RSA, Microsoft, Hashicorp Vault, EJBCA, etc). Также поступает и другой софт который работает с сертификатами.

Если удалить клиентский сертификат из директории «issued» (структура управления ключами easyrsa), то его отзыв (посредством команды revoke) при компрометации окажется недоступным, что создаёт вероятность использования такого сертификата злоумышленниками. И в этом случае единственным вариантом обезопасить интранет от посторонних глаз — перевыпуск корневого сертификата, что влечёт за собой необходимость перевыпуска остальных сертификатов.

Вообще некорректно. Есть прекрасная возможность client-config-dir, которая позволяет задекларировать клиент-специфичные опции. Но: если включить требование обязательного наличия конфигурации для клиента в CCD, то можно блокировать клиентов даже без отзыва сертификата. Просто удаляя CCD. Это же позволяет использовать в сочетании с OpenVPN любой CA.

Кроме того, базу сертификатов (как минимум используемую в openssl) можно спокойно исправить в любом текстовом редакторе. Посмотрите структуру файла index - если установить первое поле в значение R (revoked) и в третьем поле установить дату отзыва, то можно спокойно отозвать любой сертификат

Т.е. если подредактировать файл index и запустить процедуру генерации CRL, то клиенты с отозванным таким способом сертификатом (после применения CRL к VPN-серверу) не смогут подключиться?

Совершенно верно.

Как-нибудь внесу изменения, учитывающие этот факт, в скрипты репозитория.

Из личного опыта:

1) можно создать в client-config-dir конфиг DEFAULT и пушить всем клиентам одинаковые настройки. Удобно в случае отдельного openvpn для десятков человек с однотипным доступом.

2) Ещё можно указать crl-verify как директорию, в нее класть пустой файл, с условием - имя файла совпадает с серийным номером нужного сертификата в десятичном формате. Наличие такого файла проверяется при каждом подключении клиента, в то время как crl.pem перечитывается раз в час, если память не подводит. Надо разлочить - просто удаляешь нужный файл.

Спасибо! Учту!

Полезная статья, нужно все-таки понимать как это работает.

Для любителей простых настроек: пару дней назад наткнулся на статью, по использованию скрипта, все ставится за 2 минуты, мало ли, кто то тоже не хочет заморачиваться:

https://www.cyberciti.biz/faq/ubuntu-20-04-lts-set-up-openvpn-server-in-5-minutes/

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации