В эти выходные получил отличный урок на тему мониторинга и построения инфраструктуры. Есть небольшая vpn сеть на базе openvpn. Изначально она была развернута в 2010 году.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
С тех пор она переходила их рук в руки, переезжала с сервера на сервер. При этом неизменными оставались 2 вещи:
- Реализация на базе openvpn.
- Корневой 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.
Нужно еще перевыпускать сертификат сервера. Без него, не будет работать.
Если протух сертификат сервера, то его 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, чтобы не изучать и не вводить длинные команды.
Сегодня истек срок сертификата server, вообще все заново переделал из-за этого
Хотя он вроде тоже должен способом выше перегенерироваться, но написало ошибку что сертификат не действителен
Спасибо. Скоро у моего клиента истечет срок, тож задумался как оперативно обновить сертификат.