SSL cert check

ssl-cert-check — делаем простой мониторинг SSL с уведомлениями на email о необходимости продления сертификата.

Установка скрипта.

1. Ставим всё необходимое для работы, ssl-cert-check забираем из github репозитория:

# yum install git openssl
# cd /usr/local/src/
# git clone https://github.com/Matty9191/ssl-cert-check
# cp ssl-cert-check/ssl-cert-check /usr/local/sbin/

2. Создадим файл /etc/ssl-cert-check-domains с доменами, которые будем периодически проверять. Выглядеть файл будет так:

# cat /etc/ssl-cert-check-domains
sysadmin.pm 443
yandex.ru 443
google.com 443

3. Выполним проверку статуса сертификатов у внесённых в список доменов:

# ssl-cert-check -f /etc/ssl-cert-check-domains

ssl-cert-check

Настройка уведомлений.

С помощью дополнительных параметров, мы можем указать интервал, по истечении которого, скрипт сообщит о неоходимости обновления сертификата, за это отвечает параметр -x. Например, вот так будут выглядеть результаты проверки, если для нас критично считать истекающими сертификаты, которые нужно продлить менее чем через 50 дней:

# ssl-cert-check -x50 -f /etc/ssl-cert-check-domains

ssl-cert-check

C помощью параметра -a, мы включаем отправку уведемления на email, а с параметром -e указываем email, на который уйдёт сообщение о необходимости продлить сертификат. В результате, итоговая команда выглядит так:

# ssl-cert-check -a -f /etc/ssl-cert-check-domains -q -x 30 -e alert@sysadmin.pm

Т. е. мы проверяем все домены из файла /etc/ssl-cert-check-domains, и уведомляем о необходимости продления сертификата, в случае если он истекает менее чем через 30 дней.

Нам остаётся только добавить эту задачу в cron:

0 21 * * * /usr/local/sbin/ssl-cert-check -a -f /etc/ssl-cert-check-domains -q -x 30 -e alert@sysadmin.pm

И мы будем получать соответствующие уведомления от нашей системы.

Стоит заметить, что в заметке рассмотрен один конкретный кейс. Скрипт ssl-cert-check умеет многое — например, проверять конкретные файлы сертификатов, работать с сертификатами из директории, может передать пароль для сертификата, если требуется, можно использовать его как плагин для Nagios и изменять формат вывода информации. Для получения подробностей достаточно выполнить ssl-cert-check -h и скрипт выведет все доступные для него опции.

8 thoughts on “SSL cert check

  1. Выкидывает ошибку в тот момент, когда пытаюсь подвязать отправку сообщений на почту.
    Пишет, что бинарный файл не найден и изменить переменную cantifindit, но тут не понятно, что именно изменить. можете подсказать?

    1. А какая конкретно ошибка? Возможно не хватает (или скрипт не видит) бинарника для отправки на почту.

  2. Не удается настроить отправку сообщений на почту.
    Требует изменить переменную cantifindit, но на что ее изменить?

  3. При проверке доменов из файлы выдает
    unable to load certificate
    140662060881560:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:701:Expecting: TRUSTED CERTIFICATE

  4. ERROR: The file named /var/tmp/cert.7d3ugU is unreadable or doesn’t exist )

    Всё очень сыро

    1. Сыровато, да. Время слать репорты и реквесты автору. 🙂

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

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