Linux'ta Güvenilir Kök Sertifikalar Ekleme
Bu makale, Linux'ta güvenilir kök sertifika listesine yeni bir sertifikanın nasıl ekleneceğini (yükleneceğini) açıklayacaktır.
Diyelim ki kendinden imzalı bir SSL/TLS sertifikası kullanıyorsunuz ama sertifika almak istemiyorsunuz.
SEC_ERROR_UNKNOWN_ISSUERsiteniz her açıldığında istemci tarayıcısında hata.
Bu örnekte, bir Windows Server üzerinde çalışan bir IIS web sitesinden kendinden imzalı bir sertifika kuracağız.
Linux sunucunuzun belirli bir sitedeki SSL sertifikasını doğrulayıp doğrulamadığını (ve bu nedenle güvenip güvenmediğini) kontrol etmek için aşağıdaki komutu çalıştırın:
$ curl -I https://a-d.localcurl: (60) SSL certificate problem: unable to get local issuer certificate. More details here: https://curl.haxx.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.Bu durumda, bu web sitesinin Kök CA'sını Linux'taki güvenilir sertifikalar listesine eklememiz gerekir.
Linux'ta Trust Store'da Root Sertifikası Nasıl Kurulur?
Linux'ta güvenilir sertifika deponuzu güncellemek istiyorsanız, ihtiyacınız olan ilk şey sertifikanın PEM dosyasıdır.
*.CRTeklenti. PEM sertifikası, base64 biçiminde satırla başlayan bir metin dosyasıdır.
—-BEGIN CERTIFICATE—- ve ile biter
——END CERTIFICATE——Sertifikanızın dosyası DER biçiminde saklandıysa, onu openssl komutunu kullanarak PEM'e dönüştürebilirsiniz:
$ openssl x509 -in my_trusted_sub_ca.der -inform der -out my_trusted_sub_ca.cerŞimdi DEB tabanlı Linux dağıtımlarında (Ubuntu, Debian, Mint, Kali Linux vb.) CA kök sertifikanızı güven listesine nasıl ekleyebileceğinize bakalım.
Öncelikle, sertifika dosyalarınızı sertifika depolama klasörüne kopyalayın (/usr/local/share/ca-certificates/):
$ sudo cp my_trusted_sub_ca.crt /usr/local/share/ca-certificates/
$ sudo cp my_trusted_root_ca.crt /usr/local/share/ca-certificates/
Sertifika deposunu şu komutu kullanarak güncelleyin:
$ sudo update-ca-certificates -vKomut bulunmazsa, paketi Ubuntu/Debian sunucunuza kurmanız gerekir:
$ sudo apt-get install -y ca-certificatesSertifikalar başarıyla eklendiyse, sertifikanın /etc/ssl/certs/ dizinine kopyalandığını belirten bir mesaj göreceksiniz:
Updating certificates in /etc/ssl/certs…
2 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d
Linux'ta güvenilir mağazaya yeni sertifikalar eklemenin başka bir yolu:
$ sudo dpkg-reconfigure ca-certificatesSertifika listesine göz atın ve güvenilir olanlara eklemek istediklerinizi seçin.
Linux'ta güvenilir sertifikaların listesi /etc/ssl/certs/ca-certificates.crt dosyasında saklanır. Yukarıdaki komutların her ikisi de bu dosyayı güncelleyecek ve yeni sertifikalar hakkında bilgi ekleyecektir.
Sertifikalarınızın güven listesine eklendiğinden emin olmak için aşağıdaki komutu kullanın:
$ awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep -i YourCASubjMağazayı konuya göre aramak için YourCASubj yerine sertifikanızın Ortak Ad bölümünü belirtin.
İşletim sisteminizin sertifikaya güvenip güvenmediğini şu komutu kullanarak görebilirsiniz:
$ openssl verify my_trusted_sub_ca.crtLinux sunucunuz sertifikaya güvenmiyorsa bir hata alırsınız:
error 20 at 0 depth lookup: unable to get local issuer certificate
error my_trusted_sub_ca.crt: verification failedSitenin güvenilir bir SSL sertifikası kullandığından emin olmak için curl kullanabilirsiniz:
$ curl -I https://a-d.localHer şey yolunda, sertifika güvenilir {
HTTPOnly: secure}.
Bir sertifika dosyasının güven listesine manuel olarak da eklenebileceğini unutmayın:
$ sudo mkdir /usr/share/ca-certificates/extra
$ sudo cp my.crt /usr/share/ca-certificates/extra/mycert1.crt
$ sudo vim /etc/ca-certificates.confexta/mycert1.crt$ sudo update-ca-certificatesSertifikayı güvenilenler listesinden kaldırmak için .crt dosyanızı silmeniz yeterlidir:
$ sudo rm /usr/local/share/ca-certificates/yourcert.crtVe CA mağazasını güncelleyin:
$ sudo update-ca-certificates --freshRPM tabanlı Linux dağıtımlarında (CentOS, Oracle, RHEL, Rocky Linux, Fedora) güven listesine bir sertifika eklemek için aşağıdaki prosedürü kullanın:
ca-certificates paketini kurun:
# yum install ca-certificatesSertifika dosyasını /etc/pki/ca-trust/source/anchors/ dizinine kopyalayın:
# cp mycert.crt /etc/pki/ca-trust/source/anchors/Sertifika güvenilir deposunu güncelleyin:
# update-ca-trust force-enable # update-ca-trust extract
Ve burada, Windows'ta güvenilir kök sertifika deposunu yönetme hakkında benzer bir makale var.
Chrome ve Firefox'a Güvenilir CA Sertifikası Ekleme
Yukarıdaki adımları gerçekleştirdikten sonra, tüm sistem araçları bu CA'yı kullanan web sitelerine güvenecektir. Ancak, Mozilla Firefox veya Google Chrome web tarayıcıları güvenilmeyen sertifikayla ilgili bir uyarı mesajı göstermeye devam edeceklerinden bu durum Mozilla Firefox veya Google Chrome web tarayıcılarını etkilemeyecektir.
Mesele şu ki Firefox, Chromium, Google Chrome, Vivaldi ve hatta Mozilla Thunderbird e-posta istemcisi Linux sistem sertifika deposunu kullanmıyor. Bu programların sertifika deposu, cert8.db (Mozilla için) veya cert9.db dosyasındaki (Chromium ve Chrome için) kullanıcı dizininde bulunabilir. Bu sertifika depolarını güncellemek için libnss3-tools paketinden certutil aracını kullanabilirsiniz.
İlk önce paketi kurun:
$ sudo apt install libnss3-toolsŞimdi, sertifikalarınızı NSS yoluyla mağazaya eklemek için aşağıdaki bash betiğini çalıştırın:
#!/bin/bash
certfile="my_rusted_root_ca.crt"
certname="My Root CA1"
for certDB in $(find ~/ -name "cert8.db")
do
certdir=$(dirname ${certDB});
certutil -A -n "${certname}" -t "TCu,Cu,Tu" -i ${certfile} -d dbm:${certdir}
done
for certDB in $(find ~/ -name "cert9.db")
do
certdir=$(dirname ${certDB});
certutil -A -n "${certname}" -t "TCu,Cu,Tu" -i ${certfile} -d sql:${certdir}
doneBu yapıldıktan sonra, verilen CA'ya sahip web sitelerine tüm tarayıcılar güvenir.








