Как перевыпустить новый CA для openvpn?

В эти выходные получил отличный урок на тему мониторинга и построения инфраструктуры. Есть небольшая vpn сеть на базе openvpn. Изначально она была развернута в 2010 году.

Углубленный онлайн-курс по MikroTik

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

С тех пор она переходила их рук в руки, переезжала с сервера на сервер. При этом неизменными оставались 2 вещи:

  1. Реализация на базе openvpn.
  2. Корневой CA сертификат центра сертификации для подписи клиентских сертификатов.

Когда я в мониторинге увидел, что все вообще развалилось, подумал, что либо проблемы с интернетом на сервере мониторинга, либо на openvpn сервере. После того, как убедился, что и там, и там все в порядке, крепко призадумался.

Пошел на vpn сервер и увидел по всем туннелям кучу всяких ошибок на подключение клиентов. Сразу стало видно, что упали все туннели для всех клиентов. В голове мелькнула мысль, что протух самоподписанный CA, хотя я с этим ни разу не сталкивался. Проверил и убедился, что это так.

CA сертификат генерировался с помощью скриптов easy-rsa, где по дефолту срок жизни сертификата стоит 10 лет. Обычно никому в голову не приходит это менять, так как кто планирует инфраструктуру на 10 лет вперед? Там либо ишак, либо падишах сдохнет.

По факту так и случилось, но за это время неизменно использовался один и тот же сертификат. И вот спустя 10 лет он превратился в тыкву. К удивлению обнаружил, что новый можно выпустить с привязкой к старому.

# openssl x509 -in ca.crt -days 3650 -out ca-new.crt -signkey ca.key

При этом часть клиентов сразу же подключилась и продолжила работу как ни в чем не бывало. А для части пришлось перевыпустить сертификаты с новым CA.

Источник - мой канал: https://t.me/srv_admin/455.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

12 комментариев

  1. Нужно еще перевыпускать сертификат сервера. Без него, не будет работать.

  2. Если протух сертификат сервера, то его 100% можно перевыпустить. Проблемы наступают, когда сертификат CA протухает. Тут уже все зависимые сертификаты становятся недействительными.

    • Так понимаю если и сертификат сервера истекает, тем же способом перевыпускается?

      • Что значит тем же способом? Если протух сертификат сервера, то его можно выпустить точно так же, как выпускали первый раз. Это вообще не проблема. В статье речь идёт о протухании корневого сертификата удостоверяющего центра. Это совсем другая история.

        • Сертификат сервера еще не протух, так же как и CA, но протухают они в одно время.
          Так понимаю CA мы перевыпускаем и можем это сделать средствами openssl, а потом уже сертификат сервера уже с новым CA так же через openssl или обождать пока закончится и использовать easy-rsa? Ранее не сталкивался с подобным, изучаю мат.часть, буду рад если подскажете.

          • От сертификата CA зависят все остальные, которые он выпускал. Если его заменить, то нужно будет перевыпускать абсолютно все сертификаты, и сервера, и клиентов. А если надо заменить сертификат сервера, то просто перевыпускаем его и всё. От него больше никто не зависит.

            Если у вас протухает CA, то вариантов особо нет. Ждать, когда он полностью протухнет нет смысла. В один день всё разом рухнет. Эти вещи лучше делать спокойно и заранее, пока ещё всё работает.

            Вам получается надо выпустить новый CA, потом через него уже сертификат сервера и всех клиентов. И всё это сделать разом.

            • Большое спасибо!
              Стало намного понятнее, будем пробовать.

              • Когда будете всё перевыпускать, не забудьте проверить все сроки действия сертификатов. Сделайте побольше. А то для сервера там по умолчанию будет стоять что-то вроде 500 дней. Это очень мало. Я так не проследил один раз и через 1,5 года у меня сначала сервер отвалился, а потом начали клиенты отваливаться. Пришлось всё перевыпускать.

                • Все получилось, сделал на 25 лет, сертификат CA перевыпустил с помощью openssl, командой из вашей статьи. А вот с сертификатом сервера пришлось повозиться, так как по умолчанию openssl выпускает сертификат V1, когда нужен V3, пробовал различные вариации openssl с конфигами и тд, но по итогу воспользовался easy-rsa и все нормально перевыпустилось.

          • Easy-rsa это просто sh скрипты поверх openssl, чтобы не изучать и не вводить длинные команды.

  3. Сегодня истек срок сертификата server, вообще все заново переделал из-за этого
    Хотя он вроде тоже должен способом выше перегенерироваться, но написало ошибку что сертификат не действителен

  4. Рустем

    Спасибо. Скоро у моего клиента истечет срок, тож задумался как оперативно обновить сертификат.

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

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

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar