Araç çubuğuna atla

Couchbase’de SASL Kütüphanesi ile LDAP Konfigürasyonu

İ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

  1. 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.

Database Administrator at Nubes Bilişim Danışmanlık ve Ticaret A.Ş https://www.linkedin.com/in/selmanday%C4%B1o%C4%9Flu145/

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back To Top