Моніторинг сертифіката сайта за допомогою Nagios
- Деталі
- Категорія: Nagios-ukr
- Опубліковано: Четвер, 25 червня 2020, 15:10
- Автор: Super User
- Перегляди: 2866
При наявності сайта виникає потреба контролювати правильність та строк валідності сертифіката. Якщо я вже використовую Nagios для мониторинга, то нехай і сертифікатами теж він займається.
Може і існує десь плагін для контролю сертифікатів, але я його не знайшов. Хоча, насправді, не сильно і шукав. Тому вирішив написати власний плагін, який вміє перевіряти скільки ще часу сертифікат буде валідним. За одно перевірку CAA запису в DNS додав.
В своїй роботі скрипт використовує утиліти openssl та nslookup.
Формат використання дуже простий
check_cert.sh -H hostname [pdwcC]
де
-H ім’я хосту або IP-адреса (єдиний обов’язковий параметр)
-p порт сервера за замовчуванням 443
-d доменне ім’я яке буде перевірятися в сертифікаті. За замовчуванням буде тотожнім з hostname
-w значення warning для Nagios. За замовчуванням 30 днів
-c значення critical для Nagios. За замовчуванням 7днів
-C перевіряти CAA запис. Значення 1 — перевіряти, 0 — не перевірятися
Для підключення до Nagios в теці з конфігами плагінів (у мене це /etc/nagios-plugins/config) додав файл custom.cfg і в ньому прописав
# 'check_https_cert' command definition
define command {
command_name check_https_cert
command_line /etc/nagios-plugins/scripts/check_cert.sh -H '$HOSTADDRESS$' -C '$ARG1$' -d '$ARG2$' -w '$ARG3$' -c '$ARG4$'
}
Сам скрипт плагіна поклав у свіжостворену теку /etc/nagios-plugins/scripts/
Якщо ви покладете його в інше місце, то і шлях в файлі custom.cfg потрібно буде змінити.
А далі в конфігах самого Nagios створив опис сервіса
/etc/nagios4/conf.d/services.cfg
define service {
hostgroup_name https-certs
service_description https-certs
check_command check_https_cert!1
use generic-service
notification_interval 0
}
Звісно, що ви можете змінити параметри виклику під власні потреби.
Далі потрібно ще додати опис групи серверів
/etc/nagios4/conf.d/hostgroups.cfg
define hostgroup {
hostgroup_name https-certs
alias https-certs
members server1, server2
}
Ці файли я використовую в Nagios4 у себе на сервері Ubuntu 20.04. У вас ці файли можуть називатись по іншому, або взагалі їх може не існувати. Тоді вже самі подивіться де у вас описуються сервіси та групи хостів.