Autor del tema
#1
OpenSSL ile Sertifika Bitiş Tarihini Kontrol Etme
Giriş ve temel düşünce
Yöntem 1: Dosya üzerinden sertifika süresi kontrolü
Yöntem 2: Sunucuya bağlanıp sertifika süresini kontrol etme
Yöntem 3: Otomatik zaman damgası ve uyarı senaryoları
Kapanış
Bu yöntemler, sertifika yönetimini basit ama etkili biçimde otomatikleştirmek için yeterlidir. Farklı kurulumlarda DER-ile PEM dönüşümünü ve Sunucu tarafı doğrulamayı birleştirmek, güvenilir bir süreci sağlar.
Birçok hizmetin güvenliğini sürdürebilmek için kullandığınız sertifikaların bitiş tarihlerini düzenli olarak kontrol etmek kritik öneme sahiptir. Aşağıda, OpenSSL aracıyla sertifika süresini hem dosya üzerinden hem de ağ üzerinden güvenli ve pratik şekilde nasıl doğrulayabileceğinizi adım adım anlatıyorum.
Giriş ve temel düşünce
- Sertifika süresi, resmî bir kimlik doğrulama mekanizmasıdır; bitiş tarihi geçmiş sertifikalar güvenlik riskleri doğurur.
- OpenSSL, sertifika imzasında kullanılan anahtar ve uzantılar hakkında bilgi verirken, geçerlilik süresiyle ilgili net bir özet de sunar.
- Kontrol süreci, üç tip kaynaktan yapılabilir: (1) dosyada bulunan PEM/DER sertifikası, (2) bir sunucudan-uzaktaki TLS bağlantısı üzerinden alınan sertifika, (3) bir sertifika zincirinin bütünlüğünü incelemek.
Yöntem 1: Dosya üzerinden sertifika süresi kontrolü
- Dosya türü PEM veya DER olabilir.
- PEM için: openssl x509 -in cert.pem -noout -dates komutu, başlangıç ve bitiş tarihlerini verir.
- DER için önce dönüştürme gerekebilir: openssl x509 -in cert.der -inform DER -noout -dates.
- Örnek çıktıda not edilmeli: notBefore=YYYYMMDDHHMMSSZ, notAfter=YYYYMMDDHHMMSSZ.
- Bitiş tarihiyle bugün arasındaki farkı insan okunabilir şekilde görmek için shell komutları da eklenebilir: openssl x509 -in cert.pem -noout -dates | sed -n 's/notAfter=//p'.
Yöntem 2: Sunucuya bağlanıp sertifika süresini kontrol etme
- TLS el sıkışmasıyla alınan ilk sertifika üzerinde çalışır.
- Basit örnek: openssl s_client -servername example.com -connect example.com:443 < /dev/null 2>/dev/null | openssl x509 -noout -dates
- Bu çıktı, sunucunun mevcut sertifikasının geçerlilik süresini gösterir.
- İncelemek için notBefore ve notAfter tarihlerini karşılaştırabilir veya notAfter değerini epoch’a çevirip mevcut tarih ile karşılaştırabilirsiniz.
- Güvenlik için sertifika zinciri bütünlüğünün de doğrulanması gerekir: openssl s_client -servername example.com -connect example.com:443 -verify_return_error -tls1_2 < /dev/null
Yöntem 3: Otomatik zaman damgası ve uyarı senaryoları
- Cron veya benzeri zamanlayıcıyla periyodik kontrol yazın.
- certbot veya cron ile hatırlatma yerine, notAfter’tan X gün önce bir uyarı üretmek mantıklıdır.
- Örnek betik (fikir vermesi için pseudocode):
- Extract notAfter from cert.pem
- If notAfter < (today + 30 days) then log alert
- Kontrol edilecek net bir politika belirlemek, yanlış alarmı azaltır.
Kapanış
Bu yöntemler, sertifika yönetimini basit ama etkili biçimde otomatikleştirmek için yeterlidir. Farklı kurulumlarda DER-ile PEM dönüşümünü ve Sunucu tarafı doğrulamayı birleştirmek, güvenilir bir süreci sağlar.
