Siri RHCSA Menubuhkan Pengesahan Berasaskan LDAP di RHEL 7 - Bahagian 14

Siri RHCSA Menubuhkan Pengesahan Berasaskan LDAP di RHEL 7 - Bahagian 14

Kami akan memulakan artikel ini dengan menggariskan beberapa LDAP Asas (apa itu, di mana ia digunakan dan mengapa) dan tunjukkan bagaimana untuk menyediakan pelayan LDAP dan konfigurasikan klien untuk mengesahkannya menggunakannya Red Hat Enterprise Linux 7 sistem.

Siri RHCSA: Server LDAP Persediaan dan Pengesahan Pelanggan - Bahagian 14

Seperti yang akan kita lihat, terdapat beberapa senario aplikasi lain yang mungkin, tetapi dalam panduan ini kita akan fokus sepenuhnya Berasaskan LDAP pengesahan. Di samping itu, sila ingat bahawa kerana kelebihan subjek, kami hanya akan meliputi asas-asasnya di sini, tetapi anda boleh merujuk kepada dokumentasi yang digariskan dalam ringkasan untuk butiran yang lebih mendalam.

Atas sebab yang sama, anda akan perhatikan bahawa saya telah memutuskan untuk meninggalkan beberapa rujukan kepada halaman lelaki alat LDAP demi keringkasan, tetapi penjelasan yang sepadan berada di jarak hujung jari (Man Ldapadd, sebagai contoh).

Yang berkata, mari kita mulakan.

Persekitaran ujian kami

Persekitaran ujian kami terdiri daripada dua RHEL 7 Kotak:

Pelayan: 192.168.0.18. FQDN: RHEL7.mydomain.com Pelanggan: 192.168.0.20. FQDN: ldapclient.mydomain.com 

Sekiranya anda mahu, anda boleh menggunakan mesin yang dipasang di Bahagian 12: Automatikkan pemasangan RHEL 7 menggunakan kickstart sebagai pelanggan.

Apa itu LDAP?

LDAP bermaksud Protokol Akses Direktori Ringan dan terdiri daripada satu set protokol yang membolehkan pelanggan mengakses, melalui rangkaian, maklumat yang disimpan di tengah -tengah (seperti direktori kerang log masuk, laluan mutlak ke direktori rumah, dan maklumat pengguna sistem biasa yang lain) dari tempat yang berbeza atau tersedia untuk sebilangan besar pengguna akhir (contoh lain akan menjadi direktori alamat rumah dan nombor telefon semua pekerja di sebuah syarikat).

Memelihara maklumat sedemikian (dan lebih) di tengah -tengah bermakna ia dapat lebih mudah dikekalkan dan diakses oleh semua orang yang telah diberikan keizinan untuk menggunakannya.

Gambar rajah berikut menawarkan gambarajah mudah LDAP, dan diterangkan di bawah dengan lebih terperinci:

Rajah LDAP

Penjelasan gambarajah di atas secara terperinci.

  1. An Kemasukan dalam direktori LDAP mewakili satu unit atau maklumat dan dikenal pasti secara unik dengan apa yang disebut nama yang terkenal.
  2. An atribut adalah sekeping maklumat yang berkaitan dengan entri (contohnya, alamat, nombor telefon kenalan yang ada, dan alamat e -mel).
  3. Setiap atribut diberikan satu atau lebih nilai terdiri daripada senarai yang dipisahkan ruang. Nilai yang unik setiap entri dipanggil nama yang dibezakan relatif.

Yang dikatakan, mari kita teruskan dengan pemasangan pelayan dan klien.

Memasang dan Mengkonfigurasi Pelayan dan Pelanggan LDAP

Dalam RHEL 7, LDAP dilaksanakan oleh OpenLDap. Untuk memasang pelayan dan klien, gunakan arahan berikut, masing -masing:

# yum update && yum pasang openldap openldap-clients openldap-servers # yum update && yum pasang openldap openldap-clients nss-pam-ldapd 

Setelah pemasangan selesai, ada beberapa perkara yang kita lihat. Langkah -langkah berikut harus dilakukan di pelayan sahaja, melainkan jika dinyatakan dengan jelas:

1. Pastikan Selinux tidak menghalang dengan membolehkan perkara berikut Booleans Berterusan, baik di pelayan dan pelanggan:

# setsebool -p allow_pbind = 0 authLogin_nsswitch_use_ldap = 0 

Di mana membenarkan_ypbind diperlukan untuk pengesahan berasaskan LDAP, dan AUTHLOGIN_NSSWITCH_USE_LDAP mungkin diperlukan oleh beberapa aplikasi.

2. Dayakan dan mulakan perkhidmatan:

# Systemctl Dayakan SLAPD.Perkhidmatan # Systemctl Mula Slapd.perkhidmatan 

Perlu diingat bahawa anda juga boleh melumpuhkan, memulakan semula, atau menghentikan perkhidmatan dengan SystemCTL juga:

# Systemctl melumpuhkan slapd.Perkhidmatan # Systemctl Mulakan semula Slapd.Perkhidmatan # Systemctl STOP SLAPD.perkhidmatan 

3. Sejak slapd perkhidmatan berjalan sebagai pengguna LDAP (yang boleh anda sahkan dengan ps -e -o pid, uname, comm | grep slapd), pengguna sedemikian harus memiliki /var/lib/ldap Direktori agar pelayan dapat mengubah suai entri yang dibuat oleh alat pentadbiran yang hanya boleh dijalankan sebagai akar (lebih lanjut mengenai ini dalam satu minit).

Sebelum menukar pemilikan direktori ini secara rekursif, salin fail konfigurasi pangkalan data sampel untuk slapd ke dalamnya:

# cp/usr/share/openldap-servers/db_config.Contoh/var/lib/ldap/db_config # chown -r ldap: ldap/var/lib/ldap 

4. Sediakan pengguna pentadbiran OpenLDAP dan berikan kata laluan:

# slappasswd 

Seperti yang ditunjukkan dalam imej seterusnya:

Tetapkan kata laluan admin LDAP

dan buat Ldif fail (ldaprootpasswd.ldif) dengan kandungan berikut:

dn: olcdatabase = 0 config, cn = config changeType: Ubah suai Tambah: olcrootpw olcrootpw: ssha kata laluan 

Di mana:

  1. Kata laluan adalah rentetan hashed yang diperoleh lebih awal.
  2. CN = config Menunjukkan pilihan konfigurasi global.
  3. olcdatabase Menunjukkan nama contoh pangkalan data tertentu dan biasanya boleh didapati di dalamnya /etc/openldap/slapd.d/cn = config.

Merujuk kepada latar belakang teoritis yang disediakan sebelum ini, ldaprootpasswd.ldif Fail akan menambahkan entri ke direktori LDAP. Dalam entri itu, setiap baris mewakili atribut: pasangan nilai (di mana dn, changeType, tambah, dan olcrootpw adalah atribut dan rentetan di sebelah kanan setiap kolon adalah nilai yang sepadan).

Anda mungkin ingin mengingati ini ketika kami meneruskan, dan sila ambil perhatian bahawa kami menggunakan nama biasa yang sama (CN =) Sepanjang seluruh artikel ini, di mana setiap langkah bergantung pada yang sebelumnya.

5. Sekarang, tambahkan entri LDAP yang sepadan dengan menentukan Uri merujuk kepada pelayan LDAP, di mana hanya medan protokol/hos/port dibenarkan.

# ldapadd -h ldapi: /// -f ldaprootpasswd.ldif 

Output harus sama dengan:

Konfigurasi LDAP

dan mengimport beberapa definisi LDAP asas dari /etc/openldap/skema Direktori:

# untuk def di cosine.ldif nis.ldif inetorgperson.ldif; do ldapadd -h ldapi: /// -f/etc/openldap/skema/$ def; selesai 
Definisi LDAP

6. Mempunyai LDAP menggunakan domain anda dalam pangkalan datanya.

Buat yang lain Ldif fail, yang akan kita panggil ldapdomain.ldif, Dengan kandungan berikut, menggantikan domain anda (dalam komponen domain dc =) dan kata laluan sesuai:

DN: olcDatabase = 1 Monitor, CN = Config ChangeType: Ubah suai pengganti: olCaccess olCaccess: 0 ke * oleh DN.asas = "gidnumber = 0+uidNumber = 0, cn = peercred, cn = luaran, cn = auth" dibaca oleh dn.asas = "cn = pengurus,dc = mydomain,dc = com "Baca oleh * None Dn: OlcDatabase = 2 HDB, Cn = Config ChangeType: Ubah suai Ganti: olcsuffix olcsuffix: dc = mydomain,dc = com dn: olcdatabase = 2 hdb, cn = config changeType: Ubah suai pengganti: olcrootdn olcrootdn: cn = pengurus,dc = mydomain,dc = com dn: olcdatabase = 2 hdb, cn = config changeType: ubah suai: olcrootpw olcrootpw: ssha kata laluan dn: olcdatabase = 2 hdb, cn = configype: olcaccess: olcaccess: olcaccess: olcaccess: olcaccess: olcaccess: olcaccess: olcaccess: olcaccess: ke attrs = userpassword, shadowlastchange oleh dn = "cn = pengurus,dc = mydomain,dc = com "Tulis oleh Anonymous Auth oleh Self Write oleh * None OlCaccess: 1 ke DN.asas = "" oleh * baca olCaccess: 2 to * by dn = "cn = pengurus, dc = mydomain, dc = com" tulis oleh * baca 

Kemudian muatkannya seperti berikut:

# ldapmodify -h ldapi: /// -f ldapdomain.ldif 
Konfigurasi domain LDAP

7. Kini tiba masanya untuk menambah beberapa penyertaan ke direktori LDAP kami. Atribut dan nilai dipisahkan oleh kolon (:) dalam fail berikut, yang akan kami namakan Baseldapdomain.ldif:

DN: DC = MyDomain, DC = com ObjectClass: ObjectClass atas: DCObject ObjectClass: Organisasi O: Mydomain Com DC: Mydomain DN: CN = Manager, DC = MyDomain, DC = com ObjectClass: Organisasi CN: Pengurus Deskripsi: Pengurus Direktori DN: ou = orang, dc = mydomain, dc = com ObjectClass: OrganizationalUnit Ou: People Dn: Ou = Group, DC = MyDomain, DC = com ObjectClass: OrganizationalUnit Ou: Group 

Tambahkan penyertaan ke direktori LDAP:

# ldapadd -x -d cn = pengurus, dc = mydomain, dc = com -w -f baseldapdomain.ldif 
Tambahkan atribut dan nilai domain LDAP

8. Buat pengguna LDAP yang dipanggil ldapuser (Adduser ldapuser), kemudian buat definisi untuk kumpulan LDAP di ldapgroup.ldif.

# adduser ldapuser # vi ldapgroup.ldif 

Tambah kandungan berikut.

DN: CN = pengurus, ou = kumpulan, dc = mydomain, dc = com ObjectClass: ObjectClass atas: Posixgroup GidNumber: 1004 

di mana Gidnumber adalah gid dalam /etc/kumpulan untuk ldapuser) dan muatkannya:

# ldapadd -x -w -d "cn = pengurus, dc = mydomain, dc = com" -f ldapgroup.ldif 

9. Tambahkan fail LDIF dengan definisi untuk pengguna LDAPUSER (ldapuser.ldif):

dn: uid = ldapuser, ou = people, dc = mydomain, dc = com objectClass: ObjectClass atas: Akaun ObjectClass: POSIXACCOUNT ObjectClass: Shadowaccount Cn: ldapuser uid: ldapuser uidnumber: 1004 gidnumber: 1004 homedirectory: /ldap SSHA fin0yqzbdudi0fpqqqq9uudwmjzqy28s3m loginshell: /bin /bash gecos: ldapuser shadowlastchange: 0 shadowmax: 0 shadowwarning: 0 

dan memuatkannya:

# ldapadd -x -d cn = pengurus, dc = mydomain, dc = com -w -f ldapuser.ldif 
Konfigurasi Pengguna LDAP

Begitu juga, anda boleh memadamkan entri pengguna yang baru anda buat:

# ldapdelete -x -w -d cn = pengurus, dc = mydomain, dc = com "uid = ldapuser, ou = people, dc = mydomain, dc = com" 

10. Benarkan komunikasi melalui firewall:

# firewall-cmd --add-service = ldap 

11. Terakhir, tetapi sekurang -kurangnya, membolehkan pelanggan mengesahkan menggunakan LDAP.

Untuk membantu kami dalam langkah terakhir ini, kami akan menggunakan AuthConfig utiliti (antara muka untuk mengkonfigurasi sumber pengesahan sistem).

Menggunakan arahan berikut, direktori rumah untuk pengguna yang diminta dibuat jika tidak wujud selepas pengesahan terhadap pelayan LDAP berjaya:

# AuthConfig --Enableldap --EnableldaPAuth --LDapServer = RHEL7.mydomain.com --LDApBasedN = "dc = mydomain, dc = com" --Enablemkhomedir --Update 
Konfigurasi Pelanggan LDAP

Ringkasan

Dalam artikel ini, kami telah menerangkan bagaimana untuk menyediakan pengesahan asas terhadap pelayan LDAP. Untuk mengkonfigurasi selanjutnya persediaan yang diterangkan dalam panduan ini, sila rujuk Bab 13 - Konfigurasi LDAP dalam Panduan Pentadbir Sistem RHEL 7, memberi perhatian khusus kepada tetapan keselamatan menggunakan TLS.

Jangan ragu untuk meninggalkan sebarang soalan yang mungkin anda gunakan borang komen di bawah.