LDAP
Hafif Dizin Erişim Protokolü (Lightweight Directory Access Protocol)
- Okunuşu
- el-dap
Kısaca
LDAP, bir kuruluşun kullanıcılarını, gruplarını ve cihazlarını tutan merkezi dizin servisinde arama ve güncelleme yapmaya yarayan açık bir protokoldür.
LDAP nedir?
Dizin (directory), sık okunmak için tasarlanmış bir veritabanıdır: kişiler, gruplar, bilgisayarlar ve yazıcılar için kayıtları klasörlere benzer bir ağaç yapısında saklar. Her kaydın uid=alice,ou=people,dc=example,dc=com gibi benzersiz bir ayırt edici adı (distinguished name, DN) ve mail ya da memberOf gibi nitelikleri vardır. 1990'ların başında X.500 dizinlerine daha hafif bir yoldan erişmek için geliştirilen LDAP, bu dizinlerle çalışmanın standart protokolüdür; güncel sürümü LDAPv3, RFC 4511 ve ilgili RFC'lerde tanımlanır.
İstemci bir LDAP sunucusuna bağlanır ve işlemler gönderir: kimlik doğrulamak için bind, (uid=alice) gibi bir filtreye uyan kayıtları bulmak için search, değiştirmek için de add, modify ya da delete. Düz LDAP 389 numaralı portta çalışır ve parolalar dahil her şeyi şifrelemeden gönderir; bu yüzden StartTLS ile korunmalı ya da yerine 636 numaralı portta çalışan LDAPS kullanılmalıdır. Yaygın sunucular arasında Microsoft Active Directory, OpenLDAP ve FreeIPA vardır.
LDAP'ı, her çalışanın ekibini ve giriş kartını da listeleyen bir şirket telefon rehberinde arama yapmanın yolu olarak düşünebilirsiniz. VPN'ler, Git sunucuları, CI sistemleri ve Linux makineleri gibi birçok araç şirket dizinine LDAP üzerinden bağlanır: bir kullanıcının parolasını bind ile denetler ve ne yapabileceğine karar vermek için gruplarını okur; böylece hesaplar tek bir yerden yönetilir.
LDAP sıklıkla Active Directory ve Kerberos ile karıştırılır. Active Directory, Microsoft'un dizin servisidir ve LDAP onunla konuşmak için kullanılan protokollerden biridir; Active Directory ayrıca kullanıcının kim olduğunu biletlerle kanıtlayan Kerberos'u kullanır, LDAP ise kullanıcı hakkındaki bilgileri sorgular. LDAP ile kimlik doğrulama tek oturum açma (SSO) da değildir: her uygulama kendi giriş formunu gösterir ve parolayı dizine karşı denetler; SAML ya da OpenID Connect ise kullanıcıları tek bir kimlik sağlayıcısına yönlendirir, o kimlik sağlayıcısı da hesaplarını çoğu zaman arka planda LDAP'tan okur.
Önemli noktalar
- LDAP, dizin servislerinde arama ve güncelleme yapmaya yarayan bir protokoldür.
- Kayıtlar bir ağaç oluşturur ve ayırt edici adlarla (DN) adlandırılır.
- Uygulamalar parolaları denetlemek ve grup üyeliklerini okumak için LDAP bind kullanır.
- 636 numaralı portta LDAPS ya da StartTLS kullanın; 389 numaralı porttaki düz LDAP şifrelenmez.
- Active Directory, OpenLDAP ve FreeIPA'nın hepsi LDAP'ı destekler.
Örnek
# Find Alice's entry and her groups, over an encrypted LDAPS connection
ldapsearch -H ldaps://ldap.example.com \
-D "cn=app-reader,ou=services,dc=example,dc=com" -W \
-b "ou=people,dc=example,dc=com" \
"(uid=alice)" cn mail memberOf
# The result, in LDIF format:
# dn: uid=alice,ou=people,dc=example,dc=com
# cn: Alice Smith
# mail: alice@example.com
# memberOf: cn=developers,ou=groups,dc=example,dc=comSık sorulan sorular
LDAP ile Active Directory arasındaki fark nedir?
Active Directory, Microsoft'un Windows ağları için geliştirdiği dizin servisidir. LDAP ise dizinlerde sorgulama ve güncelleme yapmaya yarayan açık bir protokoldür; Active Directory de OpenLDAP ve FreeIPA gibi onu destekleyen birçok sunucudan biridir.
LDAP ile Kerberos arasındaki fark nedir?
LDAP kullanıcılar, gruplar ve cihazlar hakkındaki bilgileri saklar ve sorgular. Kerberos ise bilet vererek kimliği kanıtlar. Bir Windows etki alanında oturum açmak Kerberos'u kullanır; uygulamalar da ardından kullanıcının bilgilerini ve gruplarını bulmak için LDAP'ı kullanır.
LDAP güvenli mi?
Yalnızca şifrelendiğinde. Düz LDAP parolaları okunabilir biçimde gönderir; bu yüzden LDAPS ya da StartTLS kullanın, uygulamalara salt okunur servis hesapları verin ve LDAP injection'ı önlemek için arama filtrelerindeki kullanıcı girdisinin özel karakterlerini etkisizleştirin (escape).
İlgili sayfalar
- Kimlik DoğrulamaGüvenlik, s. 24Kimlik doğrulama, bir kullanıcının, cihazın veya servisin gerçekten iddia ettiği kişi olduğunu, örneğin parola ya da passkey kontrol ederek doğrulama işlemidir.
- KerberosGüvenlik, s. 23Kerberos, güvenilir bir sunucunun süreli biletler verdiği bir ağ kimlik doğrulama protokolüdür; kullanıcılar kimliklerini parola göndermeden kanıtlar.
- SSOGüvenlik, s. 47SSO, kullanıcının merkezi bir kimlik sağlayıcıyla bir kez oturum açıp birçok ayrı uygulamaya yeniden kimlik bilgisi girmeden erişmesini sağlar.
- YetkilendirmeGüvenlik, s. 55Yetkilendirme, kimliği doğrulanmış bir kullanıcının ya da servisin hangi verileri okuyabileceğine, değiştirebileceğine veya silebileceğine karar vermektir.
- SAMLGüvenlik, s. 39SAML, XML tabanlı bir tek oturum açma (SSO) standardıdır: kimlik sağlayıcı kullanıcıyı doğrular ve uygulamaya onu giriş yaptıran imzalı bir beyan gönderir.
- RBACGüvenlik, s. 35RBAC, izinleri admin veya editor gibi rollere veren ve kullanıcılara bu rolleri atayarak erişim sağlayan bir yetkilendirme modelidir.
Kaynaklar
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin