Skip to main content

Ubuntu 22.04 Üzerinde Özel Sertifika Yetkilisi (CA) Kurulumu – Açıklamalı Rehber

Bu rehberde Ubuntu 22.04 üzerinde Easy-RSA kullanarak özel bir Sertifika Yetkilisi (CA) kurmayı ve yönetmeyi öğreneceksiniz.
Her komut, her dosya, her adım açıklamalıdır.

Özel CA’lar; VPN, iç ağ servisleri, staging ortamları ve kapalı sistemlerde güvenilir kimlik doğrulaması sağlar.


Ana Adımlar

  1. Easy-RSA kurulumu
  2. PKI dizininin oluşturulması
  3. CA kök sertifikasının oluşturulması
  4. ca.crt dosyasının dağıtılması
  5. (Opsiyonel) CSR imzalama
  6. (Opsiyonel) Sertifika iptali ve CRL üretimi

🔑 Özel Sertifika Yetkilisi (CA) Kurulum Adımları

CA sunucusu sadece sertifika üretimi ve iptali için kullanılmalıdır.
Ek güvenlik için mümkünse çevrimdışı tutulmalıdır.


1. Easy-RSA Kurulumu

Paket listesini güncelleyin:

sudo apt update

➡️ Bu komut, depolardaki paket listesini yeniler.

Easy-RSA’yı kurun:


sudo apt install easy-rsa

➡️ CA yönetimi için gerekli betikleri kurar.


2. PKI Dizininin Hazırlanması

easy-rsa dizini oluşturun:


mkdir ~/easy-rsa

➡️ Tüm CA dosyalarının yönetileceği PKI dizini oluşturulur.

Easy-RSA betiklerine simge bağlantısı ekleyin:


ln -s /usr/share/easy-rsa/* ~/easy-rsa/

➡️ Paket güncellenirse betikler otomatik güncellenir.

Dizin izinlerini kısıtlayın:


chmod 700 ~/easy-rsa

➡️ Bu dizine yalnızca sahibi erişebilir. Güvenlik için şarttır.

PKI dizin yapısını başlatın:


cd ~/easy-rsa
./easyrsa init-pki

➡️ PKI için gerekli klasör ve dosya yapısını oluşturur.


3. CA Kök Sertifikasını Oluşturma

Vars dosyasını düzenleyin:


nano vars

➡️ CA için gerekli organizasyon bilgileri burada tutulur.

Aşağıdaki içerikle doldurun:


set_var EASYRSA_REQ_COUNTRY "TR"
set_var EASYRSA_REQ_PROVINCE "Istanbul"
set_var EASYRSA_REQ_CITY "Kadikoy"
set_var EASYRSA_REQ_ORG "RabisuCloud"
set_var EASYRSA_REQ_EMAIL "[email protected]"
set_var EASYRSA_REQ_OU "Teknik"
set_var EASYRSA_ALGO "ec"
set_var EASYRSA_DIGEST "sha512"

➡️ Bu bilgiler CA kök sertifikasına işlenir.

CA kök sertifikasını ve özel anahtarı oluşturun:


./easyrsa build-ca

➡️ CA’nın en kritik iki dosyası oluşur: ca.key (gizli) ve ca.crt (public).

Parolasız isterseniz:


./easyrsa build-ca nopass

📌 Önemli Dosyalar (CA Yapısı)

Aşağıdaki iki dosya, oluşturduğun Sertifika Yetkilisi'nin (CA) kalbidir.
Biri herkese dağıtılır, diğeri asla kimseye verilmez.

Dosya YoluAçıklama
pki/ca.crtCA'nın genel (public) kök sertifikasıdır. İstemcilerin ve sunucuların CA’ya güvenebilmesi için bu dosya dağıtılır. Güvenilir Root CA deposuna eklenen dosya budur.
pki/private/ca.keyCA’nın özel (private) anahtarıdır. Bu anahtar ile sertifikalar imzalanır. Ele geçirilmesi tüm altyapıyı çökertir. Kesinlikle paylaşılmaz, yedeklenir ve offline ortamda saklanır.

4. CA Sertifikasının Diğer Sistemlere Dağıtılması

CA public sertifikasını görüntüleyin:


cat ~/easy-rsa/pki/ca.crt

➡️ BEGIN ve END satırları dahil tüm içeriği kopyalayın.

İkinci Linux sistemine dosya oluşturun:


nano /tmp/ca.crt

➡️ Kopyaladığınız sertifikayı buraya yapıştırın.

Ubuntu/Debian sertifika deposuna ekleme:


sudo cp /tmp/ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

➡️ Sistem çapında güvenilir kök sertifika yapılır.

RHEL/Fedora/CentOS için:


sudo cp /tmp/ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust

5. (Opsiyonel) CSR Oluşturma ve İmzalama

Bu adım, VPN, web sunucusu, API veya dahili servis için gereklidir.

OpenSSL kurun:


sudo apt install openssl

Özel anahtar oluşturun:


mkdir ~/test-csr && cd ~/test-csr
openssl genrsa -out rabisu-sunucu.key

➡️ Sunucunun gizli anahtarı.

CSR dosyası oluşturun:


openssl req -new -key rabisu-sunucu.key -out rabisu-sunucu.req -subj \
"/C=TR/ST=Istanbul/L=Kadikoy/O=RabisuCloud/OU=Teknik/CN=rabisu-sunucu"

➡️ CA tarafından imzalanacak sertifika talebi.

CSR'ı CA sunucusuna gönderin:


scp rabisu-sunucu.req user@CA_IP:/tmp/

CA Sunucusunda CSR’ı İmzalama

CSR’ı içe aktarın:


cd ~/easy-rsa
./easyrsa import-req /tmp/rabisu-sunucu.req rabisu-sunucu

➡️ CA, bu isteği tanır.

Sertifikayı imzalayın:


./easyrsa sign-req server rabisu-sunucu

➡️ yes yazmanız gerekir.

İmzalanmış sertifikayı geri gönderin:


scp pki/issued/rabisu-sunucu.crt user@server:/tmp
scp pki/ca.crt user@server:/tmp

6. (Opsiyonel) Sertifika İptali (Revoke) + CRL Oluşturma

Sertifikayı iptal edin:


./easyrsa revoke rabisu-sunucu

➡️ İlgili sertifika artık geçersiz hale gelir.

CRL (Certificate Revocation List) oluşturun:


./easyrsa gen-crl

➡️ Tüm iptal edilen sertifikaları içeren crl.pem dosyası oluşur.

CRL'yi dağıtın:


scp ~/easy-rsa/pki/crl.pem user@server:/tmp

➡️ Servisler, iptalli sertifikaları reddetmek için bu listeyi kullanır.


❓ Sıkça Sorulan Sorular (SSS)

1. CA neden çevrimdışı tutulmalı?

CA’nın özel anahtarı ele geçirilirse, tüm güven zinciri çöker. Bu yüzden CA yalnızca imzalama sırasında açılmalıdır.

2. ca.crt neden herkese veriliyor?

Bu bir public root certificatetir. Gizli bilgi içermez.

3. CSR nedir?

Bir sunucu veya istemcinin CA'dan sertifika istemek için gönderdiği şifreli taleptir.

4. CRL ne işe yarar?

İptal edilmiş sertifikaları listeler. Sunucular bu listeyi kontrol eder.

5. CA anahtarım çalındı, ne olur?

Tüm altyapı güvenliğini kaybedersiniz. Yeni CA kurmanız gerekir.


🎯 Sonuç

Bu adımlarla Ubuntu 22.04 üzerinde tam işlevli bir Sertifika Yetkilisi kurdunuz. Artık kendi ağınızdaki tüm servisler için güvenilir sertifikalar üretebilir, iptal edebilir ve yönetebilirsiniz.

Bu yapıyı Rabisu Bulut üzerindeki izole Sanal Örneklerinizde hemen uygulayabilirsiniz.