Sağlık kontrolü (health check), sertifikanın yalnızca bitiş tarihine değil, bağlantının bütün TLS yapılandırmasına bakar. Otomasyon, bu kontrolleri her dağıtımdan sonra ve belirli aralıklarla tekrarlanabilir hale getirir.
Kontrol kapsamı
- Sertifika geçerliliği ve kalan süre.
- Zincir doğrulaması ve ara sertifika varlığı.
- Alan adı/SAN uyumu.
- Desteklenen protokoller (TLS 1.2/1.3) ve eski protokollerin kapalı olması.
- HTTP'den HTTPS'e yönlendirme ve HSTS başlığı.
Temel betik
#!/bin/bash
H="ornek.com"
# Zincir ve ad doğrulama: hata varsa sıfır olmayan kod döner
openssl s_client -connect $H:443 -servername $H -verify_hostname $H \
-verify_return_error </dev/null >/dev/null 2>&1 || echo "ZINCIR/AD HATASI"
# Süre
echo | openssl s_client -connect $H:443 -servername $H 2>/dev/null \
| openssl x509 -noout -checkend 1209600 || echo "14 GUNDEN AZ KALDI"
# Yönlendirme ve HSTS
curl -sI http://$H/ | grep -i '^location: https'
curl -sI https://$H/ | grep -i strict-transport-security
Daha kapsamlı araçlar
testssl.sh gibi açık kaynak araçlar protokol, cipher ve bilinen zafiyetleri raporlar. Çıktısını makine tarafından okunabilir biçimde (JSON) alıp CI/CD hattında eşik değerine göre başarısız saydırabilirsiniz.
Otomasyona yerleştirme
- Dağıtım hattının son adımı olarak çalıştırın.
- Zamanlanmış (cron veya CI schedule) bir iş ile günlük çalıştırın.
- Başarısızlığı ekip kanalına bildirin.
Uyarılar
- Kendi sunucularınız dışındaki alan adlarını izinsiz taramayın.
- Sık tarama yapıp hız sınırlayıcılara takılmayın.
- Yanlış alarm oranını düşürmek için iki ardışık başarısızlıkta bildirin.
Sonuçları görsel olarak görmek için SSL kontrol aracını, sorun teşhisi için SSL sorun giderme sayfasını kullanabilirsiniz.