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:
- 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.
- 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.
- Sistem Sertifika Deposu: Operasyon sisteminizin sertifika deposuna root.pem dosyasını ekleyebilirsiniz.
- 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.