AD kimlik doğrulama iki ana protokol kullanır: Kerberos ve NTLM
NTLM
Sertifikasyon süreci şu şekildedir:
- İstemci yerel olarak bir NTLM hash oluşturur ve değer kullanıcının şifresinin hash değeridir.
- İstemci kullanıcı adını uygulama sunucusuna gönderir.
- Uygulama sunucusu, istemci için rastgele bir değer oluşturur; bu genellikle nonce veya meydan okuma olarak adlandırılır.
- istemci nonce'u NTLM hash ile şifreler ve uygulama sunucusuna gönderir.
- Alındıktan sonra, uygulama sunucusu kullanıcı adı ve nonce ile birlikte AD sunucusuna gönderir.
- AD, kullanıcının şifresine göre bir NTLM hash oluşturur, nonce'u şifreler ve ardından istemcinin mesajını karşılaştırır.
- Değerler aynıysa, kimlik doğrulama geçer, farklıysa, kimlik doğrulama başarısız olur.
Kerberos
Anahtar terimler:
- KDC: Anahtar Dağıtım Merkezi, iki hizmet sunar: Kimlik Doğrulama Servisi (AS) ve Bilet Verme Hizmeti (TGS). Alan adı, KDC için krbtgt adlı bir alan hesabı oluşturur ve TGT şifreleme ve şifre çözme için şifreyi kullanır. Bir alan alanı kullanıcısı ilk kez eriştiğinde, AS'nin kimlik doğrulamasını ister; geçişten sonra AS, alan kullanıcısına bir bilet (TGT) sağlamasını ister.
- SPN:Service Principal Name。 Kullanıcı hesaplarının yanı sıra, AD hesaplarının da hizmet hesapları vardır. Uygulamanın ayrıca bir hizmet hesabı da olacak; bu da uygulamanın exchange, SQL, IIS gibi sunucu kaynaklarına erişmesini kolaylaştıracaktır. SPN, uygulama tarafından etkinleştirilen hizmeti AD'deki hizmet hesabıyla ilişkilendirmek için kullanılan bir hizmettir.
Sertifikasyon Süreci:
1. Bir alan alanı kullanıcısı giriş yaptığında, bir AS talebi (AS_REQ) DC'ye gönderilir ve DC, kullanıcının şifre hash ve kullanıcı adıyla şifrelenmiş bir zaman damgası içerir.
2. İstek alındıktan sonra, DC kullanıcının kullanıcı adı ve şifre hash'ını kullanarak şifreyi çözer. DC, istemciye bir oturum anahtarı ve bir TGT (Bilet Verme Bileti) içeren bir AS yanıtı (AS_REP) yanıtlar. Oturum anahtarı, kullanıcının şifre hash'iyle şifrelenmiştir. TGT, grup üyeliği, alan adı, zaman damgası, istemci IP'si ve oturum anahtarını içerir. TGT ayrıca KDC servis hesabı şifresiyle şifrelenmiş ve istemci bunu çözemez. (TGT varsayılan olarak 10 saat geçerlidir ve sonrasında yapılan güncellemeler kullanıcının şifreyi yeniden girmesini gerektirmez)
3. Bir kullanıcı alan adında bir kaynak talep ettiğinde, kullanıcı adı, zaman damgası, TGT ve SPN dahil olmak üzere bir Bilet Verme Hizmeti Talebi (TGS_REQ) gönderilir. Zaman damgaları ve kullanıcı adları oturum anahtarı ile şifreleniyor.
4. İstek alındıktan sonra, KDC önce istekte bir SPN olup olmadığını belirler, ardından TGT'yi çözer, oturum anahtarını ve zaman damgasını TGT'de çıkarır ve TGT'deki oturum anahtarını kullanarak şifrelenmiş kullanıcı adı ve zaman damgasını çözer. Birkaç kontrol yapın:
(1) TGT tarafından çözülen zaman damgası geçerli olmalıdır. (Bir tekrar izleme saldırısı gerçekleşirse, zaman damgası geçersiz sayılır.) )
(2) TGT'deki kullanıcı adının istekteki kullanıcı adıyla tutarlı olup olmadığı.
(3) TGT'deki IP adresinin talepteki IP adresiyle aynı olup olmadığı.
Kontrol, istemcinin Bilet Verme HizmetReply(TGS_REP) dosyasına yanıt verecektir; bu sistem SPN yetkilendirilmiş erişimi, istemci ile SPN arasında erişim için kullanılan yeni oturum anahtarını ve yeni Servis Bileti hizmet biletini (yeni oturum anahtarı, kullanıcı adı ve kullanıcı grubu dahil) içerir. Hem yetkilendirilmiş SPN hem de SPN'ye erişen oturum anahtarı, TGT'deki oturum anahtarı ile şifrelenir. Hizmet bileti, ilgili SPN hizmet hesabının şifresiyle şifrelenmiştir.
1. Yukarıdaki işlemden sonra, kullanıcı uygulama hizmetiyle ilgili oturum anahtarı ve hizmet biletini elde etmiş olur. Kullanıcı, kullanıcı adı ve zaman damgasını içeren ve bir oturum anahtarı ile şifrelenmiş bir uygulama hizmetine bir Uygulama Talebi (AP_REQ) gönderir.
2. Uygulama servisi, hizmet biletini çözmek ve kullanıcı, kullanıcı grubu ile oturum anahtarını çıkarmak için hizmet hesabı şifre hash'ını kullanır. Şifresi çözülen oturum anahtarıyla AP_REQ kullanıcı adını ve zaman damgasını şifre edin. AP_REQ Eğer öyleyse, talep kabul edilir ve uygulama hizmeti hizmet biletindeki kullanıcı grubu bilgilerine göre izinler atar, böylece kullanıcı istenen hizmete erişebilir.
Orijinal adres:Bağlantı girişi görünür.
|