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