- Konu sahibi
- #1
SSL private key nedir?
SSL private key, bir alan adının HTTPS bağlantısında sunucunun kimliğini kanıtlamak ve TLS trafiğinin güvenli şekilde kurulmasına yardımcı olmak için kullanılan gizli kriptografik anahtardır. Bu anahtar sertifikayla birlikte çalışır; sertifika paylaşılabilir, ancak private key yetkisiz kişilerle paylaşılmamalı veya herkese açık bir klasörde tutulmamalıdır.
SSL adı yaygın olsa da günümüzde web bağlantılarında kullanılan protokol TLS'dir. “SSL private key” ifadesi genellikle TLS sertifikasının özel anahtarını anlatır.
Nasıl çalışır?
Bir sertifika edinirken genellikle bir anahtar çifti oluşturulur:
- Private key: Sunucuda gizli tutulur. Sertifika isteği oluşturulurken kullanılır ve sunucunun gerçekten ilgili alan adına ait anahtara sahip olduğunu kanıtlar.
- Public key: Sertifikanın içinde bulunur ve istemcilerle paylaşılabilir.
Tarayıcı siteye bağlandığında sunucunun sertifikasını ve sertifikadaki alan adını kontrol eder. Sunucu, private key'e sahip olduğunu kriptografik olarak kanıtlayınca güvenli TLS oturumu kurulabilir. Private key, normalde web sayfasına gönderilen verinin içinde bulunmaz; sunucunun kimlik doğrulama işleminin gizli parçasıdır.
Sertifika dosyası ile private key aynı şey değildir. Sertifika, alan adı ve sertifika otoritesi bilgilerini içeren doğrulanabilir belgedir. Private key ise bu sertifikayla eşleşen gizli anahtardır.
Somut örnek
Varsayımsal olarak
example.com için bir sunucuda example.com.key adlı private key ve example.com.crt adlı sertifika bulunduğunu düşünün. Web sunucusu sertifikayı sunarken aynı sertifikaya ait private key'i de kullanmalıdır.Anahtar sertifikadaki açık anahtarla eşleşmiyorsa, sertifika süresi geçerli olsa bile bu dosyalar doğru çift olarak kullanılamaz. Özel anahtarın içinde ona bağlı bir alan adı listesi bulunması gerekmez; alan adı kapsamı sertifikada belirlenir. Sertifika yenilendiğinde aynı private key yeniden kullanılabilir veya yeni bir anahtar çifti oluşturulabilir; önemli olan sunucuya yüklenen sertifikanın seçilen private key ile eşleşmesidir.
Dosyaları ayırt etme ve doğru kararı verme
Dosya uzantısı tek başına güvenilir değildir. İçeriğin başındaki PEM etiketleri fikir verebilir:
Kod:
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
Bazı anahtarlar
BEGIN RSA PRIVATE KEY veya benzeri bir etiket kullanabilir. Sertifika dosyaları ise genellikle BEGIN CERTIFICATE etiketiyle başlar. Bir private key'i metin düzenleyicide açıp içeriğini kopyalamayın veya destek talebinde açık biçimde paylaşmayın.| Öğe | Görevi | Paylaşım | Eksik veya hatalıysa |
|---|---|---|---|
| Private key | Gizli kriptografik kimlik kanıtı | Yalnız yetkili ve korunan sistemler | TLS kurulumu başarısız olabilir; sızıntıda yeni anahtar gerekir |
| Sertifika | Kimlik ve açık anahtar bilgisi | Açık olarak sunulur | Kimlik doğrulama veya güven zinciri sorunu oluşabilir |
| CSR | Sertifika talep bilgisi ve açık anahtar | Düzenleyen yetkili hizmete gönderilir | Sertifika talebi tamamlanamayabilir |
Bu ayrım, hosting panelinde “Certificate”, “Private Key” ve “CSR” alanlarının neden ayrı olduğunu açıklar. Sertifika yükleniyor ancak private key eşleşmiyorsa kurulum tamamlanmayabilir.
Private key ile çalışırken uygulanacak adımlar
- Sertifika kurulacak sunucuda ilgili alan adı için mevcut sertifika, private key ve varsa sertifika zinciri dosyalarını belirleyin.
- Private key'in sertifika ile eşleştiğini hosting panelinin doğrulama özelliğiyle veya sunucu yönetim aracının sağladığı kontrolle doğrulayın. Eşleşme yoksa rastgele dosyaları birleştirmeyin; doğru anahtarı bulun veya yeni CSR ve anahtar çifti oluşturun.
- Anahtarı yalnızca web sunucusunun ihtiyaç duyduğu güvenli konumda tutun. Web kök dizinine, herkese açık dosya depolarına, hata kayıtlarına veya sürüm kontrol deposuna koymayın.
- Kurulumdan sonra alan adını HTTPS üzerinden test edin. Sertifika sunuluyor fakat private key hatası alınıyorsa dosya eşleşmesini, dosya biçimini ve sunucunun anahtarı okuma yetkisini kontrol edin.
- Private key'in sızdığından şüpheleniyorsanız eski anahtarı kullanmaya devam etmeyin. Yeni bir anahtar çifti ve buna bağlı sertifika oluşturup sunucuda değiştirin; sızan anahtarla ilişkili eski sertifikanın iptalini sağlayıcınızın prosedürüne göre yürütün. Örneğin Let’s Encrypt, anahtar ele geçirilmesinde sertifika iptalini gerekli görür.
Private key'in kaybolması da önemlidir: Sertifika geçerli olsa bile aynı anahtar olmadan sertifika sunucuda kullanılamaz. Yedeği şifreli ve erişimi sınırlı bir yerde tutmak, ancak yedeğin gerçekten korunmasını sağlamak gerekir. Anahtar parolalıysa parola kaybedildiğinde sunucunun beklediği biçimde kullanılamayabilir.
Sık yapılan hatalar
Sertifikayı gizli sanmak: Sertifika çoğu TLS bağlantısında istemciye gönderilir; gizli tutulması gereken dosya private key'dir.
Private key'i e-posta veya destek biletiyle göndermek: Bu, anahtarın kontrol dışı kopyalarının oluşmasına neden olur. Sorun çözümü için sertifikayı paylaşmak yeterli olabilir; private key gerekiyorsa güvenli ve yetkili bir aktarım yöntemi kullanılmalıdır.
Yalnızca dosya adına güvenmek:
.key uzantısı doğru anahtar olduğunu kanıtlamaz. Sertifika ile eşleşme kontrol edilmelidir.Sık sorulan sorular
Sertifika veya CSR’den kaybolan private key geri çıkarılabilir mi?
Bunlar açık anahtar bilgisi taşır; kayıp özel anahtarın yedeği değildir. Güvenli bir yedek yoksa yeni anahtar üretip ona uygun yeni sertifika edinme yoluna gidilir. Bir kurtarma sitesi istedi diye sertifika yönetim hesabı veya sunucu parolasını paylaşmayın.
Özel anahtar sızıntısı geçmiş bütün HTTPS trafiğini açar mı?
Sonuç kullanılan TLS/anahtar değişimi ve başka hangi sırların ele geçirildiğine bağlıdır. İleri gizlilik sağlayan güncel akışlarda yalnız uzun ömürlü sertifika anahtarının sonradan çalınması, geçmiş oturum anahtarlarını otomatik olarak vermez. Bu özellik yine de sızan anahtarı kullanmaya devam etme gerekçesi değildir.