İlk olarak şunu belirtmeliyim ki; Eğer Couchbase sunucunuz 6.5 ve üzeri bir sürüme sahipse ‘Native LDAP Support’ ile LDAP bağlantısı yapmanız tavsiye edilir.
SASL kütüphanesinin düz metin kimlik doğrulama isteklerini işleyen arka plan işlemi olan ‘saslauthd’ ile işlemi gerçekleştireceğiz. LDAP veya diğer sunucularda kimlik doğrulamasını desteklemek için kullanılır.
Saslauthd agent her bir Cocuhbase sunucusuna yüklenmesi ve yapılandırılması gerekmektedir. Her bir küme içinde saslauthd veya native LDAP ile LDAP işlemi yapılabilir. İkisi ile aynı anda yapılamamaktadır.
- CentOS 6 için saslauthd 2.1.23 veya daha üstü,
- CentOS 7 için saslauthd 2.1.26 veya daha üstü,
- Ubuntu için saslauthd 2.1.225 veya daha üstü,
- SUSE için saslauthd 2.1.23 veya daha üstü sürümün kurulması gerekmektedir.
Kuruluma geçmeden önce ldapsearch ile LDAP kurulumunun doğruluğunu denetleyelim. Bunun için aşağıda örnekte verilen komutta gerekli değişiklikleri yaparak çalıştıralım.
ldapsearch -LLL -H ldap://ldapserver:389 -D cn=someuser,ou=users,dc=mydomain,dc=com -w Passw0rd -x -bou=users,dc=mydomain,dc=com cn=someuser
saslauthd Paketini Yüklemek
LDAP bağlantısını yaptıktan sonra ‘saslauthd’ programını kurabiliriz.
Ubuntu için aşağıdaki şekilde indirilir.
sudo apt-get install sasl2-bin
Mux Dosya Yolunun Tanımlanması
Couchbase sunucusu, LDAP sunucusu ile iletişim kurmak için saslauthd tarafından sağlanan mux dosyasını kullanır. Bunun için Couchbase sunucusuna mux dosyasının yerinin belirtilmesi gerekmektedir. Couchbase sunucusu mux dosyasını, /var/run/sasl2/mux
ve /var/run/saslauthd/mux
yollarında arar.
- Debian/Ubuntu için : /var/runsasl2/mux dosya yolunda bulunur.
- RHEL/CentOS 6 için : /var/run/saslauthd/mux dosya yolunda bulunur.
- RHEL/CentOS 7 için : /run/saslauthd/mux dosya yolunda bulunur fakat /var/run dizininden Couchbase sunucusunun /var/run/saslauthd/mux konumuna symlink ile erişime izin verir.
Sistem üzerinde mux dosyasının yeri üstte verilen 2 konumdan biri değilse CBAUTH_SOCKPATH ortam değişkenini mux dosyasının gerçek konumuna ayarlanması gerekir. Couchbase sunucusu o yol üzerinden mux dosyasına erişmeye çalışacaktır.
saslauthd ile LDAP Konfigürasyonu Başlamak
- Yükleme işlemi yapıldıktan sonra Couchbase-cli üzerinden setting-saslauthd komutunu kullanarak cluster üzerinde harici kimlik doğrulamayı etkinleştirmemiz gerekmektedir.
couchbase-cli setting-saslauthd -c 10.143.192.101 \ –username Administrator \ –password password \ –enabled 1
–enabled 1 bilgisi harici kimlik doğrulamayı etkinleştirir -enabled 0 ise devre dışı bırakır. Komut başarı ile çalıştığında aşağıdaki gibi bir sonuç döndürmelidir.
SUCCESS: saslauthd settings modified
.
2. Komut başarı ile döndükten sonra LDAP için MECHANISM seçeneğinin yapılandırılması gerekmektedir.
RHEL, CentOS ve Amazon Linux AMI için MECH mekanizmasını /etc/sysconfig/saslauthd yolunda ayarlamak için;
Mech = ldap
Ubuntu/Debian için /etc/default/saslauthd yolunu MECHANISM seçeneğini ldap olarak ayarlamak için;
MECHANISM = ldap
komutları çalıştırılmalıdır. Ayrıca Debian ve Ubuntu için sasl grubuna Couchbase de eklenmelidir. Bunun için aşağıdaki komut çalıştırılır.
sudo adduser couchbase sasl
3. LDAP yapılandırma parametrelerini elde etmek için kullanılan yapılandırma dosyası varsayılan olarak /usr/local/etc/saslauthd.conf dizininde bulunur. Bunu istenen editör ile açarız.
4. ldap_servers ‘ ı ayarlarız.
LDAP sunucularımızın ldap://10.1.1.2 ve ldap//10.1.1.3 olduğunu varsayalım. Listede birden çok LDAP sunucusu belirtilebilir ve daha sonra çevrimiçi olup olmadıklarını kontrol ederiz. OpenLDAP’ı yerel ana makinemize kurarsak ldap://localhost:389 değerini belirtebiliriz. Eğer SSL üzerinden LDAP kullanılıyorsa ldaps://localhost:636 değerini belirtebiliriz.
ldap_servers: ldaps://10.1.1.2 ldaps://10.1.1.3
5. ldap_search_base’i ayarlarız.
LDAP ayırt edici bilgileri belirtilir.
ldap_search_base: ou=Users,dc=company,dc=com
6. ldap_filter ‘ ı ayarlarız.
Yapılandırma seçeneklerinin değerleri, teste özgü değerlere karşılık gelir. Örneğin e-postaya göre filtre uygulamak için ldap_filter:(mail = %n ) belirtilir.
ldap_filter: (uid=%u)
Ardından LDAP seçeneklerini /etc/saslauthd.conf için de yapılandırırız.
ldap_servers: ldaps://ad.example.net ldap_search_base: ou=Users,dc=example,dc=com ldap_filter: (uid=%u
7. sasld’nin başlangıçta otomatik olarak çalışması için aşağıdaki değişikliği yaparız.
START = yes
8. İsteğe bağlı olarak TLS ile saslauthd kullanmak istiyorsak aşağıda yazanları saslauthd/conf dosyasına ekleriz.
ldap_start_tls: yes ldap_tls_cacert_dir: <your-cert-directory> ldap_tls_cacert_file: <your-crt-file>
Üstteki satırları ekledikten sonra ldap_start_tls:yes değerini eklemeniz artık LDAP sunucu yapılandırmasının ldaps: <ldap_server> ‘ı kullanmayacağı anlamına geldiği unutulmamalıdır.
9. Kurulumun test edilmesi.
a. saslauthd servisinin başlatılması (veya chkconfig ile otomatik olarak başlayacak şekilde ayarlanması)
service saslauthd restart
Stopping saslauthd: [ OK ]
Starting saslauthd: [ OK ]
chkconfig saslauthd on
chkconfig –list saslauthd
saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
b. LDAP kimlik doğrulamasını testsaslauthd komut dosyasını kullanarak test ederiz.
sudo -u couchbase /usr/sbin/testsaslauthd -u <username> \ -p mypassword -f /var/run/saslauthd/mux 0
: OK “Success.”
10. Son olarak değiştiriken yapılandırma yollarının aktif hale gelmesi için Couchbase sunucu servisi baştan başlatılır.
$ sudo service couchbase-server restart
saslauthd’den Native LDAP’a geçiş
İlk olarak Native LDAP’ı yapılandırırız. Bunun için aşağıdaki linkten yapabilirsiniz.
Native LDAP konfigürasyonu yapıldıktan sonra saslauthd kimlik doğrulaması devre dışı bırakılır.
couchbase-cli setting-saslauthd -c 10.143.192.101:9001 -u Administrator -p password –enabled 0
Native LDAP kimlik doğrulamasının doğru çalıştığından emin olmak için gerekli testleri yaparız. Herhangi bir sorun çıkarsa saslauthd’ı tekrar etkinleştirip sorun gidermeye odaklanılabilir.