Toplam 2 adet sonuctan sayfa basi 1 ile 2 arasi kadar sonuc gösteriliyor
  1. #1
    Üyelik tarihi
    03.Ekim.2014
    Mesajlar
    3,101
    Aldığı Teşekkür
    54
    Ticaret Puanı
    0

    Standart 389 Directory Server (LDAP) Kurulum ve Yapılandırması

    Linux ve açık kaynak kod teknolojiler barındıran altyapılar için, merkezi kimlik denetimi işleri için bir ldap dizin servisi ihtiyacı olduğu zaman OpenLDAP dahil kullanılabilecek bir kaç alternatif var. Multi Master replikasyon desteği, yüksek performans, LDAPv3 uyumluluğu gibi güzel özellikleri ve kullanışlı bir arayüze sahip olmasından dolayı -Directory Server- alternatifler arasında iyi bir tercih olmaktadır. RHEL tarafından geliştirilmekte olan 389-DS hemen her tür operasyonu da online olarak gerçekleştirebilmesinden mütevellit, üretim ortamları için de çok uygun bir directory serverdır.

    Bu yazıda, tüm özelliklerine https://directory.fedoraproject.org/.../features.html adresinden erişelebilecek olan 389 Directory Server'ın, CentOS 6.6 sürümü üzerinde nasıl kurulacağı; temel ve genel güvenlik ayarlarının yapılarak nasıl servisin nasıl devreye alınabileceğine değineceğim. Yazının sonraki bölümlerinde ise Master & Slave replication ve SSSD üzerinden SSH servisinin ve SUDO entegrasyonlarından bahsedeceğim.

    Kurulum

    Öncelikle dizin servisinin düzgün çalışabilmesi için hostname, alan adı ve çözümleme konularında herhangi bir aksaklık olmaması gerekiyor. Bu nedenle sunucunuza ait tam ismi (FQDN) DNS sunucunuza -olmadı hosts- dosyanıza eklemeniz gerekiyor. Benim test ortamında 389-ds kurulumunu yapacağım sunucunun hostname'i ldap01, domain'i linuxakademi.lab ve ip adresi 10.10.10.10 bu nedenle hosts dosyama aşağıdaki şekilde bir kayıt ekliyorum.

    scription">PHP- Kodu:
    ***nbsp;echo "10.10.10.10 ldap01.linuxakademi.lab ldap01" >> /etc/hosts 
    Aynı şekilde ilgili kaydı DNS sunucunuzda da tanımlayarak, networkünüzün her node’undan aynı isimle erişilebildiğinden emin olun.
    Ardından iptables’a gerekli kuralları ekliyoruz:

    description">PHP- Kodu:
    ***nbsp;iptables -A INPUT -i eth0 -p tcp --dport 389 -j ACCEPT
    ***nbsp;iptables -A INPUT -i eth0 -p tcp --dport 636 -j ACCEPT
    ***nbsp;iptables -A INPUT -i eth0 -p tcp --dport 9830 -j ACCEPT
    ***nbsp;/etc/init.d/iptables save
    /etc/init.d/iptables reload 


    Şimdi de SELinux'u kapatalım:

    PHP- Kodu:
    ***nbsp;sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
    ***nbsp;setenforce 0 
    Sonra file descriptor ve tcp stack üzerinde küçük bir iki tanımlama ile performance tuning yapalım:
    PHP- Kodu:
    ***nbsp;echo "net.ipv4.tcp_keepalive_time = 300" >> /etc/sysctl.conf
    ***nbsp;echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf
    ***nbsp;echo "*               soft     nofile          8192" > /etc/security/limits.d/90-nofile.conf     
    ***nbsp;echo "*               hard     nofile          8192" >> /etc/security/limits.d/90-nofile.conf
    ***nbsp;echo "ulimit -n 8192" >> /etc/profile
    ***nbsp;echo "session     required     /lib64/security/pam_limits.so" >> /etc/pam.d/system-auth 
    Ayrıca, /proc/sys/fs/file-max dosyasındaki değerin, 64000'den büyük olduğuna emin olalım. Modern sistemlerde bu değer genelde daha büyük olacaktır, ancak eğer değilse minimum 64000 yapmalısınız.

    [LEFT]Şimdi özellikle tuning ayarlarının aktif olması için sistemi reboot edelim.

    PHP- Kodu:
    ***nbsp;reboot 
    [LEFT]Sistem açıldıktan sonra, 389 ds'i paket yöneticisinden kurmak üzere EPEL ve remi repolarının sisteme ekleyelim:

    PHP- Kodu:
    ***nbsp;rpm -Uvh https://ftp.linux.org.tr/epel/6/x86_64/epel-release-6-8.noarch.rpm
    ***nbsp;rpm -Uvh https://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
    Ardından 389-ds paketeni sisteme kuruyoruz:

    PHP- Kodu:
    ***nbsp;yum install -y 389-ds 
    Kurulumlar tamamlandıktan sonra dizin servisinin yapılandırılması işlemine geçiyoruz:
    Genel Yapılandırma

    devam edin.


    This program will set up the 389 Directory and Administration Servers.


    ================================================== ============================
    PHP- Kodu:
    Your system has been scanned for potential problemsmissing patches,
    etc.  The following output is a report of the items found that need to
    be addressed before running this software in a production
    environment
    .

    389 Directory Server system tuning analysis version 23-FEBRUARY-2012.

    NOTICE 
    System is x86_64-unknown-linux2.6.32-504.3.3.el6.x86_64 (1 processor).

    Would you like to continue? [no]: yes 
    dsktune aracı bir daha çalıştırıldı ve sistem check edildi. Herhangi bir warning verilmedi. Devam etmek istiyor muyuz ? Evet.
    ================================================== ============================
    PHP- Kodu:
    Choose a setup type:

       
    1. Express
           Allows you to quickly set up the servers using the most
           common options 
    and pre-defined defaultsUseful for quick
           evaluation of the products
    .

       
    2. Typical
           Allows you to specify common defaults 
    and options.

       
    3. Custom
           Allows you to specify more advanced options
    This is
           recommended 
    for experienced server administrators only.

    To accept the default shown in bracketspress the Enter key.

    Choose a setup type [2]: 
    Ne tip bir kurulum yapacağız ? Express, Typical ya da Custom seçeneklerinden birini seçebiliriz. Biz tipik bir kurulum yapacağımız için 2 diyerek devam ediyoruz.
    ================================================== ============================
    PHP- Kodu:
    Enter the fully qualified domain name of the computer
    on which you
    're setting up server software. Using the form
    .
    Example: eros.example.com.

    To accept the default shown in brackets, press the Enter key.

    Warning: This step may take a few minutes if your DNS servers
    can not be reached or if DNS is not configured correctly.  If
    you would rather not wait, hit Ctrl-C and run this program again
    with the following command line option to specify the hostname:

        General.FullMachineName=your.hostname.domain.name

    Computer name [ldap01.linuxakademi.lab]: 
    Bu alanda sistemimizin tam alan adını belirtiyoruz. Bu nokta servisin düzgün çalışması için önemlidir. Kurulumun FQDN'i kendisinin detect etmesi herşeyin yolunda olduğunu gösterir.

    ================================================== ============================
    PHP- Kodu:
    The servers must run as a specific user in a specific group.
    It is strongly recommended that this user should have no privileges
    on the computer 
    (i.ea non-root user).  The setup procedure
    will give this user
    /group some permissions in specific paths/files
    to perform server
    -specific operations.

    If 
    you have not yet created a user and group for the servers,
    create this user and group using your native operating
    system utilities
    .

    System User [nobody]:
    System Group [nobody]: 
    Servisin hangi user ve grup üzerinden çalıştırılacağını belirlediğimiz bölüm. Burada, default olarak nobody seçiyoruz.
    ================================================== ============================
    PHP- Kodu:
    Server information is stored in the configuration directory server.
    This information is used by the console and administration server to
    configure 
    and manage your servers.  If you have already set up a
    configuration directory server
    you should register any servers you
    set up 
    or create with the configuration server.  To do sothe
    following information about the configuration server is required
    the
    fully qualified host name of the form
    .(e.ghostname.example.com), the port number
    (default 389), the suffixthe DN and password of a user having
    permission to write the configuration information
    usually the
    configuration directory administrator
    , and if you are using security
    (TLS/SSL).  If you are using TLS/SSLspecify the TLS/SSL (LDAPSport
    number 
    (default 636instead of the regular LDAP port number, and
    provide the CA certificate (in PEM/ASCII format).

    If 
    you do not yet have a configuration directory serverenter 'No' to
    be prompted to set up one
    .

    Do 
    you want to register this software with an existing
    configuration directory server
    ? [no]: 
    Sistem üzerinde daha önceden yapılandırılmış bir dizin servisini olup olmadığını ve bu kurulumu register edip etmek isteyip istemediğimizi soran bölüm. Biz yeni kurulum yapıyor olduğumuzdan burada "no" diyoruz.

    ================================================== ============================
    PHP- Kodu:
    Please enter the administrator ID for the configuration directory
    server
    .  This is the ID typically used to log in to the console.  You
    will also be prompted 
    for the password.

    Configuration directory server
    administrator ID 
    [admin]:
    Password:
    Password (confirm): 
    Dizin servisinin konsoluna bağlanma ve management işlemleri sırasında kullanılacakusername / password ikilisini set ettiğimiz bölüm. Burada kullanıcı ve şifremizi tanımlıyoruz.
    ================================================== ============================
    PHP- Kodu:
    The information stored in the configuration directory server can be
    separated into different Administration Domains
    .  If you are managing
    multiple software releases at the same time
    , or managing information
    about multiple domains
    you may use the Administration Domain to keep
    them separate
    .

    If 
    you are not using administrative domainspress Enter to select the
    default.  Otherwiseenter some descriptiveunique name for the
    administration domain
    such as the name of the organization
    responsible 
    for managing the domain.

    Administration Domain [linuxakademi.lab]: 
    Yönetici domainin ne olacağını belirten bölüm. Bizim sadece bir alanımız olduğu için burada linuxakademi.lab şeklinde beliryiroruz.

    ================================================== ============================
    PHP- Kodu:
    The standard directory server network port number is 389.  However, if
    you are not logged as the superuser, or port 389 is in use, the
    default value will be a random unused port number greater than 1024.
    If you want to use port 389make sure that you are logged in as the
    superuser
    that port 389 is not in use.

    Directory server network port [389]: 
    Dizin servisinin portu. Default 389.
    ================================================== ============================
    PHP- Kodu:
    Each instance of a directory server requires a unique identifier.
    This identifier is used to name the various
    instance specific files 
    and directories in the file system,
    as 
    well as for other uses as a server instance identifier.

    Directory server identifier [ldap01]: 
    Dizin servisinin tanımlayıcısı. Burada hostname'imizi kullanıyoruz.

    ================================================== ============================
    PHP- Kodu:
    The suffix is the root of your directory tree.  The suffix must be a valid DN.
    It is recommended that you use the dc=domaincomponent suffix convention.
    For 
    example, if your domain is example.com,
    you should use dc=example,dc=com for your suffix.
    Setup will create this initial suffix for you,
    but you may have more than one suffix.
    Use 
    the directory server utilities to create additional suffixes.

    Suffix [dc=linuxakademidc=lab]: 
    Sistemdeki kök dizin ağacını tanımlıyoruz. Default dc=linuxakademi, dc=lab

    ================================================== ============================
    PHP- Kodu:
    Certain directory server operations require an administrative user.
    This user is referred to as the Directory Manager and typically has a
    bind Distinguished Name 
    (DNof cn=Directory Manager.
    You will also be prompted for the password for this user.  The password must
    be at least 8 characters long
    , and contain no spaces.
    Press Control-or type the word "back"then Enter to back up and start over.

    Directory Manager DN [cn=Directory Manager]:
    Password:
    Password (confirm): 
    Administrative user'ımız. Burada default olarak "cn=Directory Manager" DN'ini kullanacağız ve 8 karakterli bir şifre tanımlayacağız. (Bir önce tanımladığımız admin user'ı ile aynı şifreyi verebilirsiniz.)
    ================================================== ============================
    PHP- Kodu:
    The Administration Server is separate from any of your web or application
    servers since it listens to a different port 
    and access to it is
    restricted
    .

    Pick a port number between 1024 and 65535 to run your Administration
    Server on
    You should NOT use a port number which you plan to
    run a web 
    or application server onratherselect a number which you
    will remember 
    and which will not be used for anything else.

    Administration port [9830]: 
    Yönetimsel işlemler için kullanılacak (consol) port. Default 9830.

    ================================================== ============================
    PHP- Kodu:
    The interactive phase is complete.  The script will now set up your
    servers
    .  Enter No or go Back if you want to change something.

    Are you ready to set up your servers? [yes]: 
    Son olarak yapılandırmanın tamamlanması için evet diyoruz.
    ================================================== ============================
    PHP- Kodu:
    [LEFT]Yapılandırmanın sorunsuz tamamlandığını  belirten çıktıdan sonradirsrv isimli dizin servisi süreci ve  dirsrv-admin isimli console servisi start edilecek ve erişime hazır  duruma gelecektir.
    Kullanmaya başlamadan önce bu iki servisi startup’a ekliyoruz:
    Bu  komutu çalıştırdığınız zamanyapılandırma işlemleri için bir takım  sorular sorulacaktırYapılandırma işlemlerinin tam bir çıktısı ve  sorulan soruların anlamları aşağıda bold ve kırmızı olarak verilmiştir.  İlgili ibareleri izleyerek kendi tanımlamalarınızı da bu şekilde  yapınız:

    [
    PHP]This program will set up the 389 Directory and Administration Servers.

    It is recommended that you have "root" privilege to set up the software.
    Tips for using this program:
      - 
    Press "Enter" to choose the default and go to the next screen
      
    Type "Control-B" then "Enter" to go back to the previous screen
      
    Type "Control-C" to cancel the setup program

    Would you like to 
    continue with set up? [yes]: 
    Setup'a devam etmek isteyip istemediğinizi soran ilk soru; yes diyerek # chkconfig dirsrv on
    # chkconfig dirsrv-admin on
    Şu anda servis sorunsuz olarak çalışıyor olmalıdır, test etmek için aşağıdaki ldapsearch komutunu kullanalım:Herşeyin yolunda olduğu rapor edildiyse, aşağıdaki komut ile yapılandırma işlemine başlıyoruz:

    PHP- Kodu:
    ***nbsp;setup-ds-admin.pl 
    # ldapsearch -x -b "dc=linuxakademi,dc=lab"
    Yapılandırmaya başlamadan önce, 389-ds paketi ile birlikte gelen ve sistemi tarayıp gerekli paketlerin ve yamaları, yeterli memory olup olmadığını ve diğer sistem ayarlarını check eden "dsktune" isimli uygulamayı çalıştırıyoruz:

    PHP- Kodu:
    ***nbsp;dsktune 
    Bu araç, sistemi tarayacak ve herhangi bir sorun olmaması durumunda aşağıdakine benzer bir çıktı verecektir.


    PHP- Kodu:
    389 Directory Server system tuning analysis version 23-FEBRUARY-2012.

    NOTICE 
    System is x86_64-unknown-linux3.8.13-68.1.3.el6uek.x86_64 (2 processor). 
    Sizdeki çıktıda herhangi bir WARNING var ise bahsi geçen problemi gidermeniz ve dsktune’u yeniden çalıştırmanız gerekmektedir.
    [/PHP]
    Komut herhangi bir hata vermeden, dizin şemasını aşağıdakine benzer şekilde görüntüleyecektir.
    PHP- Kodu:
    ***nbsp;extended LDIF
    #
    ***nbsp;LDAPv3
    ***nbsp;base <dc=linuxakademi,dc=lab> with scope subtree
    ***nbsp;filter: (objectclass=*)
    ***nbsp;requesting: ALL
    #

    ***nbsp;linuxakademi.lab
    dndc=linuxakademi,dc=lab
    objectClass
    top
    objectClass
    domain
    dc
    linuxakademi

    ***nbsp;Directory Administrators, crom.lab
    dncn=Directory Administrators,dc=linuxakademi,dc=lab
    objectClass
    top
    objectClass
    groupofuniquenames
    cn
    Directory Administrators
    uniqueMember
    cn=Directory Manager

    ***nbsp;Groups, linuxakademi.lab
    dnou=Groups,dc=linuxakademi,dc=lab
    objectClass
    top
    objectClass
    organizationalunit
    ou
    Groups

    ***nbsp;People, linuxakademi.lab
    dnou=People,dc=linuxakademi,dc=lab
    objectClass
    top
    objectClass
    organizationalunit
    ou
    People

    ***nbsp;Special Users, linuxakademi.lab
    dnou=Special Users,dc=linuxakademi,dc=lab
    objectClass
    top
    objectClass
    organizationalUnit
    ou
    Special Users
    description
    Special Administrative Accounts

    ***nbsp;Accounting Managers, Groups, linuxakademi.lab
    dncn=Accounting Managers,ou=Groups,dc=linuxakademi,dc=lab
    objectClass
    top
    objectClass
    groupOfUniqueNames
    cn
    Accounting Managers
    ou
    groups
    description
    People who can manage accounting entries
    uniqueMember
    cn=Directory Manager

    ***nbsp;HR Managers, Groups, crom.lab
    dncn=HR Managers,ou=Groups,dc=linuxakademi,dc=lab
    objectClass
    top
    objectClass
    groupOfUniqueNames
    cn
    HR Managers
    ou
    groups
    description
    People who can manage HR entries
    uniqueMember
    cn=Directory Manager

    ***nbsp;QA Managers, Groups, linuxakademi.lab
    dncn=QA Managers,ou=Groups,dc=linuxakademi,dc=lab
    objectClass
    top
    objectClass
    groupOfUniqueNames
    cn
    QA Managers
    ou
    groups
    description
    People who can manage QA entries
    uniqueMember
    cn=Directory Manager

    ***nbsp;PD Managers, Groups, linuxakademi.lab
    dncn=PD Managers,ou=Groups,dc=linuxakademi,dc=lab
    objectClass
    top
    objectClass
    groupOfUniqueNames
    cn
    PD Managers
    ou
    groups
    description
    People who can manage engineer entries
    uniqueMember
    cn=Directory Manager

    ***nbsp;search result
    search3
    result
    0 Success

    ***nbsp;numResponses: 10
    ***nbsp;numEntries: 9 
    Böylece dizin servisinin düzgün olaraç çalıştığını test etmiş oluyoruz. Ancak yukarıdaki ldapseach komutunda farketmiş olabileceğiniz gibi şu anda dizin servisi herhangi bir kimlik doğrulaması yapmaksızın sorgulanabiliyor. Bu güvenli bir durum olmayacağı için öncesinde Anonymous Access’i kapatmak ve güvenli erişim için TLS/SSL yapılandırmasını tamamlamak gerekiyor. Bunun için şimdi TLS/SSL için kullanılacak sertifika otoritelerinin ve sertifikaların oluşturulma işlemlerini tamamlayalım.
    TLS/SSL Yapılandırmaları

    Öncelikli olarak şu anda çalışmakta olan yapılandırmayı yedekliyoruz.
    PHP- Kodu:
    ***nbsp;cd /etc/dirsrv/slapd-ldap01  
    ***nbsp;mkdir /ldap-backups/ && tar -cf /ldap-backups/db-backup.tar * 
    Ardından, sertifika oluşturma vs. işleri için bir şifre belirleyip, tmp dizini altında pwdfile ismli dosya içerisine yazıyoruz:
    PHP- Kodu:
    ***nbsp;echo "sifreburaya" > /tmp/pwdfile 
    Daha sonra LDAP servisi için bir sertifika database’i oluşturalım:
    PHP- Kodu:
    ***nbsp;cd /etc/dirsrv/slapd-ldap01
    ***nbsp;certutil -N -d . -f /tmp/pwdfile 
    Şimdi de ldap servisi için oluşturacağımız ssl sertifikasını imzalayacağımız CA sertifikamızı oluşturuyoruz:
    PHP- Kodu:
    certutil --"CA certificate" -"cn=LinuxAkademi CA Cert,dc=linuxakademi,dc=lab" ---"CT,," -m 1000 -v 120 -. -k rsa -/tmp/pwdfile 
    Not: Burada CA sertifikasnın ismi ve domainini düzgün verdiğinize dikkat edin. Sertfika isimlerinde yapılan hatalar ya da tutarsızlıklar SSL üzerinden LDAP servisi verme işleminin çalışmamasına neden olacaktır. Ben örnekte sertifikayı “LinuAkademi CA Cert” ismi ile linuxakademi.lab domainine ait olacak şekilde oluşturuyorum.
    Bu komutu verdiğiniz zaman aşağıdakine benzer bir şekilde, key’in üretilebilmesi için klavyeden ramdom girişler yapmanızı isteyecek ve progress bar sona geldiği zaman iki soru sorarak cevaba göre işlemi tamamlayacaktır. İlki bunun bir CA sertifikası mı olduğunu soran bu soruların ikisine de “y” tuşu ile evet diyerek işlemi tamamlıyoruz:
    A random seed must be generated that will be used in the
    creation of your key. One of the easiest ways to create a
    random seed is to use the timing of keystrokes on a keyboard.

    To begin, type keys on the keyboard until this progress meter
    is full. DO NOT USE THE AUTOREPEAT FUNCTION ON YOUR KEYBOARD!


    Continue typing until the progress meter is full:

    |************************************************* ***********|

    Finished. Press enter to continue:


    Generating key. This may take a few moments...

    Is this a CA certificate [y/N]?
    y
    Enter the path length constraint, enter to skip [
    Is this a critical extension [y/N]?
    y
    Bu şekilde CA sertifikamız oluşturulmuş oluyor. Böylece bu CA cert ile ldap servisi için bir self-signed SSL sertifikası imzalayabiliriz.
    Bu işlem için gene aynı dizindeşu komutu giriyoruz:
    certutil -S -n "Server-Cert" -s "cn=ldap01.linuxakademi.lab,ou=Directory Server" -c "CA certificate" -t "u,u,u" -m 1001 -v 120 -d . -k rsa -f /tmp/pwdfile
    Bu komut, ldap01.linuakademi.lab ismi için “CA certificate” isimli CA’i kullanarak bir sertifika oluşturulmasını söylemektedir. Burada da isimlere dikkat etmek gerekmekte. Ldap servisi için oluşturulan sertifikanın mutlak olarak ilgili sunucunun tam fqdn’i için oluşturulması ve base domain ile aynı olması gerekir.
    Bu komut da sizden gene rastgele girişler yapmanızı isteyecek ve aşağıdaki gibi tamamlanacaktır:
    A random seed must be generated that will be used in the
    creation of your key. One of the easiest ways to create a
    random seed is to use the timing of keystrokes on a keyboard.

    To begin, type keys on the keyboard until this progress meter
    is full. DO NOT USE THE AUTOREPEAT FUNCTION ON YOUR KEYBOARD!


    Continue typing until the progress meter is full:

    |************************************************* ***********|

    Finished. Press enter to continue:


    Generating key. This may take a few moments...

    Notice: Trust flag u is set automatically if the private key is present.
    Bu şekilde ldap servisi için sertifika oluşturma işlemini tamamlamış oluyoruz. Son olarak ilgili CA sertifikamıza ait pub key’i ldap servisine ssl üzerinden erişecek servislerin kullanımı için export edelim:
    # certutil -d . -L -n "CA certificate" -a > cacert.asc
    Ldap servisi için SSL sertifikasının oluşturulmasının ardından ikinci olarak, Ldap servisini bir GUI üzerinden yönetmeye olanak sağlayan “Admin Server” için de benzer şekilde bir SSL sertifikası oluşturmamız gerekiyor.
    Öncelikle certutil ile admin server için key database’ini oluşturulım:
    # cd /etc/dirsrv/admin-serv
    # certutil -N -d . -f /tmp/pwdfile
    Ardından, Admin server’a ait CA sertifikasını oluşturalım:
    # certutil -S -n "CA certificate" -s "cn=LinuxAkademi Admin Server CA Cert,dc=linuxakademi,dc=lab" -2 -x -t "CT,," -m 1000 -v 120 -d . -k rsa -f /tmp/pwdfile
    CA sertifikasının oluşturulması işleminde alan adına ve sertifika ismine dikkat ederek bir önce oluşturduğumuz sertifkalarda olduğu gibi prosedürü tamamlayalım.
    CA oluşturulduktan sonra bu sertifika ile admin server için bir sertifika oluşturuyoruz:
    # certutil -S -n "Server-Cert" -s "cn=ldap01.linuxakademi.lab,ou=Admin Server" -c "CA certificate" -t "u,u,u" -m 1001 -v 120 -d . -k rsa -f /tmp/pwdfile
    Hem dirsrv hem de admin server için sertifikaların oluşturulmasının ardından artık ilgili servislerin başlatılması sırasında /tmp/pwdfile dosyasına kaydetmiş olduğumuz şifrenin girilmesi gerekecektir. İşte bu durumun otomatize edilmesi için aşağıdaki adımları gerçekleştirelim:
    /etc/dirsrv/admin-serv/nss.conf dosyasını editleyin ve NSSPassPhraseDialog satırını aşağıdaki şekilde düzenleyin:
    NSSPassPhraseDialog file://///etc/dirsrv/admin-serv/password.conf
    Ardından /etc/dirsrv/admin-serv/password.conf dosyasını oluşturup gerekli izinleri tanımlayalım:
    # touch /etc/dirsrv/admin-serv/password.conf
    # chmod 600 /etc/dirsrv/admin-serv/password.conf
    # chown nobody /etc/dirsrv/admin-serv/password.conf
    Şimdi de ilgili dosya içerisine şifremizi yazalım:
    # LDAPPWD=$(cat /tmp/pwdfile)
    # echo "internal:$LDAPPWD" > /etc/dirsrv/admin-serv/password.conf
    Admin server için yaptığımız bu tanımlamanın bir benzerini dir server için yapıyoruz:
    # touch /etc/dirsrv/slapd-ldapslave01/pin.txt
    # chmod 600 /etc/dirsrv/slapd-ldapslave01/pin.txt
    # chown nobody /etc/dirsrv/slapd-ldapslave01/pin.txt
    # LDAPPWD=$(cat /tmp/pwdfile)
    # echo "Internal (Software) Token:$LDAPPWD" > /etc/dirsrv/slapd-ldapslave01/pin.txt
    Böylece TLS ile ilgili temel tanımlamaları yapmış oluyoruz. Şimdi herşeyin doğru olup olmadığını test etmek için her iki servisi de restart edelim:
    # /etc/init.d/dirsrv restart
    # /etc/init.d/dirsrv-admin restart
    Bu şekilde servisler normak bir şekilde restart edilmiş olmalıdır.
    Şimdi hem admin server’a hem de console’a erişimlerin encrypt olmasını default olarak set ayarlayacağız. Normalde bu işlemi komut satırından yapabileceğiniz gibi 389-console uygulaması üzerinden de yapmak mümkün. 389-console uygulamasını client olarak kullanmak üzere sisteminize paket yöneticiniz üzerinden yükleyebilirsiniz.
    Örnek olarak Kali Linux gibi debian tabanlı dağıtımlarda:
    # apt-get install 389-console
    Fedora gibi RHEL tabanlı sistemlerse ise:
    # yum install 389-console
    şeklinde kurabilirsiniz.

    Böylece 389-console uygulaması üzerinden LDAP servisine erişebilirsiniz. İlgili console ait bir ekran görüntüsü aşağıdaki gibidir:



    389 dizin servisine login olmak üzere, -aksini belirtlediğiniz sürece- default kullanıcı “cn=Directory Manager”‘dır ve şifre setup-ds-admin.pl ile yapılandırma işlemlerini belirlediğimiz şifredir.

    Not: Biz dizin servisine erişimlerde, TLS kullanılabilecek şekilde yapılandırdık sistemi ancak bu özelliği henüz devreye almadığımız için console erişimleri http üzerinden yapılmaktadır. Dolayısı ile şifreler ağda plaintext olarak iletilecektir. Bu nedenle -işlemler grafik arabirim üzerinden yapılabildiğinden dolayıayrıca anlatmayacağım üzere- sisteme ilk login olmanızın ardından “Configure Admin Server” ve “Configure DS” segmelerinden Encryption ve Secure Connection tanımlamalarını yerine getirin. Bu işlemin ardından dizin ve admin servislerini yeniden restart ettikten sonra sisteme encrypt olarak ( örn: https://ldap01.linuxakademi.com.tr:9830 ) erişebilirsiniz.

    [/LEFT]

  2. #2
    Üyelik tarihi
    11.Ocak.2014
    Mesajlar
    1,706
    Aldığı Teşekkür
    42
    Ticaret Puanı
    0
    Blog Başlıkları
    3

    Standart

    Usta, bozuk karakterler var. Eline sağlık da bu kadar yazıyı okuyan çıkmaz bizim memlekette.

Konu Bilgileri

Bu Konuya Gözatan Kullanıcılar

Şu anda 1 kullanıcı bu konuyu görüntülüyor. (0 kayıtlı ve 1 misafir)

Benzer Konular

  1. Kurumsal Firmalar için Postfix + LDAP
    Konu Sahibi WeBMasteR Forum Kitap
    Cevap: 0
    Son Mesaj : 30.Aralık.2014, 01:18
  2. Cevap: 0
    Son Mesaj : 29.Kasım.2014, 20:30
  3. Silkroad Private Server
    Konu Sahibi ayfareli Forum Site Ekle
    Cevap: 0
    Son Mesaj : 28.Ekim.2014, 18:55
  4. Which directory script is best to develop a new directory website
    Konu Sahibi deniz Forum Directories of World
    Cevap: 0
    Son Mesaj : 13.Ekim.2014, 22:54
  5. Platinium Server - Taş Gibi YepYeni Server
    Konu Sahibi Emrecan39 Forum Belgesiz Hosting Satışı
    Cevap: 0
    Son Mesaj : 12.Eylül.2014, 13:58

Bu Konu için Etiketler

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •  
Yasal Bildirim
Sitemizde paylaşım yapan tüm üyeler T.C.K 20. Madde ve 5651 Sayılı Kanun'un 4. maddesinin 2. fıkrasına göre kendi konu ve mesajlarından sorumludur. Webmaster.bbs.tr hakkında yapılacak olan hukuksal ve diğer şikayetler için iletişim bölümünden iletişime geçilmesi halinde site yönetimi tarafından gereken işlemler yapılacak ve ilgili kişilere/kurumlara/vekillerine bilgi verilecektir.
Sosyal Medya