13 мая 2022

Блог

Как мы следим за сроками действия сертификатов в наших приложениях

Сертификат безопасности – это своеобразная заверенная подпись для ИТ-систем и их модулей. Он подтверждает, что все участники обмена данными действительно являются теми, кем представляются. Таким образом, одна система может отправлять клиентские данные другой и «не опасаться», что на самом деле они уйдут кому-то третьему. Или же «не сомневаться», что запрос на доступ действительно поступил от модуля, который имеет такое право.

Как сертификаты безопасности влияют на работу приложений

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

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

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

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

Как это работает

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

Чтобы отследить этот момент, мы отправляем серверные запросы на несколько URL в экосистеме заказчика. В ответ мы получаем атрибуты доступных сертификатов (для каждого – свой URL). В них содержатся данные о сроках их действия, которые и поступают  в Grafana в виде метрик.

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

Результат

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

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