Kerberos Nedir, Nasıl Çalışır?

Kerberos,adını Yunan mitolojisindeki 3 başlı köpekten almıştır. Bu servis Windows 2000 server ve sonrası için default kimlik doğrulama yöntemidir.Normal bir ağ ortamında , şifreler çoğunlukla kullanıcıların kimliklerini doğrulatmak için kullanılır.Şifrelerin ağ üzerinde dolaşması büyük bir güvenlik açığı olduğu için kerberos sistemi MIT (Massachusetts Instıtute of Technology ) tarafından tasarlanmış kimlik denetim sistemidir.Bu işlemleri yaparken client ve server arasında güvenli bir iletişim kurulmasını sağlayan KDC (Key Distribution Center) den yardım alır.
KDC iki kısımdan oluşur;Authentication server (AS) ve Ticket Granting Server (TGS) kerberos kullanıcılarının kimliklerini doğrulamak için ticket kullanılır.

Günümüzde bilgisayar ağlarının yaygınlaşması ile birlikte,kimlik doğrulamada büyük önem kazanmıştır. Çünkü,kullanıcı ağ üzerinden bir talepte bulunduğunda kullanıcıdan bir şifre istenir. Bu şifrede genelde salt metin olarak ağ üzerinden gönderilmektedir. Kerberos servisinin kullanıldığı bir ortamda ise buna ihtiyaç duyulmamaktadır.

Bu süreci 3 adımda özetlemek gerekirse ;

1. Kimlik doğrulaması yapmak isteyen ya da herhangi bir servisten yararlanmak isteyen client
2. Client’in talep ettiği servisi sağlayan server.
3. Hem client hem de server tarafında güvenilir bir iletişim kurulmasını sağlayan KDC

Bir kullanıcı ağ ortamında login olurken , KDC sunucusuna bir kullanıcı tanımı (principal) bildirir.KDC ise TGT (Ticket Granting Ticket) adı verilen özel bir bilet ile session key (SA) oluşturarak kullanıcının şifresini encrypt ettikten sonra istekte bulunan client’a tekrar gönderir. TGT ağ üzerindeki kerberos servislere ulaşmak için üretilen özel bir bilettir Gönderilen bilet’te kullanıcının üye olduğu grupların listesi,kullanıcının adı ve ne kadar süre geçerli olacağını belirleyen zaman bilgisini içeren bilgiler yer alır. Kullanıcı login olurken doğru şifreyi girdiği takdirde TGT biletinin şifresiz halini elde eder. Yanlış girdiği takdir’de ise kimlik denetimi hatası ile karşılaşır.

TGT biletini elde ettikten sonra biletin kullanım süresi dolana kadar ağ üzerinde güvenli bir şekilde dolaşmaya devam edebilir.Eğer bir kullanıcının TGT bileti ele geçirilirse bile bir süre sonra kullanım dışı olacaktır. Bu da default’ta 10 gün olarak belirlenmiştir.Ya da kullanıcı şifresini değiştirene kadar ele geçirilen bilet kullanılıcaktır. Bu da kerberos sisteminin güvenlilk açısından çok önemli bir getirisidir.

Client bilgisayar, aynı domain üzerindeki farklı bir paylaşıma erişmek istediğinde ise elindeki TGT ile KDC üzerinde bulunan TGS servisine erişim sağlar. TGS servisi client bilgisayar ve erişmek istediği kaynağın bulunduğu server için bir çift session ticket oluşturur. Bu ticket’lar kaynağa erişmek isteyen bilgisayar,kaynağın üzerinde olduğu server, talebin ne zaman yapıldığı, ve ticket’ların ne kadar geçerli olacağı bilgilerini içerir.

Client elde ettiği session ticket ile kaynağa erişim sağlar. Kaynağın bulunduğu server üzerinde çalışan LSA (Local Security Authority) servisi session ticket üzerindeki bilgileri kullanarak Access token oluşturur. Son olarak LSA kaynak üzerindeki ACL (Access Control List) ile Access token’daki SID’leri birbirleriyle karşılaştırarak kullanıcının hangi haklarla kaynağa erişim yapması gerektiğini belirler.

Kerberos’un kullanımda olan 2 sürümü vardır.Bunlar sürüm 4 ve sürüm 5’tir.Sürüm 1’den sürüm 3’e kadar olan sürümler iç geliştirme sürümleri olup hiçbir zaman yayınlanmamıştır.Sürüm 4 ise bir çok zayıf yönü bulunduğundan dolayı kullanılması uygun değildir.

Default Domain Policy üzerinde Kerberos servisiyle ilgili özellikleri görüntülüyebilecek ve değişiklikler yapılabilicek ‘’ Kerberos Policy ’’ alt anahtarı bulunur.Bu anahtar altında bulunan özellikleri sırasıyla açıklamak gerekirse.

Enforce user logon restrictions: Default olarak enable olan bu özellik,KDC servisinin kendisine talep gönderen her kullanıcının domain hesabının geçerliliğini kontrol etmesini sağlar.Aynı zamanda kullanıcının ulaşmak istediği bilgisayar üzerinde erişim hakkı olup olmadığınıda kontrol eder.Logon sürecini uzatan bu özelliğin enable olarak set edilmesi önerilir.

Maximum lifetime for service ticket: KDC tarafından kullanıcının erişmek istediği kaynak için sağlanan ‘’ session ticket ‘’ ın geçerlilik süresini temsil eder.10 saat olarak set edilmiştir.Bu sürenin ‘’ user ticket’’ geçerlilik süresinden uzun olmaması gerekir.

Maximum lifetime for user ticket: Client bilgisayara kullanıcı için KDC tarafından sağlanan TGT’nin geçerlilik süresini temsil eder.Yan kullanıcı burada belirtilen süre boyunca domain kaynaklarına erişim için KDC’de session ticket talabinde bulunabilir.Default olarak yine 10 saat olarak ayarlanmıştır.

Maximum lifetime for user ticket renewal: KDC servisinin sağladığı TGT’nin hangi periyotta yenileneceğini temsil eder.Default değer 7 gün set edilmiştir.Bu değerin daha kısa olması güvenliği arttıran bir etken olmasına rağmen KDC üzerindeki yükünü de arttırmış olur.

Maximum tolerance for computer clock synchronization: Hem dc – client hemde client – server arasındaki iletişimin güvenliği açısından kullanılan bütün session ticket ,session key (SA) lerle birlikte timestamp değeride taşınır.Talebin olduğu zamanı belli eden timestamp değerlerinin tutarlı olması için domain bazında saat ayarlarının aynı olması gerekir.Burada set edilen değer ne kadar saat farklılığının tölere edilebileceğinşi açıklar.5 dakika olan default değer düşürülürse başarısız kimlik doğrulama sayısı artacaktır.

Bizim için son derece önemli olan kimlik doğrulama sürecinde yaşanabilecek sorunlar genellikle kolay giderilicek problemlerdir.Yaşanan bu sorunların tespiti ve çözümü için Windows 2003 ile birlikte kullanabileceğimiz 3 farklı araç mevcut.

Cmdkey exe: Kullanıcılara ait özel bilgilerin listelenmesi , silinmesi ve yeni kullanıcı bilgilerinin eklenmesi gibi işlevler için kullanılan bir araçtır.Windows 2003 server ile birlikte gelir.

Kerbtray exe: Kerberos ticket bilgilerini görüntülenen grafik arayüzlü bu araç bize cachelenmiş ticket’ları görme ve temizleme imkanıda sağlar.Bu aracı kullanmak için Windows server resource kit kurulumunu yapmak gerekir.

Klist.exe: Komut satırında çalışan bu araç halihazırda logon olmuş kullanıcılara atanmış ticket’ların görüntülenmesi ve silinmesi için kullanılır.Kerbtray.exe aracı gibi Resource Kit ile birlikte gelir.

1 yorum:

Fatih GÖKGÖZ dedi ki...

Makaleniz çok güzel olmuş tebrik ederim.Yalnız TGT bilet'inin defaultta 10 gün olması gibi bir kaynak var mıdır bizimle paylaşabileceğiniz ?

Yorum Gönder