Bütün sistemlerde ayrı ayrı kullanıcı hesabı oluşturmadan merkezi olarak hesap yönetimi için çok eskiden NIS kullanıyorduk. Solaris ile birlikte NIS+ kullanmaya başladık. Linux kullanmaya da başlayınca, hem Solaris hem Linux üzerinde ortak kullanabileceğimiz bir çözüm olarak LDAP’e yöneldik. Açık kaynak kodlu olduğu için OpenLDAP’i tercih ettik.
Kullanacağımız çözümde, Solaris ve Linux sistemlerin kullanıcı bilgilerini LDAP sunucudan almasını istiyorduk. Ayrıca, e-posta sistemlerinde kullandığımız Postfix, Dovecot gibi programların LDAP üzerinden kullanıcı bilgilerini almasını ve kimlik doğrulama yapmasını da istiyorduk.
E-posta çözümlerinde, farklı alan adları ile açılmış hesapların aynı LDAP sunucuda tutulmasını ve tek bir noktadan erişim hizmeti verilmesini istiyorduk. Örneğin webmail uygulaması giriş ekranından her bir kullanıcı, e-posta adresini ve şifresini yazarak girebilmeliydi. E-posta adresinin alan adı kısmı farklı bile olsa aynı giriş ekranı kullanılabilmeliydi. E-postasını örneğin telefondaki uygulamadan okumak isteyen kişiler için de alan adından bağımsız olarak sunucu konfigürasyon bilgileri aynı olsun istedik.
Benim için LDAP terminolojisine alışmak kolay olmadı. Çalışma mantığını öğrenirken de zorlandım. Aradığım çözümde, hem UNIX/Linux kullanıcı bilgilerini, hem de e-posta hizmeti verirken ihtiyaç duyduğumuz diğer bilgileri LDAP üzerinde tutmak istiyordum. O’Reilly yayınlarında çıkan LDAP System Administration kitabını okudum ama bazı temel kavramları öğrenmek dışında derdime derman olmadı. Başka bazı kitapların LDAP ile ilgili bölümlerini okudum. Internet üzerinde araştırmalar yaptım. Bunların sonucunda denemeler yaparak bir çözüm geliştirdim.
Güvenlik konusunda pek çok örnek yetersiz kalıyordu. Örneklerin çoğunda ağ paketleri açık olarak gidiyordu. Ben istemci ile sunucu arasındaki haberleşmede ağ paketlerinin kriptolu olarak gitmesini istiyordum. Yine örneklerde LDAP kimlik doğrulaması yapılmadan, gelen sorgular kabul ediliyordu. Ben sadece LDAP üzerinde hesabı olanların sorgulama yapabilmesini istiyordum. Ayrıca herhangi bir kullanıcının, diğer kullanıcıların şifre bilgisine hiç bir şekilde ulaşmasını istemiyordum. Şifreler kriptolu olarak tutulduğu halde, bu kriptolu halinin bile görülmesini istemiyordum. NIS zamanında bu konuda sorunlar yaşamıştık. Başka yerde bulamadığım çözümleri, OpenLDAP Admin Guide dokümanını okuyarak ve denemeler yaparak geliştirdim.
LDAP dizin yapısını tasarlarken konu hakkında fazla tecrübem olmadan tasarlamak zorundaydım. Çeşitli dokümanları kullanarak, gerçek sistem tecrübesi olmadan yaptığım dizin yapısını yıllardır kullanıyoruz. Genel olarak başarılı ama şimdi yapıyor olsaydım bazı yerleri daha farklı tasarlayabilirdim.