Web sitenizin güvenliğini sağlamak ve kullanıcı verilerini korumak için SSL/TLS sertifikaları artık bir standart haline gelmiştir. Bu sertifikaları edinme sürecinin en temel ve ilk adımı ise Sertifika İmzalama İsteği, yani CSR (Certificate Signing Request) oluşturmaktır. CSR, basitçe sunucunuzun kimlik bilgilerini içeren, şifrelenmiş bir metin dosyasıdır. Bu dosya, Sertifika Yetkilisine (CA) kim olduğunuzu ve hangi alan adı için sertifika istediğinizi bildirir. Bu teknik makalede, CSR’nin ne olduğunu, nasıl oluşturulduğunu, hangi bilgileri içerdiğini ve SSL/TLS sertifika yaşam döngüsündeki kritik rolünü detaylı bir şekilde ele alacağız.
İçindekiler
ToggleCSR’nin Temel Kavramları
CSR, dijital sertifika altyapısının temel yapı taşlarından biridir. Bir web sunucusunun kimliğini doğrulamak ve güvenli bir iletişim kanalı (HTTPS) oluşturmak için gereken SSL/TLS sertifikasını talep etme sürecini resmen başlatır. Bu bölüm, CSR’nin ne olduğunu, sertifika sürecindeki yerini ve Açık Anahtar Altyapısı (PKI) ile olan ilişkisini açıklamaktadır.
CSR (Sertifika İmzalama İsteği) Nedir?
CSR (Certificate Signing Request), bir SSL/TLS sertifikası başvurusunda bulunan kişi veya kurumun kimlik bilgilerini ve sertifikanın ilişkilendirileceği açık anahtarı (public key) içeren, standartlaştırılmış ve kodlanmış bir metin bloğudur. Bu istek, sertifika talebinin resmi başlangıcıdır ve Sertifika Yetkilisi (CA) tarafından dijital sertifikanın oluşturulması için kullanılır. Özetle, “Benim kimlik bilgilerim ve açık anahtarım budur, lütfen bu bilgilere dayanarak benim için bir sertifika imzalayın” demenin teknik yoludur.
SSL/TLS Sertifika Sürecindeki Rolü ve Önemi
SSL/TLS sertifika süreci, bir CSR oluşturulmasıyla başlar. Sunucu yöneticisi, sunucu üzerinde bir anahtar çifti (özel ve açık anahtar) oluşturur. CSR, bu anahtar çiftinden gelen açık anahtarı ve kuruluşun kimlik bilgilerini içerir. Bu istek Sertifika Yetkilisine gönderildiğinde, CA bu bilgilerin doğruluğunu kontrol eder. Doğrulama başarılı olursa, CA kendi kök sertifikasıyla CSR’yi imzalar ve sonuç olarak SSL/TLS sertifikasını oluşturur. Bu sertifika daha sonra sunucuya yüklenir. CSR olmadan, CA’nın kimin için ve hangi anahtarla sertifika üreteceğini bilmesi mümkün değildir, bu nedenle süreçteki rolü vazgeçilmezdir.
Açık Anahtar Altyapısı (PKI) ile İlişkisi
Açık Anahtar Altyapısı (PKI), dijital kimlikleri güvenli bir şekilde yönetmek için kullanılan roller, politikalar, donanımlar, yazılımlar ve prosedürlerden oluşan bir sistemdir. CSR, bu altyapının merkezinde yer alır. PKI’nin temelini, asimetrik şifreleme olarak bilinen ve birbiriyle matematiksel olarak ilişkili bir açık ve bir özel anahtar çiftinin kullanıldığı yöntem oluşturur. CSR, sertifikalanacak olan açık anahtarı PKI’nin güvenilir bir unsuru olan Sertifika Yetkilisine (CA) taşıyan bir araçtır. CA, CSR’yi imzalayarak o açık anahtarın belirtilen kimliğe ait olduğunu onaylar ve onu PKI ekosisteminin güvenilir bir parçası haline getirir.
Bir CSR’nin İçerdiği Bilgiler
Bir CSR, Sertifika Yetkilisi’nin sertifikayı doğru bir şekilde oluşturabilmesi için gereken tüm kritik bilgileri yapılandırılmış bir formatta barındırır. Bu bilgilerin her biri, sertifikanın geçerliliği ve güvenilirliği için hayati öneme sahiptir. İşte bir CSR’nin içinde bulunan standart alanlar ve açıklamaları.
Ortak Ad (Common Name – CN) ve Önemi
Ortak Ad (Common Name), SSL sertifikasının güvence altına alacağı tam nitelikli alan adıdır (FQDN). Örneğin, “www.ihsteknoloji.com” veya “mail.ornekdomain.com” gibi. Kullanıcılar bir web sitesine tarayıcı üzerinden eriştiklerinde, tarayıcı adres çubuğundaki alan adı ile sertifikanın Ortak Ad’ının eşleşip eşleşmediğini kontrol eder. Eşleşme olmazsa, tarayıcı bir güvenlik uyarısı verir. Bu nedenle, CN alanının doğru ve eksiksiz girilmesi, sertifikanın düzgün çalışması için en kritik adımdır.
Kuruluş Bilgileri (Organization – O, Organizational Unit – OU)
Bu alanlar, sertifikanın sahibi olan kurum hakkında bilgi verir.
- Organization (O): Sertifika başvurusunda bulunan şirketin veya kuruluşun yasal adıdır. Örneğin, “IHS Teknoloji A.Ş.”.
- Organizational Unit (OU): Kuruluş içindeki belirli bir bölümü veya birimi ifade eder. “IT Departmanı”, “Güvenlik Birimi” veya “Pazarlama” gibi değerler alabilir. Bu alan genellikle isteğe bağlıdır.
Konum Bilgileri (Locality – L, State/Province – ST, Country – C)
Bu alanlar, kuruluşun coğrafi konumunu belirtir ve özellikle OV (Kuruluş Doğrulamalı) ve EV (Genişletilmiş Doğrulamalı) sertifikalar için önemlidir.
- Country (C): Kuruluşun yasal olarak kayıtlı olduğu ülkenin iki harfli ISO kodudur (Örn: TR).
- State/Province (ST): Kuruluşun bulunduğu eyalet veya şehirdir (Örn: İstanbul).
- Locality (L): Kuruluşun bulunduğu şehrin veya ilçenin adıdır (Örn: Şişli).
Açık Anahtar (Public Key)
CSR’nin en teknik ve temel bileşenidir. CSR oluşturulurken üretilen anahtar çiftinden (key pair) açık olanıdır. Sertifika Yetkilisi, bu açık anahtarı sertifikanın içine yerleştirir. Bir kullanıcı sunucuya bağlandığında, sunucu bu sertifikayı gönderir ve kullanıcının tarayıcısı, sertifikadaki açık anahtarı kullanarak sunucuya şifreli bilgi gönderir. Bu bilgi, sadece sunucuda saklanan özel anahtar (private key) ile çözülebilir.
Anahtar Boyutu ve Algoritma Bilgisi
CSR, içinde bulunan açık anahtarın hangi şifreleme algoritması (genellikle RSA, bazen ECC) kullanılarak oluşturulduğunu ve anahtarın bit cinsinden boyutunu (örn: 2048-bit, 4096-bit) belirtir. Günümüzde endüstri standardı olarak genellikle RSA 2048-bit veya daha üzeri kabul edilmektedir. Anahtar boyutu ne kadar büyük olursa, şifrelemenin kırılması o kadar zorlaşır ve güvenlik seviyesi artar.
CSR ve Özel Anahtar (Private Key) İlişkisi
CSR ve özel anahtar, birbirinden ayrılamaz iki kavramdır ve SSL sertifikasyon sürecinin temelini oluştururlar. Bu ilişki, asimetrik şifreleme prensiplerine dayanır ve güvenliğin temelini atar. CSR’nin varlık nedeni, özel anahtarın asla sunucudan ayrılmamasını sağlarken, açık anahtarın güvenli bir şekilde doğrulanmasını sağlamaktır.
Anahtar Çiftinin (Açık ve Özel Anahtar) Oluşturulması
CSR oluşturma sürecinin ilk adımı, sunucu üzerinde bir anahtar çifti (key pair) oluşturmaktır. Bu çift, matematiksel olarak birbirine bağlı bir adet özel anahtar (private key) ve bir adet açık anahtardan (public key) oluşur. Açık anahtar ile şifrelenen bir veri yalnızca ona karşılık gelen özel anahtar ile çözülebilir. Bu tek yönlü ilişki, güvenli iletişimin temelini oluşturur.
CSR’nin Özel Anahtar Kullanılarak Nasıl Oluşturulduğu
CSR, oluşturulan açık anahtarı ve kimlik bilgilerini içerir. Bu bilgilerin bütünlüğünü ve talebin gerçekten anahtar çiftinin sahibinden geldiğini kanıtlamak için, CSR oluşturulurken özel anahtar ile dijital olarak imzalanır. Sertifika Yetkilisi (CA), CSR’yi aldığında, içindeki açık anahtarı kullanarak bu imzayı doğrular. İmza geçerliyse, CA talebin meşru olduğunu ve bilgilerin yolda değiştirilmediğini anlar.
Özel Anahtarın Güvenliğinin Sağlanmasının Kritik Rolü
Özel anahtar, SSL/TLS güvenliğinin kalbidir. Bu anahtarın gizli kalması ve asla sunucu dışına çıkarılmaması gerekir. Eğer özel anahtar kötü niyetli birinin eline geçerse, sunucunuza gönderilen şifreli trafiği çözebilir, verileri okuyabilir ve kendisini sizin sunucunuz gibi tanıtarak sahtekarlık yapabilir. Bu nedenle, özel anahtarın dosya izinlerinin sıkı bir şekilde kontrol edilmesi ve yetkisiz erişime karşı korunması, genel siber güvenlik stratejisinin önemli bir parçasıdır.
Özel Anahtar Kaybolduğunda Yapılması Gerekenler
CSR’yi oluşturmak için kullanılan özel anahtar silinir veya kaybolursa, Sertifika Yetkilisinden alacağınız SSL sertifikası sunucuya kurulamaz. Çünkü sertifika, çalışabilmek için kendisine karşılık gelen özel anahtara ihtiyaç duyar. Bu durumda yapılması gereken tek şey, süreci en baştan başlatmaktır: yeni bir anahtar çifti oluşturmak, bu yeni çiftle yeni bir CSR oluşturmak ve Sertifika Yetkilisine başvurarak sertifikanın yeniden düzenlenmesini (re-issue) talep etmektir. Eski sertifika ve CSR artık kullanılamaz hale gelir.
CSR Oluşturma Süreci ve Yöntemleri
CSR oluşturmak için kullanılan yöntem, sunucunuzun türüne, işletim sistemine ve kullandığınız yönetim araçlarına göre değişiklik gösterebilir. Komut satırı araçlarından grafik arayüzlü kontrol panellerine kadar birçok farklı seçenek mevcuttur. Hangi yöntem seçilirse seçilsin, girilen bilgilerin doğruluğu esastır.
Web Sunucuları Üzerinde CSR Oluşturma
Doğrudan sunucu üzerinde CSR oluşturmak, en yaygın ve güvenli yöntemlerden biridir. Bu, özel anahtarın sunucudan hiç ayrılmamasını sağlar. Popüler web sunucuları için kullanılan bazı araçlar aşağıda açıklanmıştır.
OpenSSL Komut Satırı Aracı ile Oluşturma
OpenSSL, Linux ve Unix tabanlı sistemlerde (Apache, Nginx vb.) CSR oluşturmak için kullanılan standart komut satırı aracıdır. Tek bir komutla hem özel anahtarı hem de CSR’yi oluşturmak mümkündür. Örneğin: openssl req -new -newkey rsa:2048 -nodes -keyout sunucuadi.key -out sunucuadi.csr komutu, 2048-bit bir özel anahtar (sunucuadi.key) ve bir CSR dosyası (sunucuadi.csr) oluşturur.
Apache ve Nginx için CSR Örnekleri
Hem Apache hem de Nginx web sunucuları genellikle Linux tabanlı sistemlerde çalıştığı için CSR oluşturma sürecinde OpenSSL aracını kullanırlar. Yukarıda belirtilen OpenSSL komutu, bu sunucular için standart bir CSR oluşturma yöntemidir. Oluşturulan CSR ve özel anahtar dosyaları daha sonra sunucu yapılandırma dosyalarında belirtilen konumlara yerleştirilir.
Microsoft IIS Üzerinden CSR Oluşturma
Windows Server ve Microsoft IIS (Internet Information Services) kullanan yöneticiler için CSR oluşturma süreci grafik arayüz üzerinden gerçekleştirilir. IIS Manager açılarak “Server Certificates” bölümüne gidilir ve “Create Certificate Request” sihirbazı başlatılır. Bu sihirbaz, kullanıcıya Ortak Ad, kuruluş bilgileri, konum gibi gerekli tüm bilgileri adım adım sorar ve sürecin sonunda CSR dosyasını belirtilen konuma kaydeder. Özel anahtar, bu süreçte arka planda güvenli bir şekilde Windows sertifika deposuna kaydedilir.
Kontrol Panelleri (cPanel, Plesk vb.) Üzerinden CSR Oluşturma
Hosting hizmeti alan kullanıcılar için en kolay yöntemlerden biri, cPanel veya Plesk gibi web hosting kontrol panellerini kullanmaktır. Bu paneller, “SSL/TLS” veya “Security” bölümleri altında kullanıcı dostu arayüzler sunar. Kullanıcılar, gerekli bilgileri bir forma doldurarak kolayca CSR ve özel anahtar oluşturabilirler. Panel, genellikle oluşturulan anahtarı ve CSR’yi otomatik olarak ilgili alanlarda saklar, bu da süreci basitleştirir.
Çevrimiçi CSR Oluşturma Araçları ve Güvenlik Hususları
İnternette CSR oluşturan çeşitli web siteleri ve çevrimiçi araçlar bulunmaktadır. Bu araçlar hızlı bir çözüm sunsa da ciddi bir güvenlik riski taşırlar. CSR oluşturma işlemi sırasında özel anahtar da bu üçüncü taraf sunucularda oluşturulur. Bu durum, özel anahtarınızın gizliliğini tehlikeye atar. Bu nedenle, güvenlik açısından kritik olan özel anahtarın hiçbir zaman kontrolünüz dışındaki bir sistemde oluşturulmaması şiddetle tavsiye edilir. CSR her zaman sertifikanın kurulacağı sunucu üzerinde veya güvenli bir yerel makinede oluşturulmalıdır.
CSR Oluşturulduktan Sonraki Adımlar
CSR kodunu başarıyla oluşturduktan sonra, SSL sertifikasını elde etme ve kurma sürecinin sonraki aşamalarına geçilir. Bu adımlar, CSR’nin Sertifika Yetkilisine sunulmasından, doğrulama sürecinin tamamlanmasına ve nihayetinde sertifikanın sunucuya yüklenmesine kadar uzanır.
CSR Kodunun Anlaşılması ve Kopyalanması (PEM Formatı)
Oluşturulan CSR dosyası, genellikle PEM (Privacy Enhanced Mail) formatında, Base64 ile kodlanmış bir metin bloğudur. Bu dosya bir metin düzenleyici ile açıldığında, “—–BEGIN CERTIFICATE REQUEST—–” ile başlayan ve “—–END CERTIFICATE REQUEST—–” ile biten bir metin görülür. Sertifika Yetkilisi’ne başvuru yaparken, bu başlangıç ve bitiş satırları da dahil olmak üzere metnin tamamının eksiksiz olarak kopyalanması gerekir.
Sertifika Yetkilisine (CA) CSR’nin Sunulması
Satın alma işlemi sırasında, Sertifika Yetkilisi’nin web sitesindeki ilgili forma, kopyaladığınız CSR kodunu yapıştırmanız istenecektir. CA, bu kodu çözümleyerek içindeki Ortak Ad, kuruluş bilgileri ve açık anahtar gibi verileri otomatik olarak alacaktır. Bu, başvurunuzun temelini oluşturur ve sertifikanın hangi alan adı ve hangi anahtar için oluşturulacağını belirler.
Doğrulama (Validation) Süreci
CSR’yi gönderdikten sonra, CA başvurduğunuz sertifika türüne (DV, OV, EV) bağlı olarak bir doğrulama süreci başlatır.
- Domain Validation (DV): En basit seviyedir. CA, alan adının kontrolünün sizde olduğunu e-posta, DNS kaydı veya dosyası yükleme gibi yöntemlerle doğrular.
- Organization Validation (OV): DV’ye ek olarak, kuruluşunuzun yasal varlığını ve iletişim bilgilerini doğrular.
- Extended Validation (EV): En sıkı doğrulama seviyesidir. Kuruluşun fiziksel ve yasal varlığına dair detaylı bir inceleme yapılır.
SSL Sertifikasının Alınması ve Kurulumu
Doğrulama süreci başarıyla tamamlandığında, Sertifika Yetkilisi size SSL sertifikanızı (genellikle .crt veya .cer uzantılı bir dosya) ve varsa ara sertifikaları (intermediate certificates) e-posta yoluyla veya kontrol panelinden indirilebilir şekilde sunar. Bu sertifika dosyalarını sunucunuza yüklemeniz ve web sunucunuzu (Apache, Nginx, IIS vb.) bu sertifikaları kullanacak şekilde yapılandırmanız gerekir. Bu adım, CSR oluşturulurken üretilen ve sunucunuzda saklanan özel anahtar ile sertifikanın eşleştirilmesini içerir.
Farklı Sertifika Türleri için CSR Gereksinimleri
Tüm SSL sertifikaları bir CSR gerektirse de, talep edilen sertifikanın türüne göre CSR’nin, özellikle de Ortak Ad (Common Name) alanının nasıl doldurulacağı konusunda bazı farklılıklar vardır. Doğru sertifika türü için doğru CSR’yi oluşturmak, kurulumun sorunsuz olması için kritiktir.
Tek Alan Adı (Single Domain) Sertifikası için CSR
Bu en temel sertifika türüdür ve yalnızca tek bir tam nitelikli alan adını (FQDN) güvence altına alır. Bu tür bir sertifika için CSR oluştururken, Ortak Ad (CN) alanına sertifikanın korunacağı tam adres yazılmalıdır. Örneğin, “www.ihsteknoloji.com” için bir sertifika isteniyorsa, CN alanına “www.ihsteknoloji.com” girilmelidir. Bu sertifika “blog.ihsteknoloji.com” veya sadece “ihsteknoloji.com” (eğer SAN desteği yoksa) gibi başka bir adreste çalışmayacaktır.
Wildcard (*.domain.com) Sertifikası için CSR
Wildcard sertifikaları, belirli bir alan adının tüm alt alan adlarını (subdomain) tek bir sertifika ile güvence altına almak için kullanılır. Wildcard sertifikası için CSR oluştururken, Ortak Ad alanına alt alan adı kısmını temsil eden bir yıldız (*) işareti konulur. Örneğin, “blog.ihsteknoloji.com”, “mail.ihsteknoloji.com”, “shop.ihsteknoloji.com” gibi tüm alt alan adlarını korumak için CN alanına “*.ihsteknoloji.com” yazılmalıdır. Bu sertifika, ana Domain olan “ihsteknoloji.com” adresini (yıldızsız halini) de genellikle SAN (Subject Alternative Name) alanına eklenerek korur.
Çoklu Alan Adı (Multi-Domain/SAN) Sertifikası için CSR
Çoklu Alan Adı (Multi-Domain veya SAN – Subject Alternative Name) sertifikaları, tek bir sertifika ile birden fazla farklı alan adını güvence altına alma esnekliği sunar. Bu tür bir sertifika için CSR oluşturulurken, Ortak Ad (CN) alanına birincil alan adı (örneğin, “www.sitebir.com”) yazılır. Diğer tüm alan adları (örneğin, “www.siteiki.net”, “mail.siteuc.org”, “*.sitedort.com”) ise CSR oluşturma sürecinde veya sertifika siparişi sırasında SAN alanlarına eklenir. Modern CSR oluşturma araçları, bu SAN alanlarını doğrudan CSR’ye eklemeye izin verir.
Sık Yapılan Hatalar ve Dikkat Edilmesi Gerekenler
CSR oluşturma ve SSL sertifikası kurulum süreci teknik detaylar içerdiği için bazı yaygın hatalarla karşılaşılabilir. Bu hatalardan kaçınmak, sürecin hızlı ve sorunsuz ilerlemesini sağlar. İşte en sık yapılan hatalar ve bunlardan kaçınmak için dikkat edilmesi gerekenler.
Ortak Ad (Common Name) Alanının Yanlış Doldurulması
En sık yapılan hatalardan biridir. Kullanıcılar genellikle “www” önekini eklemeyi unutur veya tam tersi, sadece “alanadi.com” için geçerli olacak bir sertifika için “www.alanadi.com” yazar. Tarayıcı, adres çubuğundaki URL ile sertifikanın Ortak Ad’ını tam olarak eşleştirmeye çalışır. Bu nedenle, web sitenizin hangi adreste hizmet vereceği kesin olarak belirlenmeli ve CN alanı buna göre doldurulmalıdır. Çoğu CA, “www” ile girilen bir CN için ana alan adını da (veya tam tersi) SAN olarak ekleyerek bu sorunu hafifletir, ancak en doğrusu baştan doğru girmektir.
CSR Oluşturulduktan Sonra Özel Anahtarın Kaybedilmesi
CSR oluşturulurken üretilen özel anahtar, alınan sertifikanın çalışması için zorunludur. Eğer bu anahtar dosyası silinir, üzerine yazılır veya kaybedilirse, gelen sertifika kurulamaz ve işe yaramaz hale gelir. Bu durumda tek çözüm, yeni bir anahtar çifti ve yeni bir CSR oluşturarak sertifikayı yeniden talep etmektir. Özel anahtarın her zaman güvenli bir yerde yedeklenmesi kritik öneme sahiptir.
Geçersiz veya Eksik Bilgi Girilmesi
CSR oluşturulurken girilen Kuruluş (O), Ülke (C), Şehir (L) gibi bilgilerin doğru ve geçerli olması gerekir. Özellikle OV ve EV sertifikalar için Sertifika Yetkilisi bu bilgileri resmi kayıtlarla karşılaştırarak doğrular. Bilgilerde tutarsızlık olması, doğrulama sürecinin uzamasına veya başarısız olmasına neden olabilir. Ayrıca, “.,!@#&” gibi özel karakterlerin, izin verilen alanlar dışında kullanılması CSR’nin geçersiz sayılmasına yol açabilir.
CSR ve Sertifika Kurulumu Arasındaki Tutarsızlıklar
Bazen yöneticiler birden fazla CSR oluşturur ve hangisini CA’ya gönderdiklerini karıştırabilirler. CA’ya gönderilen CSR’ye ait olmayan bir özel anahtar ile sertifikayı kurmaya çalışmak başarısız olacaktır. Çünkü sertifika, yalnızca kendisiyle ilişkili olan (CSR’nin imzalandığı) özel anahtar ile çalışır. Bu nedenle, her CSR ve özel anahtar çiftinin, ilgili alan adıyla ilişkilendirilerek düzenli bir şekilde saklanması önemlidir. Aynı şekilde, sertifika yenileme süreçlerinde yeni bir CSR oluşturulması genellikle en iyi uygulamadır; eski bir CSR’nin tekrar kullanılması kafa karışıklığına yol açabilir.

