Konfigurasikan client OpenLDAP SSSD di CentOS 6/7

Apakah Anda memiliki sistem CentOS lama, CentOS 7 atau CentOS 6 dan ingin mengaktifkan otentikasi OpenLDAP? Nah, ikuti panduan ini untuk mempelajari cara mengkonfigurasi client OpenLDAP SSSD di CentOS 6/7. Nah, seperti yang mungkin sudah Anda ketahui, SSSD menawarkan cukup banyak manfaat antara lain;

  • Mengurangi beban pada server identitas dan otentikasi melalui caching informasi otentikasi.
  • Menawarkan otentikasi offline melalui useran identitas dan kredensial user yang di-cache sehingga memungkinkan user akhir untuk mengotentikasi ke sistem bahkan jika server jarak jauh atau client SSSD sedang offline.
  • Meningkatkan konsistensi proses otentikasi melalui akun user pusat user tunggal

Konfigurasikan client OpenLDAP SSSD di CentOS 6/7

Siapkan Server OpenLDAP dengan Dukungan TLS/SSL

Nah, Anda tidak dapat menyiapkan client SSSD untuk otentikasi OpenLDAP tanpa menjalankan server OpenLDAP. Ingin menjalankan server OpenLDAP pada sistem CentOS 8? Ikuti tautan di bawah ini untuk menyiapkannya;

Instal dan Siapkan OpenLDAP di CentOS 8

Hal lain yang perlu diperhatikan adalah, SSSD does not support authentication over an unencrypted channel.

Untuk mengonfigurasi server OpenLDAP dengan dukungan SSL/TLS, Anda dapat memperbarui atribut sertifikat OpenLDAP Server TLS sebagai berikut;

vi enable-tls.ldif
dn: cn=config changetype: modify add: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/pki/tls/cacert.pem - add: olcTLSCertificateKeyFile olcTLSCertificateKeyFile: /etc/pki/tls/ldapserver.key - add: olcTLSCertificateFile olcTLSCertificateFile: /etc/pki/tls/ldapserver.crt 

Replace the paths to the CA, Server Certificate and the key accordingly.

Anda dapat memperbarui database OpenLDAP sebagai berikut;

ldapadd -Y EXTERNAL -H ldapi:/// -f add-tls.ldif

Anda dapat mengonfirmasi ini dengan menjalankan;

slapcat -b "cn=config" | grep olcTLS
olcTLSCACertificateFile: /etc/pki/tls/cacert.pem olcTLSCertificateKeyFile: /etc/pki/tls/ldapserver.key olcTLSCertificateFile: /etc/pki/tls/ldapserver.crt

Ubah lokasi sertifikat CA di  /etc/openldap/ldap.conf.

vim /etc/openldap/ldap.conf
... #TLS_CACERT /etc/pki/tls/cert.pem TLS_CACERT /etc/pki/tls/cacert.pem

You should also install the same CA certificate on all of your client machines.

Instal SSSD di CentOS 6/CentOS 7

Instal SSSD dan alat ruang user SSSD lainnya untuk memanipulasi user, grup, dan grup bersarang, jalankan perintah di bawah ini;

yum install sssd sssd-tools

Konfigurasikan SSSD untuk Otentikasi OpenLDAP

Setelah instalasi selesai, langkah selanjutnya adalah mengkonfigurasi SSSD untuk otentikasi OpenLDAP pada CentOS 6/CentOS 7.

Secara default, SSSD tidak membuat file konfigurasi. Karena itu, Anda perlu membuatnya dan menentukan opsi parameter otentikasi Anda.

vim /etc/sssd/sssd.conf

Siapkan parameter otentikasi SSSD LDAP Anda sehingga terlihat seperti di bawah ini;

[sssd] services = nss, pam config_file_version = 2 domains = default [nss] [pam] offline_credentials_expiration = 60 [domain/default] ldap_id_use_start_tls = True cache_credentials = True ldap_search_base = dc=ldapmaster,dc=kifarunix-demo,dc=com id_provider = ldap auth_provider = ldap chpass_provider = ldap access_provider = ldap ldap_uri = ldap://ldapmaster.kifarunix-demo.com ldap_default_bind_dn = cn=readonly,ou=system,dc=ldapmaster,dc=kifarunix-demo,dc=com ldap_default_authtok = [email protected] ldap_tls_reqcert = demand ldap_tls_cacert = /etc/openldap/certs/cacert.pem ldap_search_timeout = 50 ldap_network_timeout = 60 ldap_access_order = filter ldap_access_filter = (objectClass=posixAccount) 

Tetapkan nilai yang sesuai, setidaknya, untuk parameter berikut;

  • ldap_search_base
  • ldap_uri
  • ldap_default_bind_dn
  • ldap_default_authtok
  • ldap_tls_cacert
  • ldap_access_filter

Download sertifikat CA server OpenLDAP dengan menjalankan perintah di bawah ini.

true | openssl s_client -connect ldapmaster.kifarunix-demo.com:636 2>/dev/null | openssl x509

Copy sertifikat dan simpan di file yang ditentukan dengan nilai ldap_tls_cacertparameter, /etc/openldap/certs/cacert.pem.

vim /etc/openldap/certs/cacert.pem
-----BEGIN CERTIFICATE----- MIIDPDCCAiSgAwIBAgIULKGcNBKQU9LqklS27aLVr5NFgoQwDQYJKoZIhvcNAQEL BQAwHzEdMBsGA1UEAwwUKi5raWZhcnVuaXgtZGVtby5jb20wHhcNMjAwNDEzMTAx... sLwoxITLon23PB1Twc6heMFh1hkug3JXbtr5AJglU8JdGNtXM6e3ct+cAf2F/hRR HGs85jrn634RNXMPWZ8lqChr1QLKlDsOz89tTQ4zvDBqQPweo8de2B/ybTIUJu0o OUyCrLx8BK44vjEz0jvpOA== -----END CERTIFICATE----- 

Juga, pada /etc/openldap/ldap.confkonfigurasi, tentukan jalur ke sertifikat CA seperti yang ditentukan oleh nilai ldap_tls_cacertdirparameter.

vim /etc/openldap/ldap.conf
... TLS_CACERT /etc/openldap/certs/cacert.pem

Verifikasi sertifikat CA;

openssl s_client -connect ldapmaster.kifarunix-demo.com:636 -CAfile /etc/openldap/certs/cacert.pem

Jika Anda mendapatkan, Verify return code: 0 (ok) status, maka sertifikat baik-baik saja.

Atur kepemilikan dan izin yang tepat pada file konfigurasi SSSD.

chown -R root:root /etc/sssd/ chmod -R 600 /etc/sssd/

Integrasikan NSS dan PAM dengan SSSD di CentOS 7/CentOS 6

Perbarui NSS dan PAM untuk menggunakan SSSD guna mengelola sumber daya autentikasi. Ini dapat dicapai dengan menggunakan  authconfig utilitas

Konfigurasikan Pembuatan Direktori Rumah Otomatis

Instal  oddjob-mkhomedir, yang menyediakan  pam_oddjob_mkhomedir modul untuk membuat direktori home bagi user saat login.

yum install oddjob-mkhomedir

Muat  pam_oddjob_mkhomedir modul dalam file auth PAM  /etc/pam.d/system-auth untuk mengaktifkan pembuatan direktori home otomatis.

echo "session optional pam_oddjob_mkhomedir.so skel=/etc/skel/ umask=0022" >> /etc/pam.d/system-auth

Mulai dan aktifkan oddjobd untuk dijalankan pada boot sistem.

Pada CentOS 7;

systemctl enable --now oddjobd

Pada CentOS 6;

service messagebus start service oddjobd start
chkconfig messagebus on chkconfig oddjobd on

Selanjutnya, perbarui konfigurasi NSS dan PAM.

authconfig --enablesssd --enablesssdauth --enablemkhomedir --update

Perintah ini memperbarui /etc/nsswitch.confdan /etc/pam.d/system-authdan /etc/pam.d/password-authfile dengan modul PAM yang relevan untuk SSSD.

Menjalankan SSSD pada CentOS 6/CentOS 7

Konfigurasi sekarang selesai. Mulai dan aktifkan SSSD untuk berjalan pada boot sistem.

Pada CentOS 7

systemctl enable --now sssd

Pada CentOS 6;

service sssd start chkconfig sssd on

Periksa statusnya.

systemctl status sssd
● sssd.service - System Security Services Daemon Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2020-04-13 16:31:30 EAT; 3s ago Main PID: 10472 (sssd) CGroup: /system.slice/sssd.service ├─10472 /usr/sbin/sssd -i --logger=files ├─10473 /usr/libexec/sssd/sssd_be --domain default --uid 0 --gid 0 --logger=files ├─10474 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files └─10475 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --logger=files Apr 13 16:31:30 centos7.kifarunix-demo.com systemd[1]: Stopped System Security Services Daemo
n. Apr 13 16:31:30 centos7.kifarunix-demo.com systemd[1]: Starting System Security Services Daemon... Apr 13 16:31:30 centos7.kifarunix-demo.com sssd[10472]: Starting up Apr 13 16:31:30 centos7.kifarunix-demo.com sssd[be[default]][10473]: Starting up Apr 13 16:31:30 centos7.kifarunix-demo.com sssd[nss][10474]: Starting up Apr 13 16:31:30 centos7.kifarunix-demo.com sssd[pam][10475]: Starting up Apr 13 16:31:30 centos7.kifarunix-demo.com systemd[1]: Started System Security Services Daemon. 
service sssd status
sssd (pid 2913) is running…

Verifikasi Otentikasi OpenLDAP melalui SSSD

Di server OpenLDAP kami, kami telah membuat beberapa entri user;

ldapsearch -H ldapi:/// -Y EXTERNAL -b "ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com" uid -LLL -Q
dn: ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com dn: uid=janedoe,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com uid: janedoe dn: uid=johndoe,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com uid: johndoe

Pada CentOS 7 atau CentOS 6, tergantung pada filter LDAP yang digunakan, Anda sekarang seharusnya memiliki user di sistem. Gunakan perintah id untuk memverifikasi ini.

[[email protected] ~]# id janedoe uid=10010(janedoe) gid=10010(janedoe) groups=10010(janedoe)
[[email protected] ~]# id johndoe uid=10000(johndoe) gid=10000(johndoe) groups=10000(johndoe) [[email protected] ~]#

Verifikasi pembuatan direktori home-otomatis.

[[email protected] ~]# ssh -l janedoe localhost [email protected]'s password: Creating home directory for janedoe. Last login: Mon Apr 13 16:24:36 2020 [[email protected] ~]$ pwd /home/janedoe
[[email protected] ~]# ssh -l johndoe localhost [email protected]'s password: Creating home directory for johndoe. [[email protected] ~]$ pwd /home/johndoe

Anda telah berhasil mengautentikasi user OpenLDAP melalui SSSD pada CentOS 7 dan CentOS 6.

Itu membawa kita ke akhir panduan kami tentang cara menginstal dan mengkonfigurasi client OpenLDAP SSSD di CentOS 6/7

Tutorial Terkait

Instal dan Setup Server FreeIPA di CentOS 8

Siapkan Replikasi Master-Slave OpenLDAP di CentOS 8

Instal phpLDAPadmin di CentOS 8

Siapkan Server OpenLDAP dengan SSL/TLS di Debian 10