اليوم في ٠٤:٥٠
صاحب الموضوع
Birçok web sitesi ve API, SSL sertifikalarıyla güvenli iletişim sağlar. Ancak, bu sertifikaların süresi dolmadan yenilenmesi veya güncellenmesi kritik öneme sahiptir. Python kullanarak SSL sertifika geçerlilik tarihlerini otomatik takip etmek, olası kesintilerin önüne geçmek ve güvenlik risklerini azaltmak açısından oldukça pratiktir.
Python ile SSL sertifika takibi yapmak, özellikle otomasyon ve düzenli denetim süreçleri için oldukça avantaj sağlar. En temel yöntem,
ssl ve
socket kütüphaneleriyle belirli bir alan adının sertifika bilgilerine ulaşmak ve geçerlilik süresini kontrol etmektir. Aşağıda, bu işlem için örnek bir kod parçası sunulmuştur:
123456789101112131415161718192021222324252627import ssl
import socket
from datetime import datetime
def sertifika_bilgisi(domain):
try:
context = ssl.create_default_context()
with socket.create_connection((domain, 443)) as sock:
with context.wrap_socket(sock, server_hostname=domain) as ssock:
cert = ssock.getpeercert()
return cert
except Exception as e:
print(f"Hata oluştu: {e}")
return None
domain = 'ornek.com'
cert = sertifika_bilgisi(domain)
if cert:
expiry_date_str = cert['notAfter']
expiry_date = datetime.strptime(expiry_date_str, '%b %d %H:%M:%S %Y %Z')
kalan_gun = (expiry_date - datetime.utcnow()).days
print(f"{domain} sertifikası {expiry_date} tarihinde sona eriyor.")
if kalan_gun < 30:
print("Uyarı: Sertifika yakında sona erecek, yenileme planı yapın.")
else:
print("Sertifika bilgisi alınamadı.")
Bu kod, belirli bir alan adının SSL sertifikasının geçerlilik tarihini alır ve kalan gün sayısını hesaplar. Otomasyon için bu script, belirli aralıklarla çalıştırılabilir veya e-posta ile bildirim gönderecek hale getirilebilir. Ayrıca, büyük ölçekli izleme sistemleri geliştirilirken, API kullanımı veya çok sayıda domain taraması gibi ek özellikler de entegre edilebilir.
SSL sertifikası süresi yaklaşan veya yenilenmiş olan siteleri düzenli olarak kontrol etmek, güvenlik ve erişilebilirlik açısından kritik bir uygulamadır. Bu noktada, Python’un sunduğu esneklik ve geniş kütüphane desteği, süreçleri önemli ölçüde kolaylaştırır ve otomatikleştirir.