SSL Sertifikası

SSL Client Certificate Authentication

Nginx ve Apache'de istemci sertifikası doğrulamasını kurun: küçük bir özel CA, ssl_verify_client, curl testi ve sık hatalar.

İstemci sertifikası doğrulaması, bir sunucunun yalnızca kendisini değil bağlanan tarafı da sertifikayla tanımasıdır. Yönetim panelleri, iç API'ler ve B2B entegrasyonlarında parolaya ek olarak ya da parola yerine kullanılır.

Ön hazırlık: küçük bir özel CA

openssl genrsa -out istemci-ca.key 4096
openssl req -x509 -new -key istemci-ca.key -sha256 -days 1825 -subj "/CN=Ornek Istemci CA" -out istemci-ca.crt

openssl genrsa -out ali.key 2048
openssl req -new -key ali.key -subj "/CN=ali" -out ali.csr
openssl x509 -req -in ali.csr -CA istemci-ca.crt -CAkey istemci-ca.key -CAcreateserial -days 365 -sha256 -out ali.crt
openssl pkcs12 -export -inkey ali.key -in ali.crt -out ali.p12

Oluşan .p12 dosyasını kullanıcının tarayıcısına aktarırsınız. CA özel anahtarını güvenli saklayın.

Nginx

ssl_client_certificate /etc/ssl/istemci-ca.crt;
ssl_verify_client on;
ssl_verify_depth 2;

location / {
    proxy_set_header X-Client-DN $ssl_client_s_dn;
    proxy_pass http://uygulama;
}

ssl_verify_client optional kullanırsanız sertifikasız istemciler de bağlanır; uygulamada $ssl_client_verify değerini kontrol etmeniz gerekir.

Apache

SSLCACertificateFile /etc/ssl/istemci-ca.crt
SSLVerifyClient require
SSLVerifyDepth 2

Doğrulama

curl --cert ali.crt --key ali.key https://panel.ornek.com/
curl https://panel.ornek.com/   # sertifikasız, reddedilmeli

Sık hatalar

  • 400 "No required SSL certificate was sent": istemci sertifika göndermedi.
  • CA dosyasında ara sertifika eksikliği nedeniyle zincir doğrulanmaz.
  • İstemci sertifikasında süre dolması veya eksik Client Authentication kullanımı.

Sunucu sertifikanız için herkese açık CA'dan SSL sertifikası kullanın; istemci sertifikaları için özel CA yeterlidir. Kurulumdan sonra SSL Checker ile sunucu tarafını denetleyin.

Bu makale faydalı oldu mu?

Makale Ara

SSL Kurulum ve Yapılandırma

Yardıma mı İhtiyacınız Var?

Aradığınızı bulamadıysanız destek ekibimiz size yardımcı olabilir.

Destek Talebi Aç