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 и скрипт выведет все доступные для него опции.