Çeşitli koşullarda LDAP Proxy ihtiyacı duyulabilir. Bu gibi durumlar için OpenLDAP'ı kullanabiliriz. Arkaplanda MS Aktif Dizin veya SAMBA DC olması herhangi bir fark oluşturmamakta. Tabi ki en önemli nokta adreslenecek niteliği belirlemek olacaktır.
Örneğimizde 389 portu üzerinden LDAP proxy yapmak olduğu için aşağıdaki paketleri kurmanız gerekmektedir. Bu çalışma için Pardus 19.x Sunucu sürümü kullanılmıştır.
apt install slapd ldap-utils -y
Paketleri kurduktan sonra adresinde aşağıdaki dosya içeriğine göre /etc/ldap/slapd.conf isminde bir dosya oluşturmanız gerekmektedir. Bu dosyada ADveyaSAMBAIP yerine LDAP kaynağınızın IP veya FQDN adresi, dc=acik,dc=lab yerine ise kendi Temel DN adresinizi yazmanız gerekmektedir.
### Schemas ###########################################################
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
## Modules ##############################################################
moduleload back_ldap.la
moduleload rwm
# Main settings ###############################################################
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
### Database definition (Proxy to AD) #########################################
database ldap
readonly yes
protocol-version 3
rebind-as-user
uri "ldap://ADveyaSAMBAIP:389"
suffix "dc=acik,dc=lab"
overlay rwm
rwm-map attribute uid sAMAccountName
rwm-map attribute mail proxyAddresses
### Logging ###################################################################
loglevel 0
Bu işlemi yaptıktan sonra dosyada herhangi bir sorun olup olmadığına dair kontrol için aşağıdaki komutu çalıştırabilirsiniz. İlgili komutta çeşitli uyarılar (warnings) olabilir. Bunlar önemli değil ama "config file testing succeeded" mesajını gördüyseniz herhangi bir problem yok.
slaptest -f /etc/ldap/slapd.conf
Komut çıktısında " PROXIED attributeDescription "SAMACCOUNTNAME" inserted." ve " PROXIED attributeDescription "PROXYADDRESSES" inserted." gibi iki uyarı göreceksiniz. Normal şartlarda bu pek önemli olmasa da, çözüm için aşağıdaki şema tanımını OpenLDAP şemasına eklemeniz gerekmektedir.
attributetype ( 1.2.840.113556.1.4.221
NAME 'sAMAccountName'
SYNTAX '1.3.6.1.4.1.1466.115.121.1.15'
SINGLE-VALUE )
attributetype ( 1.2.840.113556.1.2.210
NAME 'proxyAddresses'
SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' )
Bu adımda /etc/default/slapd dosyasının ilk satırlarında yer alan SLAPD_CONF satırını aşağıdaki içerik ile değiştirmeniz gerekmekte.
SLAPD_CONF=/etc/ldap/slapd.conf
İlgili ayarı yaptıktan sonra slapd servisini yeniden başlatmanız yeterlidir.
systemctl restart slapd
Artık Test için OpenLDAP sunucusunda localhost olarak veya uzak bir sunucuda OpenLDAP sunucusu adresini yazarak aşağıdaki komutun çıktı verdiğini görmeniz gerekmektedir. Tabi ki gerekli giriş bilgilerini ve Temel DN bilgilerini de yazmanız gerekmektedir:
ldapsearch -h localhost -x -LLL -D "cn=administrator,cn=users,dc=acik,dc=lab" -b "cn=users,dc=acik,dc=lab" -w "ParolaGir" "(cn=Administrator)" name
Eğer geri dönüş olarak hata vermek yerine dn ve name bilgileri geldi ise Vekil işlemi gerçekleşmiştir. Kendi testlerinizi de yapabilirsiniz.
Mandatum morte dissolvitur