Nagios ile sertifika izleme, check_http eklentisindeki sertifika bitiş kontrolü sayesinde kolayca kurulur. Eşik değerleri gün cinsindendir ve uyarı/kritik seviyelerini ayrı belirtirsiniz.
Temel kontrol komutu
/usr/lib/nagios/plugins/check_http -H example.com -S -C 30,14
-S TLS kullanır, -C 30,14 ise sertifikanın bitimine 30 günden az kaldığında uyarı, 14 günden az kaldığında kritik durum üretir. Eklenti yolu dağıtıma göre değişir (/usr/lib64/nagios/plugins gibi).
Nagios yapılandırması
define command {
command_name check_ssl_expiry
command_line $USER1$/check_http -H $HOSTNAME$ -S -C $ARG1$,$ARG2$
}
define service {
use generic-service
host_name web01
service_description SSL Sertifika
check_command check_ssl_expiry!30!14
check_interval 1440
}
Kontrol sıklığı dakikadır; 1440 günde bir denemeye karşılık gelir. Sertifikalar için sık kontrol gerekmez.
Sunucu adı ve SNI
Aynı IP üzerinde birden çok site varsa --sni seçeneğiyle doğru sertifikanın okunmasını sağlayın:
check_http -H example.com -I 203.0.113.10 --sni -S -C 30,14
Sorun giderme
- "certificate expired" görünüyor ama yenilediniz: uç noktanın arkasında yük dengeleyicide eski sertifika kalmış olabilir.
- Zaman aşımı: güvenlik duvarının izleme sunucusundan 443'e izin verdiğini doğrulayın.
- Yanlış sertifika: SNI olmadan varsayılan site sertifikası dönebilir.
İpuçları
- Sertifika kontrolünü ayrı bir servis olarak tanımlayın; HTTP yanıt kontrolüyle karıştırmayın.
- Bildirim kanalını (e-posta, SMS, sohbet) ortak gruba yönlendirin.
- Tüm alan adlarını bir host grubunda toplayıp kapsamı kolay denetleyin.
Sonuçları harici bir gözle doğrulamak için SSL kontrol aracını kullanabilirsiniz.
Bildirimlerin doğru kişiye gitmesi
Nagios'ta iletişim grubu tanımlayıp servise contact_groups olarak bağlayın. Uyarı ve kritik bildirimleri farklı kanallara yönlendirebilirsiniz: uyarılar e-postaya, kritikler sohbet uygulaması veya SMS geçidine. Bakım pencerelerinde yanlış alarm oluşmaması için planlı kesinti (downtime) tanımlamayı da unutmayın.