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
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.
node.crt ve node.key dosyalarının içeriklerini bir metin düzenleyici (vi(m), nano, vb.) kullanarak değiştiriniz.
İ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:
-----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-----