bg-tutorials

Ubuntu’da CSR Nasıl Oluşturulur

Bu eğitimde, özellikle SSH üzerinden erişilen Ubuntu tabanlı bir Apache sunucusunda Ubuntu’da nasıl CSR oluşturulacağını göstereceğiz. Ubuntu bu işlem için OpenSSL kullanır, dolayısıyla tek bir komutla iki şey çalıştırırsınız: yeni bir özel anahtar ve buna karşılık gelen CSR (Sertifika İmzalama İsteği). Konu detaylarını bayrak (flag) olarak belirtebilirsiniz, bu da tüm işlemi kopyala-yapıştır yapılabilecek tek bir satıra indirir.

Aşağıdaki adımlar, desteklenen her Ubuntu sürümünde (22.04, 24.04 ve 26.04 LTS) çalışır, çünkü her biri OpenSSL 3.x ile birlikte gelir. Ayrıca OpenSSL 1.1.1 ile gelen 20.04 gibi daha eski sürümlerde de çalışır, ancak 20.04 standart destek süresinin sonuna ulaşmıştır. Modern OpenSSL, isteği varsayılan olarak SHA-256 ile imzalar, bu nedenle bir özet (digest) bayrağı eklemenize gerek yoktur.

Adım 1: Ubuntu sunucunuza erişin

Yerel makinenizden (macOS veya Linux’ta Terminal, Windows’ta PowerShell veya Windows Terminal) SSH üzerinden sunucuya bağlanın. Kullanıcı adını ve host adını kendinizinkiyle değiştirin:

ssh your-user@your-ubuntu-server

CSR’yi, sertifikayı barındıracak aynı sunucuda oluşturun. Özel anahtar, CSR’nin yanında oluşturulur ve o sunucuda kalmalıdır, bu nedenle bu komutları yerel olarak çalıştırıp ardından anahtarı başka yere kopyalamak amacına aykırıdır.

Adım 2: Özel anahtarı ve CSR’yi oluşturun

Aşağıdaki komutu çalıştırın. Bu komut, konu (subject) ve Konu Alternatif Adları’nı (SAN’ler) satır içinde sağlayarak OpenSSL’nin soru sormak için durmasını önleyerek tek bir adımda 2048 bit’lik bir RSA anahtarı ve bir CSR oluşturur:

openssl req -new -newkey rsa:2048 -nodes 
-keyout yourdomain.key 
-out yourdomain.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com" 
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Her bir kısmın işlevi şu şekildedir:

  • -newkey rsa:2048 yeni bir 2048 bit’lik RSA anahtarı oluşturur. 2048 bit, genel sertifikalar için mevcut minimum değerdir; daha büyük bir anahtar için rsa:4096 kullanabilir veya ECDSA’ya geçebilirsiniz (aşağıya bakın).
  • -nodes özel anahtarı şifrelenmemiş bırakır, böylece Apache başlangıçta bir parola istemi olmadan bu anahtarı okuyabilir.
  • -keyout ve -out özel anahtar ve CSR dosyalarını adlandırır.
  • -subj sertifikanın konusunu sağlar. Buraya yer tutucuları değil, gerçek şirket adınızı, eyaletinizi ve şehrinizi yazın. CN (Ortak Ad – Common Name) birincil alan adınızdır.
  • -addext “subjectAltName=…” sertifikanın kapsaması gereken her ana bilgisayar adını (hostname) listeler. Genel CA’lar SAN listesine göre doğrulama yapar, bu nedenle Ortak Adı da buraya ekleyin.

yourdomain.com ifadesini her yerde kendi gerçek alan adınızla değiştirin. Ek ana bilgisayar adlarını kapsamak için, bunları virgülle ayırarak SAN listesine ekleyin, örneğin DNS:api.yourdomain.com. Bir joker karakter (wildcard) için, hem joker karakteri hem de sade alan adını dahil edin: DNS:*.yourdomain.com,DNS:yourdomain.com.

ECDSA anahtarını (daha küçük ve daha hızlı, P-256 yaygın olarak desteklenir) tercih ediyorsanız, anahtarı ve CSR’yi bunun yerine şöyle oluşturun:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes 
-keyout yourdomain.key 
-out yourdomain.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com" 
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Adım 3: Dosyalarınızı bulun

Her iki dosyanın da oluşturulduğunu doğrulamak için mevcut dizini listeleyin:

ls

İki yeni dosya görmelisiniz:

  • yourdomain.key: özel anahtarınız. Bunu sunucuda tutun, güvenli bir şekilde yedekleyin ve Sertifika Otoritesi de dahil olmak üzere hiç kimseye göndermeyin. Bu anahtara sahip olan kişi sitenizi taklit edebilir.
  • yourdomain.csr: Sertifika İmzalama İsteğiniz. Bu, SSL sağlayıcınıza gönderdiğiniz dosyadır.

Adım 4: CSR’yi doğrulayın (isteğe bağlı ama önerilir)

Göndermeden önce, CSR’nin doğru konuyu ve SAN’leri içerdiğini ve imzasının geçerli olduğunu kontrol edin. Bu komut, isteği yerel olarak OpenSSL ile çözümler:

openssl req -noout -text -verify -in yourdomain.csr

Subject satırının bilgilerinizi gösterdiğini, X509v3 Subject Alternative Name‘in beklediğiniz her ana bilgisayar adını listelediğini ve imza kontrolünün verify OK yazdığını doğrulayın. İmza algoritması sha256WithRSAEncryption (veya ECDSA anahtar için ecdsa-with-SHA256) şeklinde okunmalıdır. Komut satırını kullanmak istemiyorsanız, aynı alanları bir tarayıcıda okumak için CSR’yi çevrimiçi CSR çözücümüze yapıştırabilirsiniz.

Adım 5: CSR’nizi gönderin

Siparişiniz için CSR’yi kopyalamak amacıyla içeriğini yazdırın:

cat yourdomain.csr

Bunun gibi bir metin bloğu göreceksiniz:

-----BEGIN CERTIFICATE REQUEST-----
MIIBozCB... (a long string of characters)
-----END CERTIFICATE REQUEST-----

Bloğun tamamını, —–BEGIN CERTIFICATE REQUEST—– ve —–END CERTIFICATE REQUEST—– satırları dahil olmak üzere kopyalayın (her işaretçinin her iki yanında beş tire bulunur). Bu bloğun tamamı sizin CSR’nizdir. Satın alma işleminiz sırasında bunu sipariş formuna yapıştırın ve eşleşen özel anahtarı sunucuda yerinde tutun.

Komut satırını kullanmak istemiyorsanız, isteği çevrimiçi CSR Oluşturucumuz ile de oluşturabilirsiniz. Unutmayın, bu araç özel anahtarı tarayıcınızda oluşturur, bu nedenle bu anahtarı kendiniz kaydedip sunucuya taşımanız gerekir.

CA’nız CSR’yi doğruladıktan ve sertifikayı verdikten sonra, Ubuntu SSL kurulum talimatlarına geçin.

Bugün SSL Dragon’dan sipariş vererek SSL Sertifikalarında %10 indirimden yararlanın!

Hızlı düzenleme, güçlü şifreleme, %99,99 tarayıcı güvenilirliği, özel destek ve 25 günlük para iade garantisi. Kupon kodu: SAVE10

A detailed image of a dragon in flight
Tarafından yazıldı

SSL Sertifikaları konusunda uzmanlaşmış deneyimli içerik yazarı. Karmaşık siber güvenlik konularını açık, ilgi çekici içeriğe dönüştürmek. Etkili anlatımlar yoluyla dijital güvenliğin geliştirilmesine katkıda bulunun.