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

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



           CAS, giriş ekranında girilen kullanıcı adı ve şifre ile Basic Authorization Header oluşturup, rest.uri
           ile belirtilen güvenlikli adrese istek atar. Eğer Basic Authorization doğrulanırsa, içerisinde kullanıcı
           adının olduğu 200 cevabı döner ve CAS tarafında da doğrulama yapılmış olur.




           9. Canlı (Production) Ortama Hazırlık


           Bu bölüm, canlı ortama hazır CAS ortamı için gereken genel yapılandırma seçeneklerini açıklamaktadır.
           Buradaki bilgiler, genel kavramlar ve gerçek uygulamaları içerir.





           9.1. Güvenli Bağlantı (HTTPS) Oluşturma


           Geliştirme  ortamında  SSL  olmadan  HTTP  üzerinden  işlemler  yapılmak  istendiğinde,  TGC  çerezi
           tarayıcıda kayıt edilemez. Bu durumda CAS ekranında giriş yaptıktan sonra, tekrar CAS ekranına
           gelindiğinde, sanki önceden giriş yapılmamış gibi tekrar giriş ekranı gösterilir. Halbuki bu durumda
           “Siz daha önceden giriş yaptınız, bu da giriş bilgileriniz.” şeklinde bir sayfa gösterilmesi beklenir.
           Bunun nedeni, TGC çerezini ayarlayan cevabın (response) başlığında (header), bu işlemin yalnızca
           SSL bağlantıları üzerinden gerçekleşmesi gerektiğinin belirtilmiş olmasıdır (varsayılan olarak cas.tgc.
           secure=true ayarlı). Dolayısıyla, web tarayıcısı bu çerez ayarlama işlemini engelleyecektir.


           Tarayıcı loglarında şu mesaj gözlemlenir:


            the set cookie was blocked because it had the “secure” attribute but was not
            received over a secure connection.


           Bu  yüzden,  geliştirme  ortamında  HTTP  üzerinden  işlemler  yapılırken  cas.tgc.secure=false  olarak
           ayarlanmalıdır. Fakat canlı (production) ortamda çalışan uygulamanın güvenli bağlantı üzerinden
           çalışması, güvenlik risklerinin önüne geçmektedir. Bu yüzden HTTPS bağlantısı ile çalışacak şekilde
           ayarlanmalıdır. Sertifika oluşturma aşamasında firstname ve lastname alanlarına sunucu IP ya da
           DNS adresi girilmelidir. Yoksa SSL handshake sırasında hata ile karşılaşılır.



            keytool -genkey -keyalg RSA -alias thekeystore -keystore thekeystore
            -storepass changeit -validity 360 -keysize 2048 -ext san=ip:10.222.130.x (yada
            san=dns-<dns-name>)


           Oluşturulan  bu  sertifikanın  istemci  uygulamaları  tarafından  kullanılabilmesi  için,  .der  formatında
           export edilmesi gerekir. Yalnızca bu formatta ise kabul edilir.


            keytool -export -alias thekeystore -file thekeystore.der -keystore thekeystore
            keytool -import -alias thekeystore -storepass changeit -file thekeystore.der
            -keystore $JAVA_HOME\lib\security\cacerts
   83   84   85   86   87   88   89   90   91   92   93