3 min read

Kendi SSL Certificate Authority (CA) Oluşturma Rehberi

Günümüzde internet güvenliği, özellikle SSL/TLS sertifikaları ile sağlanan şifreleme mekanizmaları sayesinde büyük önem kazanmıştır. Ancak, güvenilir bir Sertifika Yetkilisi (CA) olmadan kendi sertifikalarınızı oluşturmak isteyenler için de çözüm yolları mevcuttur. Bu rehberde, kendi Root CA'nızı nasıl oluşturacağınızı ve self-signed (kendi imzanızla) SSL sertifikaları nasıl düzenleyeceğinizi adım adım öğreneceksiniz.

Sertifika Yetkilisi (CA) Nedir?

Sertifika Yetkilisi (CA), dijital sertifikaları imzalayan ve bu sertifikaların geçerliliğini doğrulayan kuruluştur. CA'lar, sertifikayı talep eden kimlik bilgilerini kriptografik anahtarlarla bağlar ve bu sayede varlığın doğruluğunu güvence altına alır. CA'ların kök sertifikaları (Root Certificates), tüm tarayıcılar ve cihazlar tarafından önceden yüklenmiştir ve uluslararası güvenilirlik taşırlar.

SSL Sertifikası Oluşturma Süreci

Gerçek bir üretim ortamında SSL sertifikası almak için izlenen adımlar genellikle şu şekildedir:

  1. Certificate Signing Request (CSR) Oluşturma: İlk adımda, bir CSR oluşturulur. CSR oluşturmak, bir çift anahtar (public ve private) oluşturmayı içerir. Public key, sertifika talep eden kuruluş hakkında bilgi içerirken, private key güvenli bir şekilde saklanmalıdır.Dikkat: Private key kaybedilirse veya ele geçirilirse, sertifika çalışmaz hale gelir ve şifreli iletişimler tehlikeye girebilir.
  2. CSR'yi Resmi CA'ya Gönderme: Oluşturulan CSR, resmi bir CA'ya gönderilir. CA, kendi root private key'i ile imzalanmış bir sertifika geri döner ve bu sertifika sunucularınıza kurulabilir.

Yerel Root CA Oluşturma

Kendi Root CA'nızı oluşturmak için farklı yöntemler bulunmaktadır. Grafik kullanıcı arayüzünü (GUI) tercih ediyorsanız TinyCA gibi ücretsiz araçları kullanabilirsiniz. Terminal kullanmayı tercih edenler ise basit OpenSSL komutları ile bu işlemi gerçekleştirebilirler.

Root Özel Anahtarını Oluşturma

İlk adımda, Root CA'nız için özel bir anahtar oluşturmanız gerekmektedir:

openssl genrsa -des3 -out root.key 2048

Bu komut, 2048 bit uzunluğunda bir RSA özel anahtarı oluşturur. Güvenliğiniz için bir parola belirlemeniz şiddetle tavsiye edilir.

Root Sertifikasını Oluşturma

Oluşturduğunuz özel anahtarı kullanarak Root CA sertifikasını oluşturun:

openssl req -x509 -new -nodes -key root.key -sha256 -days 7200 -out root.pem

Bu komut, Root CA sertifikanızı 20 yıl (7200 gün) geçerli olacak şekilde oluşturur. Sertifika bilgilerini girerken özellikle Common Name (CN) kısmına dikkat edin, çünkü bu isim CA'nızı tanımlamak için kullanılacaktır.

Root CA'nızı Tarayıcılara ve Sistemlere Ekleme

Oluşturduğunuz Root CA sertifikasını, kullanmak istediğiniz tüm cihazlara ve tarayıcılara eklemeniz gerekmektedir. Bu işlem, sertifikanın güvenilir olarak tanınmasını sağlar.

  1. Sistem Sertifika Deposu: Operasyon sisteminizin sertifika deposuna root.pem dosyasını ekleyebilirsiniz.
  2. Tarayıcı Sertifika Deposu: Tarayıcınızın ayarlarından sertifikalar bölümüne giderek root.pem dosyasını Authorities sekmesine ekleyin.

Self-Signed Wildcard Sertifikası Oluşturma

Root CA'nızı oluşturduktan sonra, kendi wildcard SSL sertifikanızı oluşturabilirsiniz. Wildcard sertifikalar, bir ana domain ve tüm alt domainler için geçerlidir, bu sayede her alt domain için ayrı sertifika almak zorunda kalmazsınız.

Özel Anahtar ve CSR Oluşturma

Öncelikle, wildcard sertifikanız için özel bir anahtar ve CSR oluşturun:

openssl genrsa -out wildcard.homelab.home.key 2048

Daha sonra, aşağıdaki gibi bir OpenSSL konfigürasyon dosyası (opensslsan.cnf) kullanarak CSR oluşturun:

[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no

[req_distinguished_name]
C = TR
ST = Attica
L = Istanbul
O = Wildcard Homelab Inc
OU = IT
CN = *.homelab.home

[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1 = *.homelab.home

CSR'yi oluşturmak için:

openssl req -new -out wildcard.homelab.home.csr -key wildcard.homelab.home.key -config opensslsan.cnf

Sertifikayı Root CA ile İmzalama

Oluşturduğunuz CSR'yi kendi Root CA'nız ile imzalayarak wildcard sertifikasını elde edin:

openssl x509 -req -in wildcard.homelab.home.csr -CA root.pem -CAkey root.key -CAcreateserial -out wildcard.homelab.home.crt -days 7200 -sha256 -extensions v3_req -extfile opensslsan.cnf

Bu komut, wildcard sertifikasını oluşturur ve Root CA'nız tarafından imzalanmış olur.

Sertifikaların Doğrulanması ve Kullanımı

Oluşturduğunuz sertifikaların doğruluğunu ve güvenilirliğini kontrol etmek için aşağıdaki komutları kullanabilirsiniz:

openssl verify -CAfile root.pem wildcard.homelab.home.crt

Eğer her şey doğruysa, "wildcard.homelab.home.crt: OK" mesajını alırsınız.

Sonuç

Kendi Root CA'nızı ve self-signed SSL sertifikalarınızı oluşturmak, özellikle test ortamları ve iç ağlarda güvenli iletişim sağlamak için mükemmel bir çözümdür. Bu rehberde, adım adım nasıl kendi CA'nızı oluşturacağınızı ve wildcard sertifikalarınızı nasıl düzenleyeceğinizi öğrendiniz. Unutmayın ki, self-signed sertifikalar genel internet kullanımı için uygun değildir ve sadece güvenilir iç ortamlar için kullanılmalıdır.