Konfigurasikan SSSD untuk Otentikasi LDAP di Ubuntu 20.04

Panduan ini akan membawa Anda melalui cara menginstal dan mengkonfigurasi SSSD untuk otentikasi LDAP di Ubuntu 20.04. SSSD (System Security Services Daemon) adalah service sistem untuk mengakses direktori jarak jauh dan mekanisme otentikasi seperti direktori LDAP, domain Identity Management (IdM) atau Active Directory (AD), atau ranah Kerberos.

Konfigurasikan SSSD untuk Otentikasi LDAP di Ubuntu 20.04

Dengan asumsi Anda sudah memiliki server OpenLDAP yang sedang berjalan, lanjutkan dengan panduan ini untuk mempelajari cara menginstal dan mengonfigurasi SSSD untuk autentikasi LDAP.

Jalankan Pembaruan Sistem

Pastikan cache paket sistem Anda mutakhir.

apt update

Instal SSSD di Ubuntu 20.04

Untuk menginstal SSSD dan alat SSSD lain yang diperlukan di Ubuntu 20.04, jalankan perintah di bawah ini;

apt install sssd libpam-sss libnss-sss

Konfigurasikan SSSD untuk Otentikasi OpenLDAP di Ubuntu 20.04

Buat file konfigurasi SSD

SSSD tidak dikirimkan dengan file konfigurasi apa pun secara default. Karena itu, Anda perlu membuat file konfigurasi yang menentukan spesifikasi autentikasi LDAP Anda.

Di bawah ini adalah contoh opsi konfigurasi kami;

cat /etc/sssd/sssd.conf
[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/ssl/certs/ldapcacert.crt ldap_tls_cacertdir = /etc/ssl/certs ldap_search_timeout = 50 ldap_network_timeout = 60 ldap_access_order = filter ldap_access_filter = (objectClass=posixAccount) 

Periksa garis yang disorot di atas dan ganti nilainya dengan tepat.

Untuk deskripsi lengkap tentang opsi yang digunakan di atas, lihat man sssd.confdan man sssd-ldap.

Setelah Anda selesai dengan konfigurasi Anda, simpan dan keluar dari file.

Instal OpenLDAP Server CA Certificate pada client LDAP Ubuntu 20.04

Otentikasi SSD hanya dapat bekerja melalui saluran komunikasi terenkripsi. Oleh karena itu, server OpenLDAP Anda harus dikonfigurasikan SSL/TLS.

Jika Anda sudah melakukannya, download sertifikat CA dari server LDAP ke client LDAP dengan menjalankan perintah di bawah ini;

openssl s_client -connect ldapmaster.kifarunix-demo.com:636 -showcerts < /dev/null | openssl x509 -text | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'

jika Anda mengdownload sertifikat dari server OpenLDAP yang mendengarkan di STARTTLS (port 389/{tcp,udp}), gunakan perintah di bawah ini sebagai gantinya;

openssl s_client -connect ldapmaster.kifarunix-demo.com:389 -starttls ldap -showcerts < /dev/null | openssl x509 -text | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'

Copy bagian sertifikat;

-----BEGIN CERTIFICATE----- MIIDvzCCAqegAwIBAgIUc8imlOVhEej453dXtvacn7krg1MwDQYJKoZIhvcNAQEL BQAwbzELMAkGA1UEBhMCS0UxDDAKBgNVBAgMA05haTEMMAoGA1UEBwwDTWFpMRww GgYDVQQKDBNEZWZhdWx0IENvbXBhbnkgTHRkMSYwJAYDVQQDDB1sZGFwbWFzdGVy...... ExJaMa6cJkIFmepJ6wGvk33DiLRZrAKT2/11yswYm16mdpUynmx6pZvZizjxkq+c hegnowyEG4db/NktY44v2ryIQdEclnKmhk23vmhgZxl1IUgev2tc//JWPE9dXuP8 Uy7ivNi2PL6mBwxMpyi0zTopqTXSvi54APm48dd0JPsGLTIgPMc1WvaN7TsUeIBs Igf9K1e9M0Q+j2XEsTeCYVU/v0Jt0kER0+V/NM0IrDOX+6kRz6DNsZrwcMEf5Yvp ARWZ -----END CERTIFICATE----- 

Sesuai konfigurasi SSSD kami, file sertifikat CA LDAP disimpan sebagai /etc/ssl/certs/ldapcacert.crt pada client. Note bahwa lokasi file sertifikat CA mungkin berbeda untuk kasus Anda.

Oleh karena itu, copy sertifikat di atas dan letakkan di file ini;

vim /etc/ssl/certs/ldapcacert.crt
-----BEGIN CERTIFICATE----- MIIDvzCCAqegAwIBAgIUc8imlOVhEej453dXtvacn7krg1MwDQYJKoZIhvcNAQEL BQAwbzELMAkGA1UEBhMCS0UxDDAKBgNVBAgMA05haTEMMAoGA1UEBwwDTWFpMRww GgYDVQQKDBNEZWZhdWx0IENvbXBhbnkgTHRkMSYwJAYDVQQDDB1sZGFwbWFzdGVy...... ExJaMa6cJkIFmepJ6wGvk33DiLRZrAKT2/11yswYm16mdpUynmx6pZvZizjxkq+c hegnowyEG4db/NktY44v2ryIQdEclnKmhk23vmhgZxl1IUgev2tc//JWPE9dXuP8 Uy7ivNi2PL6mBwxMpyi0zTopqTXSvi54APm48dd0JPsGLTIgPMc1WvaN7TsUeIBs Igf9K1e9M0Q+j2XEsTeCYVU/v0Jt0kER0+V/NM0IrDOX+6kRz6DNsZrwcMEf5Yvp ARWZ -----END CERTIFICATE----- 

Verifikasi keabsahan sertifikat;

openssl s_client -connect ldapmaster.kifarunix-demo.com:389 -CAfile /etc/ssl/certs/ldapcacert.crt

Jika Anda mendapatkan, Verification: OKatau Verify return code: 0 (ok)pada output perintah, maka Anda sudah siap.

Selanjutnya, buka  /etc/ldap/ldap.conf dan ganti nilai TLS_CACERT dengan jalur ke sertifikat CA yang dibuat di atas.

vim /etc/ldap/ldap.conf
... # TLS certificates (needed for GnuTLS) #TLS_CACERT /etc/ssl/certs/ca-certificates.crt TLS_CACERT /etc/ssl/certs/ldapcacert.crt

Simpan dan tutup file konfigurasi.

Tetapkan Izin yang Tepat pada konfigurasi SSSD

Setelah itu, tetapkan akses baca/tulis user root ke  /etc/sssd/.

chmod 600 -R /etc/sssd

Mulai ulang service SSD

systemctl restart sssd

Periksa status SSSD untuk memastikannya berjalan.

systemctl status sssd
● sssd.service - System Security Services Daemon Loaded: loaded (/lib/systemd/system/sssd.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-05-08 11:38:21 EAT; 6s ago Main PID: 7004 (sssd) Tasks: 4 (limit: 2319) Memory: 34.0M CGroup: /system.slice/sssd.service ├─7004 /usr/sbin/sssd -i --logger=files ├─7020 /usr/libexec/sssd/sssd_be --domain default --uid 0 --gid 0 --logger=files ├─7021 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files └─7022 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --logger=files May 08 11:38:20 koromicha systemd[1]: Starting System Security Services Daemon... May 08 11:38:20 koromicha sssd[7004]: Starting up May 08 11:38:21 koromicha sssd[be[7020]: Starting up May 08 11:38:21 koromicha sssd[7021]: Starting up May 08 11:38:21 koromicha sssd[7022]: Starting up May 08 11:38:21 koromicha systemd[1]: Started System Security Services Daemon. 

Aktifkan SSSD untuk berjalan pada boot sistem;

systemctl enable sssd

Konfigurasikan Pembuatan Direktori Rumah Otomatis

Untuk mengaktifkan pembuatan otomatis direktori home user pada login pertama, Anda perlu mengkonfigurasi modul PAM ( pam_mkhomedir.so) seperti yang ditunjukkan di bawah ini.

Buka  /etc/pam.d/common-session file konfigurasi dan edit adalah iklan berikut;

vim /etc/pam.d/common-session

Tambahkan baris di bawah tepat di bawah baris,  session optional pam_sss.so.

session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
... # pam_umask module will set the umask according to the system default in # /etc/login.defs and user settings, solving the problem of different # umask settings with different shells, display managers, remote sessions etc. # See "man pam_umask". session optional pam_umask.so # and here are more per-package modules (the "Additional" block) session required pam_unix.so session optional pam_sss.so session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 session optional pam_systemd.so # end of pam-auth-update config... 

Simpan dan keluar dari file konfigurasi.

Verifikasi otentikasi SSSD OpenLDAP

Instalasi dan konfigurasi SSD selesai. Untuk memver
ifikasi bahwa Anda dapat masuk, coba autentikasi terhadap server LDAP Anda.

Dalam panduan ini, kami memiliki dua user, janedoedan johndoe, dibuat di Server OpenLDAP kami untuk tujuan demo.

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

Perintah di atas dijalankan di server OpenLDAP dan outputnya adalah;

dn: ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com dn: uid=janedoe,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com dn: uid=johndoe,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com

Pada client ldap Ubuntu 20.04, informasi tentang user di atas sekarang seharusnya dapat dicetak.

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

Untuk mendemonstrasikan otentikasi SSSD LDAP, kami akan menggunakan otentikasi berbasis SSH dan GUI;

Verifikasi Otentikasi SSH melalui OpenLDAP SSSD

ssh [email protected]
authenticity of host 'ubuntu20 (192.168.58.19)' can't be established. ECDSA key fingerprint is SHA256:gN94vPFvyZ3Rdeb/+7R+0QJy9S4MdWmgJyEShIG9YgE. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'ubuntu20' (ECDSA) to the list of known hosts. [email protected]'s password: Creating directory '/home/johndoe'. Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-29-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage * Ubuntu 20.04 LTS is out, raising the bar on performance, security, and optimisation for Intel, AMD, Nvidia, ARM64 and Z15 as well as AWS, Azure and Google Cloud. https://ubuntu.com/blog/ubuntu-20-04-lts-arrives 13 updates can be installed immediately. 9 of these updates are security updates. To see these additional updates run: apt list --upgradable programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. [email protected]:~$ 

Verifikasi otentikasi GUI melalui OpenLDAP SSSD

Reboot desktop Ubuntu 20.04 Anda setelah pengaturan SSSD dan dan verifikasi otentikasi.

Setelah boot, pada interface login GDM, klik Not listed untuk memasukkan nama user dan password OpenLDAP Anda.

Kami masuk di GUI sebagai user LDAP yang berbeda, janedoe.

Setelah login berhasil, Anda mendarat di desktop Ubuntu 20.04.

Dan di sana Anda pergi. Anda telah berhasil menginstal dan mengonfigurasi SSSD untuk Otentikasi LDAP di Ubuntu 20.04.

Tutorial Terkait

Konfigurasikan SSSD untuk Otentikasi OpenLDAP di Ubuntu 18.04

Instal phpLDAPadmin di CentOS 8

Konfigurasikan Otentikasi OpenLDAP ownCloud

Konfigurasikan Otentikasi Berbasis Host OpenLDAP

Cara Membuat Grup Anggota OpenLDAP