Pengantar
Mengapa OpenLDAP?
Proyek ini untuk menyalin kode sumber referensi LDAP. OpenLDAP adalah singkatan dari Lightweight Directory Access Protocol.LDAP adalah protokol aplikasi netral vendor yang memungkinkan Anda menilai dan memelihara layanan informasi direktori terdistribusi melalui ISP. Ada banyak cara berbeda untuk menyediakan direktori. Misalnya, menggunakan LDAP membantu Anda menyediakan tempat sentral untuk menyimpan username dan password.
Jadi, berbagai aplikasi dan layanan dapat terhubung ke server LDAP untuk memvalidasi pengguna. Server LDAP banyak digunakan di Organisasi untuk menyimpan nama Pengguna dan kata sandi di Server Terpusat di mana Pengguna dapat mengotentikasi lebih lanjut ke program dan layanan yang ada di jaringan. Selanjutnya, kami akan menggunakan paket Symas OpenLDAP untuk perintah pemeliharaan perangkat lunak standar asli sistem operasi Anda. Symas OpenLDAP adalah kontributor utama dalam penulisan 90% kode OpenLDAP.
Pro OpenLDAP
Ini gratis. Mirip dengan Linux adalah open source. Protokol standar. Kedua, selain itu, mudah untuk mengikat otentikasi ke banyak aplikasi. Dapat disesuaikan dan ringan.
Kekurangan OpenLDAP
Akan lebih baik jika Anda melakukan persiapan. Selain infrastruktur Anda mendukung semua persyaratan. Kebijakan dan aturan keamanan ada. Jadi Database atau ActiveDirectory harus selalu menyimpan data. Semua atribut dan kebijakan akan rusak jika informasi saat ini tidak ada. Dengan asumsi Microsoft di wilayah Anda, memberikan OpenLDAP dengan Active Directory.
Menginstal di Rocky atau Centos 8
Selain itu (Rocky Linux/Centos 8) dapat digunakan dalam tutorial. Jadi Ini menangani otentikasi catatan tentang akun. Agar tutorial ini berfungsi lebih baik, harap pertimbangkan di bawah ini.
Layanan firewalld. Kita dapat menambahkan aturan di baris perintah ini. Anda menambahkan batasan firewalld dengan ini di terminal Port 389 Anda untuk asosiasi yang tidak aman. Port 636 akan unik untuk koneksi port aman.
# firewall-cmd --permanent --add-port=389/TCP
# firewall-cmd --permanent --add-port=636/TCP
# firewall-cmd --reload
Paket yang diperlukan harus diinstal. Selain itu, Sssd, openldap-clients, &oddjob-mkhomedir diperlukan untuk klien.
# dnf install wget vim cyrus-sasl-devel libtool-ltdl-devel openssl-devel libdb-devel make libtool autoconf tar gcc perl perl-devel -y
Selamat datang di Symas OpenLDAP untuk Linux
Petunjuk untuk platform yang didukung:
RHEL7
RHEL8
Ubuntu16.04 LTS
Ubuntu18.04 LTS
Ubuntu20.04 LTS
Mengonfigurasi Symas OpenLdap untuk Linux di RHEL8/Rocky/Centos8
Setelah menginstal binari yang diperlukan. Salin file repositori yang telah dikonfigurasikan sebelumnya dari Symas penyimpanan.
Langkah-langkah berikut yang Anda dapatkan akan membuat ldap aktif dan berjalan dengan cepat:
Instal Paket OpenLDAP Symas yang diinginkan
• Symas-OpenLDAP-Client hanya berisi pustaka dan perintah klien. Gunakan ini pada sistem yang memerlukan akses ke Symas OpenLDAP tetapi tidak memerlukan perangkat lunak server.
• Symas-OpenLDAP-Nonopt menghapus tanda pengoptimalan dari penginstalan server/klien standar. Mengurangi kinerja, tetapi meningkatkan kemampuan debugging dan pemecahan masalah.
• Symas-OpenLDAP (yaitu, penginstal server) berisi semua komponen klien dan server yang diperlukan untuk menjalankan direktori LDAP yang berfungsi penuh.
• Symas-OpenLDAP-Devel digunakan jika tujuannya adalah untuk mengembangkan perangkat lunak berdasarkan library yang merupakan bagian dari Syas-OpenLDAP.
# wget -q https://repo.symas.com/configs/SOFL/rhel8/sofl.repo -O /etc/yum.repos.d/sofl.repo
- Instal paket symas-openldap-client dan symas-openldap-servers.
# dnf install symas-openldap-clients symas-openldap-servers -y
- Mulai layanan .
# systemctl start slapd
- Buat sandi LDAP dari kunci rahasia.
# slappasswd -s rocky -n > /etc/openldap/passwd
- Sertifikat baru perlu dibuat X509 yang valid selama 365 hari.
# openssl req -new -x509 -nodes -out /etc/openldap/certs/cert.pem -keyout /etc/openldap/certs/priv.pem -days 365
- Selain itu, Pindahkan konten yang dihasilkan ke direktori /etc/openldap/certs pada master ldap. Salin cert.pem ke klien untuk mengautentikasi dengan koneksi ldap.
# cd /etc/openldap/certs.
# chown ldap:ldap *
# chmod 600 priv.pem
Siapkan template database yang disertakan dalam OpenLDAP yang terpasang
# cp -r /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
- Buat file basis data.
[root@master ~]#slaptest
config file testing succeeded
[root@master ~]#
- Jadi Ubah kepemilikan file database.
# chown ldap:ldap /var/lib/ldap/*
- Aktifkan layanan slapd saat boot &akan segera dimulai.
# systemctl enable slapd --now
- Jadi, periksa layanannya jika sedang berjalan.
# netstat -lt | grep ldap
tcp 0 0 0.0.0.0:ldaps 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ldap 0.0.0.0:* LISTEN
- Siapkan kata sandi root.
# slappasswd
New password:
Re-enter new password:
{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
# vi chroot.ldif
# specify the password generated above for "olcRootPW" section
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
# ldapadd -Y EXTERNAL -H ldapi:/// -f chroot.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={0}config,cn=config"
Kami dikonfigurasi untuk menambahkan cosinus, nis &inetorgperson LDAP skema.
# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=cosine,cn=schema,cn=config"
# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=inetorgperson,cn=schema,cn=config"
# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry “cn=inetorgperson,cn=schema,cn=config”
- Buat file changes.ldif di direktori /etc/openldap/ . Tempel baris keluaran dengan {SSHA } dengan {SSHA}xxx yang dihasilkan oleh slappasswd.
# slappasswd
New password:
Re-enter new password:
{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
- Jadi, nama DB sekarang adalah mdb. Informasi yang disimpan di backend mdb dapat ditemukan di /etc/openldap/slapd.d/cn=config/olcDatabase={2}file mdb.ldif.
# vi /etc/openldap/changes.ldif
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=example,dc=com
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/cert.pem
dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/priv.pem
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base=”gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth” read by dn.base=”cn=Manager,dc=example,d
c=com” read by * none
- Impor konfigurasi ke mesin. Ini akan menjadi entri utama dalam direktori LDAP.
# ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/changes.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry “olcDatabase={2}mdb,cn=config”
modifying entry “olcDatabase={2}mdb,cn=config”
modifying entry “olcDatabase={2}mdb,cn=config”
modifying entry “cn=config”
modifying entry “cn=config”
modifying entry “olcDatabase={1}monitor,cn=config”
- Verifikasi konfigurasi
# slaptest -u
Outputnya akan terlihat seperti outputnya.
# config file testing succeeded
- Buat /etc/openldap/base.ldif dengan konfigurasi di bawah ini.
vi /etc/openldap/base.ldif
dn: dc=example,dc=com
dc: example
objectClass: top
objectClass: domain
dn: ou=People,dc=example,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=example,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
# ldapadd -x -w redhat -D cn=Manager,dc=example,dc=com -f /etc/openldap/base.ldif
Buat pengguna dengan membuat file users.ldif
# vi users.ldif
dn: uid=user01,ou=People,dc=example,dc=com
uid: user01
cn: user01
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$6$zz2TKRQVGLyPJoTU$//n.UkHKrrfkeUQUOund2QbSGRMXjU0GV73o.UlprOB3CxBxmQArsESrNUUHC7v3ZhwojszXGh7LowRSnjWhG.
shadowLastChange: 18818
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/guests/user01
- Uji konfigurasi jika pengguna sekarang ada.
# ldapsearch -x cn=user01 -b dc=example,dc=com
- Outputnya akan terlihat seperti.
[root@master8 ~]# ldapsearch -x cn=user01 -b dc=example,dc=com
#extended LDIF
#
#LDAPv3
#base with scope subtree
#filter: cn=user01
#requesting: ALL
# user01, People, example.com
dn: uid=user01,ou=People,dc=example,dc=com
uid: user01
cn: user01
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSQ2JHp6MlRLUlFWR0x5UEpvVFUkLy9uLlVrSEtycmZrZVVRVU91bmQ
yUWJTR1JNWGpVMEdWNzNvLlVscHJPQjNDeEJ4bVFBcnNFU3JOVVVIQzd2M1pod29qc3pYR2g3TG93
UlNualdoRy4=
shadowLastChange: 18818
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/guests/user01
user01, Group, example.com
dn: cn=user01,ou=Group,dc=example,dc=com
objectClass: posixGroup
objectClass: top
cn: user01
userPassword:: e2NyeXB0fXg=
gidNumber: 1001
search result
search: 2
result: 0 Success
numResponses: 3
numEntries: 2
Kesimpulan
Jadi Instalasi OpenLDAP cukup sederhana jika langkah-langkahnya Anda ikuti dengan benar. Namun, jika ada langkah-langkah yang tidak mengikuti, layanan tidak akan berjalan dengan benar. Symas OpenLDAP adalah alternatif yang bagus untuk mengkompilasi paket openldap Anda dari openldap.org. Dalam perspektif saya, tidak ada pembelajaran langsung yang lebih baik daripada teori. Akhirnya, ini adalah perjalanan menjelajahi hal-hal baru dengan hati dan mencintai apa yang Anda lakukan.