Головна

Моніторинг сертифіката сайта за допомогою Nagios

При наявності сайта виникає потреба контролювати правильність та строк валідності сертифіката. Якщо я вже використовую 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. У вас ці файли можуть називатись по іншому, або взагалі їх може не існувати. Тоді вже самі подивіться де у вас описуються сервіси та групи хостів.

 

Завантажити скрипт