Налаштування моніторингу SSL-сертифікатів (термін закінчення)

Налаштування моніторингу SSL-сертифікатів

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування моніторингу SSL-сертифікатів (термін закінчення)
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1242
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    997

Налаштування моніторингу SSL-сертифікатів

Ми налаштовуємо моніторинг SSL-сертифікатів для вашого сайту та інфраструктури: від простих зовнішніх перевірок через Uptime Robot до повноцінного Prometheus-стека з алертами в Telegram або Slack. Наша команда конфігурує сповіщення за 30, 7 та 1 день до закінчення та перевіряє, що автоматичне поновлення дійсно працює. Ми налаштували SSL-моніторинг для понад 50 сайтів, хмарних сервісів та внутрішніх API. Наші клієнти отримують сповіщення завчасно та не стикаються з аварійними поновленнями в позаробочий час або у вихідні дні.

Прострочений SSL-сертифікат робить сайт недоступним для всіх користувачів. Браузери показують сторінку з попередженням, пошукові позиції падають, а довіра клієнтів втрачається. Навіть сайти з Let's Encrypt і автоматичним поновленням іноді стикаються з цією проблемою — автоматика ламається тихо, без сигналів. Моніторинг виявляє проблему завчасно.

Що входить у наш сервіс моніторингу SSL

Ми виконуємо налаштування під ключ. Обсяг включає:

  • Аудит усіх доменів та піддоменів, що потребують моніторингу
  • Налаштування зовнішнього моніторингу: Uptime Robot, Better Uptime або StatusCake
  • Конфігурація Prometheus Blackbox Exporter для внутрішнього моніторингу
  • Алерти в Telegram, Slack або email при залишку < 30 днів (warning) та < 7 днів (critical)
  • Перевірка certbot timer та тестовий dry-run для Let's Encrypt
  • Python-скрипт для самостійної перевірки та звітування
  • Документація налаштованого моніторингу та інструкція з реагування

Що відстежує наша система

Моніторинг охоплює всі критичні компоненти SSL-інфраструктури:

  • Строк закінчення основного домену та всіх піддоменів
  • Wildcard-сертифікати (*.example.com), якщо вони використовуються
  • Проміжні сертифікати в ланцюжку CA
  • Сертифікати внутрішніх сервісів: API, адмін-панелі, внутрішні домени

Окремі перевірки для кожного піддомену критичні: wildcard не завжди покриває всі піддомени, а деякі сервіси використовують окремі сертифікати.

Prometheus Blackbox Exporter

# blackbox.yml modules: https_check: prober: http timeout: 15s http: method: HEAD tls_config: insecure_skip_verify: false fail_if_not_ssl: true 
# prometheus.yml scrape_configs: - job_name: 'ssl_certificate_check' metrics_path: /probe params: module: [https_check] static_configs: - targets: - https://example.com - https://api.example.com - https://admin.example.com relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: blackbox-exporter:9115 

Метрика probe_ssl_earliest_cert_expiry містить timestamp закінчення сертифіката.

Alertmanager: правила сповіщень

- alert: SSLCertificateExpiringSoon expr: probe_ssl_earliest_cert_expiry - time() < 30 * 24 * 3600 labels: severity: warning annotations: summary: "SSL cert on {{ $labels.instance }} expires in {{ $value | humanizeDuration }}" - alert: SSLCertificateExpiryCritical expr: probe_ssl_earliest_cert_expiry - time() < 7 * 24 * 3600 labels: severity: critical annotations: summary: "SSL cert on {{ $labels.instance }} expires SOON!" 

Python-скрипт для перевірки

Для простих інфраструктур або додаткової перевірки ми розробляємо скрипт прямої перевірки:

import ssl import socket from datetime import datetime, timezone def check_ssl_expiry(hostname: str, port: int = 443) -> dict: context = ssl.create_default_context() with socket.create_connection((hostname, port), timeout=10) as sock: with context.wrap_socket(sock, server_hostname=hostname) as ssock: cert = ssock.getpeercert() expiry_date = datetime.strptime( cert['notAfter'], '%b %d %H:%M:%S %Y %Z' ).replace(tzinfo=timezone.utc) return { 'hostname': hostname, 'expires_at': expiry_date.isoformat(), 'days_remaining': (expiry_date - datetime.now(timezone.utc)).days, 'issuer': dict(x[0] for x in cert['issuer']), } 

Скрипт запускається за розкладом через cron або CI/CD і відправляє звіт у Telegram або Slack при залишку менше 30 днів.

Автоматичне поновлення Let's Encrypt

Let's Encrypt + Certbot поновлюють сертифікати автоматично при залишку < 30 днів. Але автоматизація іноді ламається без видимих ознак. Саме тому моніторинг необхідний навіть за наявності автоматичного поновлення.

# Перевірити статус таймера systemctl status certbot.timer # Тестовий прогін без реального поновлення certbot renew --dry-run 

Ми перевіряємо, що таймер активний, сервіс не заблокований і dry-run проходить успішно. Якщо certbot не може поновити сертифікат — ми виявляємо причину та усуваємо її до закінчення поточного сертифіката.

Зовнішній моніторинг як перший рівень захисту

Найшвидший варіант для старту — підключення до зовнішнього сервісу моніторингу. Uptime Robot (безкоштовний план) перевіряє SSL expiry та надсилає сповіщення за 30, 7 та 1 день до закінчення.

Зовнішній моніторинг доповнює Prometheus-стек: він перевіряє сертифікат так само, як його бачить звичайний браузер, не маючи доступу до вашої внутрішньої мережі.

Як ми виконуємо налаштування

  1. Аудит усіх доменів та піддоменів, що використовують SSL
  2. Оцінка поточного стану сертифікатів та строків закінчення
  3. Налаштування Prometheus Blackbox або зовнішнього моніторингу
  4. Конфігурація алертів і тестування сповіщень
  5. Перевірка автоматичного поновлення та документування
Обсяг Терміни
Зовнішній моніторинг через Uptime Robot 2–3 години
Prometheus Blackbox з алертами 4–8 годин
Повний стек з перевіркою certbot та звітами 1 робочий день

Зверніться за консультацією або оцінкою вашої інфраструктури. Ми оглянемо поточний стан і запропонуємо найефективніше рішення для вашого проекту.

Що відбувається, коли сертифікат прострочений

Браузер блокує доступ одразу. Користувач бачить сторінку з попередженням. Більшість одразу закривають вкладку. Пошукові системи знижують сайт у видачі. CRM та API-інтеграції перестають працювати. Відновлення займає від кількох годин до доби. Моніторинг повністю запобігає цій ситуації.

Як ми працюємо

Ми збираємо перелік всіх ваших доменів. Ми перевіряємо поточні строки закінчення. Ми налаштовуємо перший рівень моніторингу. Ми конфігуруємо алерти. Ми перевіряємо автоматичне поновлення. Ми тестуємо кожен alert-канал. Ми передаємо документацію та інструкцію з реагування.