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