SSO Server Nedir ? Kullanım Amaçları

İnternet veya intranet üzerinde bilgiye erişim ve bilgi üzerinde değişiklik, güncelleme, kayıt ve benzeri işlemler; sisteme erişen kullanıcı ve isteklerinin denetimini gerektiren, bu amaçla güvenlik mekanizmalarının kullanımını zorunlu kılan hassas operasyonlardır. Bu noktada kimlik doğrulanmasının(authentication) gerçekleştirimi, sayfa güvenliği(web request security) ile servis katmanındaki sınıf ve alan nesnelerinin güvenliğinin(domain object security) sağlanması ve korunan kaynaklara erişimin belirli kriterler doğrultusunda kontrol edilmesi adına yetkilendirme(authorization) yapılması gibi ihtiyaçlar söz konusudur.

Genel olarak bir güvenlik mekanizmasında, ilk adımda benzersiz bir kullanıcı adı ve onunla ilişkili şifreden oluşan kullanıcı kimliğini(user credential) doğrulamak için, bu kimliğin saklandığı kaynakla(örneğin veritabanı, LDAP veya hafıza) iletişim kurulur ve sağlanan kullanıcı bilgisi kaynaktaki ile örtüşüyorsa, kullanıcı doğrulanmış olur. Tekil bir uygulamada, kullanıcı oturumunu sonlandırıncaya veya oturum için tanımlanmış geçerlilik süresi doluncaya dek bu işlem bir defa gerçekleşir. Ancak bir sunucu kümesi üzerinde veya aynı sunucuda birden fazla uygulama barındırılan ve bu uygulamalara erişimde kimlik doğrulaması ihtiyacının söz konusu olduğu senaryolarda farklı bir yaklaşım kullanılmıyorsa, her uygulama için bu işlem adımlarının tekrarlanması söz konusudur.

Günümüzde, bankacılık uygulamalarından resmi devlet kurumlarının sağladığı hizmetlere, sosyal ağlardan popüler e-posta servislerine uzanan yelpazede; küme üzerinde dağıtıklaştırılmış çoğu birbiri ile ilişkili birden fazla uygulamanın söz konusu olduğu mimariler karşımıza çıkıyor. Bu noktada kullanıcının kimliğini tek seferde doğrulatmak, ardından kimliğini doğrulatmış kullanıcıdan ilgili tüm uygulamalarda bir daha kimlik doğrulaması talep etmemek gerek kullanıcı deneyiminin iyileştirilmesi, gerek bazı güvenlik zafiyetlerinin ortaya çıkmaması adına neredeyse bir zorunluluk halini almıştır.

Single Sign-On nedir?

Türkçeye tek oturum açma olarak tercüme edilebilecek single sign-on, birbiriyle ilişkili ancak birbirinden bağımsız uygulamalar için bir çoklu erişim kontrolüdür. SSO tek bir kullanıcı kimliği ile oturum açarak, çok sayıda uygulama/servise erişme olanağı sağlamaktadır. SSO yetkilendirme sürecinin merkezinde kimlik kontrolünü gerçekleştiren SSO sunucusu yer alır. İstemciler bir uygulama/servise giriş yapmak istediklerinde SSO sunucusuna, kullanıcı adı ve şifreleriyle oturum açmak üzere yönlendirilirler. Oturumun başarıyla açılması sonrası bir oturum anahtarı oluşturulur ve SSO sunucusu, söz konusu anahtarla istemciyi giriş yapılmak istenen uygulama/servise geri yönlendirir.

Bu noktada giriş yapılmak istenen uygulama/servis, kendisine iletilen oturum anahtarını kontrol edip, bir validasyon hatası meydana gelmemişse istemciye giriş yetkisi verecektir. Bu yöntemle, İP ağları üzerinden oturum çerezlerinin de kullanımıyla, tek bir noktada bir defa yetkilendirilmiş bir kullanıcı, aynı sistemdeki tüm uygulama ve servislere sahip olduğu haklarla erişebilecektir.

SSO İmplementasyonları

SSO, tek bir kullanıcı kimliği ile birden fazla uygulama/servise erişebilmek adına ortaya konmuş bir konseptir. Bu konseptin çeşitli dil ve platformlar için geliştirilmiş pek çok implementasyonu bulunmaktadır. Bunlardan bazıları aşağıdaki tabloda listelenmiştir.

ÜrünSağlayıcıLisans
Active Directory Federation ServicesMicrosoftTescilli
Auth0Auth0Tescilli
BitcardBitcardAçık kaynak
Central Authentication ServiceJasigAçık kaynak
Facebook connectFacebookTecilli
IBM Enterprise Identity MappingIBMÜcretsiz yazılım
JBoss SSORed HatÜcretsiz yazılım

Bir küme üzerinde birden fazla uygulamaya erişim ihtiyacı söz konusu olduğunda, ihtiyaçlarınıza cevap veren bir SSO implementasyonu kullanmanız sizi, bir kullanıcı için birden fazla şifre tanımlama/barındırma, kullanıcıyı birden fazla oturum açmaya zorlama, ortak şifre kullanımından kaynaklı güvenlik sorunlarıyla uğraşma vb sıkıntılardan kurtacaktır.

5/5 - (5 votes)