OpenSSL ile CSR Oluşturma: Adım Adım Pratik Rehber

0 Antworten 3 Aufrufe
Bewertende
Teilnehmer
Themenersteller #1
OpenSSL ile CSR Oluşturma: Adım Adım Pratik Rehber

İnternet üzerinden sunucuya güvenli iletişim kurmak istiyorsanız, CSR (Certificate Signing Request) hazırlama ilk adımlardan biridir. CSR, sertifika otoritesine (CA) sunulacak, hangi alan adlarını kapsadığı, kuruluş bilgileri ve iletişim adresi gibi bilgileri içeren bir taleptir. Aşağıda temel kurulumdan, doğru alan adları ve anahtar tipine kadar her şeyi somut örneklerle ele alıyorum.

Birincil kavramlar ve ön şartlar
  • CSR’nin amacı, bir özel anahtar (private key) ile birlikte, hangi alan adlarını kapsadığı (CN ve alternatif adlar SAN olarak), kurumsal bilgiler gibi verileri CA’ya iletmektir.
  • CSR, bir anahtar çiftinin parçalarıdır: özel anahtar asla paylaşılmamalıdır; CSR ise bu anahtar ile ilişkilidir ve CA’ya iletilir.
  • RSA ve ECC gibi farklı anahtar algoritmaları kullanılabilir. ECC, tipik olarak daha küçük anahtarlarla benzer güvenlik seviyesi sunar; RSA ise daha yaygın fakat daha büyük anahtarlar gerektirebilir.


Adım adım CSR oluşturma (komut satırı, OpenSSL yüklü Windows/Linux/macOS için)
1) Özel anahtar oluşturarak başlayın (örneğin 2048 bit RSA):
  • openssl genpkey -algorithm RSA -out site.key -pkeyopt rsa_keygen_bits:2048
  • ya da geleneksel sertifika imzalama isteğiyle uyumlu bir yapı kullanın: openssl req -new -newkey rsa:2048 -nodes -keyout site.key -out site.csr


2) CSR dosyasını oluştururken temel alan adları ve bilgiler:
  • CN (Common Name): Kapsanan ana alan adı (ör. www.example.com)
  • O (Organization), OU (Organizational Unit), C (Country), ST (State/Province), L (Locality)
  • SAN (Subject Alternative Names): Birden çok alan adı için ekler. CA taleplerinde SAN önemli bir alan olduğundan CSR içinde yer alır.


3) Örnek sade komut (EN ile uyumlu: CSR ve RSA 2048)
  • openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr -subj "/C=TR/ST=Istanbul/L=Istanbul/O=Örnek A.Ş./OU=IT/CN=example.com"


4) SAN eklemek için config dosyası kullanarak:
  • Config dosyasında [req] bölümünde req_extensions ve v3_req ayarlarını etkinleştirin; SAN için subjectAltName alanını belirtin.
  • Örnek:
  • openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr -config san.cnf
  • san.cnf içinde kritik kısımlar:

[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
[req_distinguished_name]
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.1 = example.com
DNS.2 = www.example.com

5) CSR içeriklerini doğrulama:
  • openssl req -text -noout -verify -in example.csr
  • Bu çıktı üzerinde CN ve SAN değerlerini kontrol edin.


Güvenlik ve pratik ipuçları
  • Özel anahtarın güvenliğini en üst seviyede tutun; erişim yetkisini minimumda tutun.
  • CA tarafından istenen alan adlarını doğru biçimde belirtin; eksik SAN, işlem reddine neden olabilir.
  • Gerekirse bit uzunluğunu yükseltin (2048 yerine 4096) gelecekteki güvenlik gereksinimleri için. Ancak 4096, işlem sürelerini bir nebze uzatabilir ve bazı eski sistemlerle uyumsuzluk yaratabilir.
  • Üretim ortamında oturum açarken güvenlik denetimlerini (dosya izinleri, şifreli depolama) iyi uygulayın.


Bu süreçle ilgili kendi ortamınıza göre karşılaştığınız adımları ve SAN yapılandırması ile ilgili deneyimlerinizi paylaşır mısınız? SAN eklemek ya da config kullanarak otomatikleştirme konusunda hangi yolları tercih ediyorsunuz?

Sie müssen angemeldet sein, um zu antworten.

Benutzer, die dieses Thema gerade ansehen (Gesamt: 3, Mitglieder: 3, Gäste: 0)
Gesamt: 3 (mitglieder: 3, gäste: 0)
0 Zitate ausgewählt