Skip to main content

TLS Sertifikalarının Yönetimi


Şu anda sertifikaları yönetmek için bir kullanıcı arabirimi bulunmamaktadır. Değişiklikler, SSH erişimi ve basit kabuk(shell) komutlarıyla uygulanabilir.

Sertifikalar /sybelle/certs dizininde bulunur. Varsayılan sertifikalar, kurulum aşamalarında bir komut ile kendinden imzalı (Self-Signed) sertifikalar configure-node olarak üretilir; bu sertifikalar için Common Name (CN) olarak sunucu adı (hostname) kullanılır.

# tree /sybelle/certs/
/sybelle/certs/
├── node.crt
├── node.csr
└── node.key
UYARI
  • Dosya adları statiktir, tam olarak aynı kalmalıdır.

  • Sertifika, base64 ile kodlanmış PEM formatında sağlanmalıdır. Örnek içerik:

    /sybelle/certs/node.crt
    -----BEGIN CERTIFICATE-----
    MIIGvzCCBKegAwIBAgIUM/33MkgcFXr5AmthWBXAD9aQiZMwDQYJKoZIhvcNAQEL
    BQAwgbkxCzAJBgNVBAYTAlRSMREwDwYDVQQIDAhJc3RhbmJ1bDERMA8GA1UEBwwI
    SXN0YW5idWwxHTAbBgNVBAoMFEJUUyBHcm91cCAtIEJUUyBMQUJTMR0wGwYDVQQL
    --> the content has been cut <--
    lC6jGtP4lUV7VIijv9r5Q/KN2ITwzoeTodz4gd/uhGCIu75t2gfKKseUwLXGd+Dl
    ur6tDFW0QlMKBRy6bftXpfGp+mSudVJkoKVAkfE6n2UBWX2Lo8AhMW+/Tf26GX2B
    Rpzz
    -----END CERTIFICATE-----
  • Özel anahtar, şifrelenmemiş base64 ile kodlanmış PEM formatında sağlanmalıdır. Örnek içerik:

    /sybelle/certs/node.key
    -----BEGIN PRIVATE KEY-----
    MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQCe2jvN12AARkFi
    wKYTbPiiSOnNKyi9zI/zOhTfSvuOo7ep92TgHlnOWZkxS+try6pwJk3B2t/jzb6U
    BoCA0cARBWnEJRRZbtdr3acKM0TM5ZWlrNEvrMbdHjwNgnyROGY5e1PA8o8pXfkb
    --> the content has been cut <--
    xQySboZvwVuenOWBtb/1s1n/+OSW2BIqDb4nWpH/vCLwTzP0bBk/Snqerh+4902Z
    AMN5BUtP2dmfsFuw2hTygE88J3b/InpqGMKZFLfMcDClV08X8nXIixRRDQZUPGtu
    CzjgD8QS7Ysa1QsoPKsrW/GwBKeXxJc=
    -----END PRIVATE KEY-----

TLS Sertifikasını Değiştirme

TLS Sertifikalarını değiştirmek, Sybelle-frontend ve Sybelle-api servislerinin yeniden başlatılmasını içeren kesintisiz bir işlemdir.

  1. node.crt ve node.key dosyalarının içeriklerini bir metin düzenleyici (vi(m), nano, vb.) kullanarak değiştiriniz.

  2. İlgili servisleri aşağıda gösterildiği şekilde yeniden başlatınız:

    systemctl restart sybelle-api.service
    systemctl restart sybelle-frontend.service

Sertifika Zinciri

Genellikle, organizasyonlar sertifika yetkilisi altyapılarında Ara Sertifika Veren (Intermediate Issuer) sistemleri kullanır. Bu ara sertifikalar, istemcilerin yalnızca organizasyonun Kök Sertifika Yetkilisi sertifikasına güvenecek şekilde yapılandırıldığı durumlarda web hizmetleri tarafından sunulmalıdır. Böylece, istemciler sertifika doğrulaması yaparken güvenilir bir imzalama zinciri oluşturabilir ve tüm sertifika zincirini eksiksiz tamamlayabilir.

Ara Sertifika Veren (Intermediate Issuer) sertifikaları, basitçe dosyanın /sybelle/certs/node.crt sonuna eklenerek yapılandırılır. Birden fazla ara sertifika katmanı varsa, sertifikaların şu sırayla eklenmesi tavsiye edilir: “Sunucu Sertifikası, Alt Katman Sertifika Veren, Üst Katman Sertifika Veren”. Bu sıralama, sertifika zincirinin düzgün bir şekilde doğrulanmasını sağlar.

Sertifikanın kullanıma hazır olduğunu varsayarak, PEM formatında base64-encoded olarak intermediate.crt dosyasına kaydedebilirsiniz. Dosya içeriğini düzenlemek için vi gibi bir metin düzenleyici kullanabilir veya belirli komutları çalıştırabilirsiniz.

cat intermediate.crt >> /sybelle/certs/node.crt
### And finally restart the services
systemctl restart sybelle-api.service
systemctl restart sybelle-frontend.service

Son dosya içeriği aşağıda yer alana benzer olacaktır:

/sybelle/certs/node.crt
-----BEGIN CERTIFICATE-----
MIIGvzCCBKegAwIBAgIUM/33MkgcFXr5AmthWBXAD9aQiZMwDQYJKoZIhvcNAQEL
BQAwgbkxCzAJBgNVBAYTAlRSMREwDwYDVQQIDAhJc3RhbmJ1bDERMA8GA1UEBwwI
SXN0YW5idWwxHTAbBgNVBAoMFEJUUyBHcm91cCAtIEJUUyBMQUJTMR0wGwYDVQQL
--> the content has been cut <--
lC6jGtP4lUV7VIijv9r5Q/KN2ITwzoeTodz4gd/uhGCIu75t2gfKKseUwLXGd+Dl
ur6tDFW0QlMKBRy6bftXpfGp+mSudVJkoKVAkfE6n2UBWX2Lo8AhMW+/Tf26GX2B
Rpzz
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGVTCCBD2gAwIBAgIUA8IDtpbmofusWonhWCqtqBxQI5YwDQYJKoZIhvcNAQEL
BQAwgbkxCzAJBgNVBAYTAlRSMREwDwYDVQQIDAhJc3RhbmJ1bDERMA8GA1UEBwwI
SXN0YW5idWwxHTAbBgNVBAoMFEJUUyBHcm91cCAtIEJUUyBMQUJTMR0wGwYDVQQL
--> the content has been cut <--
al4J3DMSZlp16RAc3LcC0Jx5ErLZl3/+pwAGDLTTRrwuzgUUE5tqQYXFdOjnfutB
sX3gXYIgjiIlkpM6e/qdB+cq6Z2IzIyx6GZqbJT+qTqDefRw8rnW5R5XYb1EBVmH
8zb7CUyD23hbsNFMdcF6LsxCJEVy9IFvlr6fMTLki1Mc2o7t2l+ESDE=
-----END CERTIFICATE-----