Page 89 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 89

Kimlik Doğrulama Altyapılarının Kullanımı | 89





           9.2. TGC Içeriği


           CAS sunucusu, SSO oturumu boyunca giriş durumunu sağlamak için TGT’yi kullanır. Redis’te bu değer
           TGT-1-xyz-denizg-l tarzındayken, TGC çerezi içerisinde JWT olarak tutulmaktadır. Bunun nedeni, CAS
           sunucusu TGT’yi tarayıcıya göndermeden önce, güvenliğini sağlamak için JWT oluşturarak, TGT’yi
           JWT payload içerisine koyar, daha sonra imzalar, daha sonra da JWT payload’ını şifreler. Eğer bu

           şifreleme anahtarı ve imzalama anahtarı tanımlanmazsa, CAS uygulama ayağa kalkma aşamasında
           kendi otomatik olarak anahtarlar oluşturur.


            WARN [--.] - Secret key for encryption is not defined. CAS will auto-generate
            the encryption key
            WARN [--.] - Generated encryption key ABC of size --. The generated key MUST be
            added to CAS settings



           Birçok  sunuculu  ortamda  çalışırken,  tüm  sunucular  aynı  anahtarları  kullanmalıdır,  aksi  takdirde
           tanımlanmazsa  her  sunucu  kendi  şifreleme/imzalama  anahtar  ikilisini  üretecek  ve  her  sunucu
           birbirinden farklı anahtarları kullanacaktır. Bu durumda, bir sunucuda üretilen TGT, diğer sunucuya
           geldiğinde kullanılamayacak ve dahası, var olan TGT silinerek yerine boş bir TGT gönderilecektir.




            cas.tgc.crypto.signing.key=dasdasd
            cas.tgc.crypto.encryption.key=dasdad
            cas.tgc.crypto.enabled=true





           9.3. CAS Bilet Kaydı (Ticket Registry)


           Biletler (tickets), Spring Data Redis yardımıyla Redis’te saklanır. Bu sayede, çok sunuculu ortamda,
           her bir sunucu, aynı bilet üzerinde işlem yapabilir. Bu biletler için anahtar isimleri, CAS:Ticket ile
           başlar.



            cas.ticket.registry.redis.sentinel.master=redis-cluster cas.ticket.registry.
            redis.sentinel.node[0]=10.x.y.z:26379 cas.ticket.registry.redis.sentinel.
            node[1]=10.x.y.z:26379 cas.ticket.registry.redis.sentinel.node[2]=10.x.y.z:26379
            cas.ticket.registry.redis.password=test-sifre





           9.4. Yüksek Erişilebilirlik


           Yüksek erişilebilirliğin (high availability) sağlanması için CAS’ın küme (clustered) biçimde tasarlanması
           önerilmektedir.
   84   85   86   87   88   89   90   91   92   93   94