Doküman

Debian 11’de OpenLDAP Sunucusu Nasıl Kurulur

OpenLDAP nedir?

OpenLDAP , ağ istemcilerine dizin hizmetleri sağlayan açık kaynaklı ve hızlı bir dizin sunucusudur . İstemci uygulamaları , o sunucuda depolanan kurumsal bilgilere erişmek için Basit Dizin Erişim Protokolü’nü (LDAP) kullanarak OpenLDAP sunucusuna bağlanır . Uygun erişim verildiğinde, istemciler dizini arayabilir, dizindeki kayıtları düzenleyebilir ve değiştirebilir. OpenLDAP, dizindeki verilerin hem okunmasında hem de değiştirilmesinde etkilidir.

OpenLDAP sunucuları en yaygın olarak kullanıcı hesaplarının merkezi yönetimini sağlamak için kullanılır. Örneğin, OpenLDAP’de bir hesap oluşturabilirsiniz ve eğer bir posta sunucusuna , FTP sunucusuna , Samba sunucusuna veya başka bir sunucuya bağlıysa, her sunucu için yeni bir hesap oluşturmadan bu sunucularda oturum açmak için aynı hesabı kullanabilirsiniz. .

OpenLDAP, X.500 dizin hizmetine kıyasla hafif olarak kabul edilir. LDAP v3’ün yalnızca 9 temel işlemi vardır ve programcılar ve yöneticiler için daha basit bir model sağlar.

Adım 1: OpenLDAP Sunucusunu Debian 11’e kurun

Debian 11 paket deposundan OpenLDAP sunucusunu ve istemci komut satırı yardımcı programlarını kurmak için aşağıdaki komutu çalıştırın. slapd, Stand-Alone LDAP Daemon anlamına gelir.

sudo apt install slapd ldap-utils

LDAP dizinindeki yönetici girişi için bir parola belirlemeniz istenecektir.

Tamamlandığında, slapd otomatik olarak başlatılacaktır. Durumunu şu şekilde kontrol edebilirsiniz:

systemctl status slapd

Varsayılan olarak, /etc/default/slapd dosyasında tanımlandığı gibi openldap kullanıcısı olarak çalışır.

Adım 2: Temel Kurulum Sonrası Yapılandırma

Yükleme işlemi, paketi herhangi bir yapılandırma olmadan kurar. OpenLDAP sunucumuzun düzgün çalışması için kurulum sonrası bazı temel yapılandırmalar yapmamız gerekiyor. Yapılandırma sihirbazını başlatmak için aşağıdaki komutu çalıştırın.

sudo dpkg-reconfigure slapd

Burada bir dizi soruyu yanıtlamanız gerekecek. Bu soruları aşağıdaki gibi yanıtlayın:

LDAP sunucu yapılandırmasını atla : HAYIR .

Debian ‘da Openldap kurulumu

DNS alan adı : Alan adınızı aşağıdaki gibi giriniz linuxbabe.com. Alan adınız için doğru bir A kaydı belirlemeniz gerekecektir. Gibi bir alt etki alanı da kullanabilirsiniz directory.linuxbabe.com. Bu bilgi, LDAP dizininin temel DN’sini (ayırt edici ad) oluşturmak için kullanılır.

Kuruluş adı : LinuxBabe gibi kuruluşunuzun adını girin .

Yönetici şifresi : Kurulum sırasında ayarlanan aynı şifreyi girin.

  • Kullanılacak veritabanı arka ucu: MDB .
  • BDB (Berkeley Veritabanı) yavaş ve zahmetlidir. Kullanımdan kaldırılmıştır ve gelecekteki OpenLDAP sürümlerinde destek kaldırılacaktır.
  • HDB (Hiyerarşik Veritabanı), BDB arka ucunun bir çeşididir ve ayrıca kullanımdan kaldırılacaktır.
  • MDB okumaları, BDB’den 5-20 kat daha hızlıdır. Yazma işlemleri 2-5 kat daha hızlıdır. Ve BDB’nin 1/4’ü kadar RAM tüketir. Bu yönlendirme arka ucu olarak MDB’yi seçiyoruz.

Slapd temizlendiğinde veritabanının kaldırılmasını istiyor musunuz? HAYIR .

Eski veritabanı taşınsın mı? evet .

LDAPv2 protokolüne izin verilsin mi? Hayır. LDAP’nin en son sürümü 1997’de geliştirilen LDAP v.3’tür. LDAPv2 artık kullanılmamaktadır.

Şimdi süreç, OpenLDAP hizmetini yanıtlarınıza göre yeniden yapılandıracak.

OpenLDAP sunucusunuz artık kullanım hazır.

Bir hata yaptıysanız, OpenLDAP’yi yeniden yapılandırmak için her zaman sudo dpkg-reconfigure slapd komutunu tekrar çalıştırabilirsiniz.

3. Adım: LDAP İstemcilerini Yapılandırma

/etc/ldap/ldap.conf, tüm OpenLDAP istemcileri için yapılandırma dosyasıdır. Bu dosyayı açın.

sudo nano /etc/ldap/ldap.conf

İki parametre belirlememiz gerekiyor: OpenLDAP sunucumuzun temel DN’si ve URI’si. Aşağıdaki metni kopyalayıp dosyanın sonuna yapıştırın. Etki alanınızı ve com’u uygun şekilde değiştirin.

BASE     dc=your-domain,dc=com
URI      ldap://localhost

İlk satır, temel DN’yi tanımlar. İstemci programlarına dizinde aramalarına nereden başlayacaklarını söyler. OpenLDAP sunucusunu yapılandırırken bir alt etki alanı kullandıysanız, alt etki alanını buraya şu şekilde eklemeniz gerekir.

BASE      dc=subdomain,dc=your-domain,dc=com

İkinci satır, OpenLDAP sunucumuzun URI’sini tanımlar. LDAP sunucusu ve istemcisi aynı makinede olduğundan, URI’yi ldap://localhost olarak ayarlamalıyız. İhtiyaç duyulursa daha sonra birden çok URI ekleyebilirsiniz.

Dosyayı kaydedin ve kapatın.

4. Adım : OpenLDAP Sunucusunu Test Etme

Artık OpenLDAP sunucusu çalıştığına ve istemci yapılandırması yapıldığına göre, sunucuya test bağlantıları yapmak için aşağıdaki komutu çalıştırın.

ldapsearch -x

Komutunun çıktısı aşağıdakine benzer olmalıdır.

# extended LDIF
#
# LDAPv3
# base <dc=linuxbabe,dc=com> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# linuxbabe.com
dn: dc=linuxbabe,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: LinuxBabe
dc: linuxbabe

# admin, linuxbabe.com
dn: cn=admin,dc=linuxbabe,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

Sonuç: “0″ Başarılı, OpenLDAP sunucusunun çalıştığını gösterir. Aşağıdaki hatayı alırsanız sorun var demektir.

5. Adım : LDAP Hesap Yöneticisini Yükleme

LDAP Hesap Yöneticisi , OpenLDAP sunucusunu yönetmek için web tabanlı bir programdır. OpenLDAP sunucumuzu yönetmek için komut satırı yardımcı programları kullanılabilir, ancak kullanımı kolay bir arayüz isteyenler için LDAP Hesap Yöneticisi’ni yükleyebilirsiniz.

Debian paket deposundan LDAP Hesap Yöneticisini kurmak için aşağıdaki komutu çalıştırın.

sudo apt install ldap-account-manager

Debian sunucunuzun çalışan bir web sunucusu yoksa, yukarıdaki komut Apache web sunucusunu bir bağımlılık olarak kuracaktır. Zaten Nginx gibi bir web sunucusu varsa, Apache kurulmayacaktır.

6. Adım : Gerekli ve doldurulması PHP Modüllerini Kurun

LDAP hesap yöneticisi tarafından gerekli veya önerilen PHP modüllerini kurmak için aşağıdaki komutu çalıştırın.

sudo apt install php7.4-fpm php7.4-imap php7.4-mbstring php7.4-mysql php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-bz2 php7.4-intl php7.4-gmp php7.4-redis

7. Adım : LDAP Hesap Yöneticisi için Sanal Ana Bilgisayar Oluşturun

Apache

Apache web sunucusu kullanıyorsanız, LDAP Hesap Yöneticisi için bir sanal ana bilgisayar oluşturun.

sudo nano /etc/apache2/sites-available/ldap-account-manager.conf

Aşağıdaki metni dosyaya yerleştirin. openldap.example.com’u gerçek alan adınızla değiştirin ve bunun için DNS A kaydı ayarlamayı unutmayın.

<VirtualHost *:80>
  ServerName openldap.example.com
  DocumentRoot /usr/share/ldap-account-manager

  ErrorLog ${APACHE_LOG_DIR}/ldap-account-manager_error.log
  CustomLog ${APACHE_LOG_DIR}/ldap-account-manager_access.log combined

  Alias /lam /usr/share/ldap-account-manager
  <Directory />
    Options FollowSymLinks
    AllowOverride All
    Require all granted
    DirectoryIndex index.html
  </Directory>

  <Directory /var/lib/ldap-account-manager/tmp>
    Options -Indexes
  </Directory>

  <Directory /var/lib/ldap-account-manager/tmp/internal>
    Options -Indexes
    Require all denied
  </Directory>

  <Directory /var/lib/ldap-account-manager/sess>
    Options -Indexes
    Require all denied
  </Directory>

  <Directory /var/lib/ldap-account-manager/config>
    Options -Indexes
    Require all denied
  </Directory>

  <Directory /usr/share/ldap-account-manager/lib>
    Options -Indexes
    Require all denied
  </Directory>

  <Directory /usr/share/ldap-account-manager/help>
    Options -Indexes
    Require all denied
  </Directory>

  <Directory /usr/share/ldap-account-manager/locale>
    Options -Indexes
    Require all denied
  </Directory>

</VirtualHost>

Dosyayı kaydedin ve kapatın. Ardından bu sanal ana bilgisayarı aşağıdaki komutla etkinleştirin:

sudo a2ensite ldap-account-manager.conf

Değişikliklerin etkili olması için Apache’yi yeniden yükleyin.

sudo systemctl reload apache2

Nginx

Nginx web sunucusu kullanıyorsanız, LDAP Hesap Yöneticisi için bir sanal ana bilgisayar oluşturun.

sudo nano /etc/nginx/conf.d/ldap-account-manager.conf

Aşağıdaki metni kopyalayın ve dosyaya yapıştırın. ldap.alan-adiniz.com’u tercih ettiğiniz alan adıyla değiştirin.

server {
        listen 80;
        server_name openldap.your-domain.com;

        root /usr/share/ldap-account-manager/;
        index index.php index.html index.htm;

        error_log /var/log/nginx/ldap-account-manager.error;
        access_log /var/log/nginx/ldap-account-manager.access;

        location ~ \.php$ {
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
            include fastcgi_params;
        }
}

Dosyayı kaydedin ve kapatın. Ardından Nginx yapılandırmalarını test edin.

sudo nginx -t

Test başarılı olursa, değişikliklerin etkili olması için Nginx’i yeniden yükleyin.

sudo systemctl reload nginx

Artık openldap.example.com adresinden LDAP Hesap Yöneticisi web arayüzüne erişebilirsiniz.

8. Adım: HTTPS’yi Etkinleştirme

HTTP trafiğini şifrelemek için Let’s Encrypt’ten verilen ücretsiz bir TLS sertifikası yükleyerek HTTPS’yi etkinleştirebiliriz. Let’s Encrypt istemcisini (certbot) Debian sunucusuna kurmak için aşağıdaki komutu çalıştırın.

sudo apt install certbot

Apache kullanıyorsanız, Certbot Apache eklentisini yükleyin..

sudo apt install python3-certbot-apache

Ve TLS sertifikası almak ve yüklemek için bu komutu çalıştırın.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d openldap.example.com

Nginx kullanıyorsanız, Certbot Nginx eklentisini de yüklemeniz gerekir.

sudo apt install python3-certbot-nginx

Ardından, TLS sertifikası almak ve yüklemek için aşağıdaki komutu çalıştırın.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d openldap.example.com
  • --nginx: nginx eklentisini kullanın.
  • --apache: Apache eklentisini kullanın.
  • --agree-tos: Hizmet şartlarını kabul edin.
  • --redirect: HTTPS’yi 301 yönlendirmesiyle zorla.
  • --hsts: Her HTTP yanıtına Strict-Transport-Security başlığını ekleyin. Tarayıcıyı etki alanı için her zaman TLS kullanmaya zorlama. SSL/TLS Stripping’e karşı koruma sağlar.
  • --staple-ocsp: OCSP Zımbalamayı etkinleştirir. Sunucunun TLS sırasında sunduğu sertifikaya geçerli bir OCSP yanıtı zımbalanır.

Aşağıdaki mesajda belirtilen sertifika şimdi alınmalı ve otomatik olarak kurulmalıdır.

9. Adım: LDAP Hesap Yöneticisi Web Arayüzüne Erişme

Artık LDAP Hesap Yöneticisi aracını web tarayıcımızla test edebiliriz. LDAP Hesap Yöneticisi ilk yüklendiğinde sizi oturum açma sayfasına yönlendirir.

Oturum açmadan önce sunucu profilini yapılandırmamız gerekiyor. Sağ üst köşedeki LAM yapılandırma bağlantısını tıklayın , ardından Sunucu profillerini düzenle öğesini seçin .

Varsayılan profil parolasını “lam” olarak girin.

Genel ayarlar sekmesinde, varsayılan olarak dc=alanınız,dc=org olan Ağaç son ekini bulacaksınız. Bunu kendi temel DN’nize (ayırt edici ad) değiştirmeniz gerekir. Bizim örneğimizde, onu dc=linuxbabe,dc=com olarak değiştirmemiz gerekiyor.

Güvenlik ayarları bölümüne ilerleyin, geçerli kullanıcıların listesini bulacaksınız. Varsayılan olarak yalnızca bir kullanıcı vardır: cn=Manager,dc=my-domain,dc=com. Bu, oturum açma DN’si olarak bilinir. Ortak adı (cn) admin olarak değiştirin ve ayrıca temel DN’yi değiştirin. Bizim örneğimizde, oturum açma DN’sini cn=admin,dc=linuxbabe,dc=com olarak değiştirmemiz gerekiyor.

Varsayılan profil parolasını değiştirmek de iyi bir fikirdir.

Ardından yukarı kaydırın ve Hesap türleri sekmesini seçin. Kullanıcılar ve gruplar için LDAP son ekini bulacaksınız. Onları da değiştirin.

  • ou=People,dc=linuxbabe,dc=com
  • ou=group,dc=linuxbabe,dc=com

Son olarak Kaydet butonuna tıkladığınızda giriş sayfasına yönlendirileceksiniz. Yönetici hesabını kullanarak giriş yapabileceksiniz.

Parola, 2. adımda OpenLDAP sunucusunun yapılandırılması sırasında belirlediğiniz yönetici parolasıdır. LDAP Hesap Yöneticisi’nde oturum açtığınızda, bu dizin sunucusunu yönetebilirsiniz.

Varsayılan ana parolayı değiştirmek de çok önemlidir. LDAP hesap yöneticisinden çıkın, ardından LAM konfigürasyonu -> Genel ayarları düzenle’yi seçin. Oturum açmak için varsayılan ana parolayı kullanın, ardından aşağı kaydırın ve ana parolayı değiştirin.

Yazının orijinalini buradan okuyabilirsiniz.