SSL sertifikaları, web sitelerinin güvenli iletişim kurmasını sağlayan kritik unsurlardır. Ancak, bu sertifikaların geçerliliği ve süresi düzenli olarak kontrol edilmediğinde, sitenizin güvenlik durumu tehlikeye girebilir. Bu nedenle, sunucu üzerinde SSL sertifikalarının durumunu otomatik olarak kontrol eden scriptler geliştirmek, sistem yöneticileri ve güvenlik uzmanları için önemli bir ihtiyaç haline gelir.
Bir SSL sertifika kontrol scripti, temel olarak şu adımları izler: öncelikle, hedef sunucunun SSL portuna (genellikle 443) bağlanır ve sertifikayı çeker. Ardından, sertifikanın geçerlilik süresi, imzalayan otorite ve revizyon durumu gibi bilgileri analiz eder. Bu işlemi Python gibi güçlü ve erişilebilir dillerde yapmak, hem güvenilirlik hem de kolay bakım açısından avantaj sağlar.
Örneğin, Python'da
ssl ve
socket modüllerini kullanarak aşağıdaki gibi bir kontrol scripti yazabilirsiniz:
1234567891011121314151617181920python
import socket
import ssl
from datetime import datetime
def ssl_cert_check(host, port=443):
context = ssl.create_default_context()
with socket.create_connection((host, port)) as sock:
with context.wrap_socket(sock, server_hostname=host) as ssock:
cert = ssock.getpeercert()
not_after = cert['notAfter']
expiry_date = datetime.strptime(not_after, '%b %d %H:%M:%S %Y %Z')
remaining = expiry_date - datetime.utcnow()
if remaining.days < 30:
print(f"Uyarı: Sertifika {host} üzerinde 30 günden az sürede geçerliliğini yitirecek.")
else:
print(f"{host} sertifikası geçerliliği devam ediyor. Kalan gün: {remaining.days}")
[b]Kullanım örneği[/b]
ssl_cert_check('ornek.com')
Bu script, belirli bir host için sertifika süresini kontrol eder ve kalan gün sayısına göre uyarı verir. Ayrıca, genişletilebilirliği sayesinde, birden fazla siteyi liste halinde kontrol etmek veya sonuçları dosyaya kaydetmek gibi fonksiyonlar eklenebilir.
Güvenlik ve süre yönetimi açısından, otomatik kontrol scriptleri, özellikle büyük altyapılarda, düzenli zamanlanmış görevler (cron gibi) ile çalıştırılarak sertifika süreleri önceden tespit edilip yenileme planlaması yapılabilir.
Sizlerin de bu tür scriptleri kullanma veya geliştirme konusunda deneyimleriniz veya önerileriniz varsa, detaylı paylaşımlarda bulunabilirsiniz.