Server Direktori
OpenLDAP
LDAP
(Lightweight Directory Access Protocol) adalah sekumpulan protokol terbuka yang dipakai untuk mengakses informasi yang disimpan secara terpusat melalui jaringan. Itu berbasis pada standar X.500
untuk berbagi direktori, tapi kurang kompleks dan intensif sumber daya. Untuk alasan ini, LDAP kadang diacu sebagai "X.500 Lite".
Seperti X.500, LDAP mengatur informasi secara hirarkis menggunakan direktori. Direktori ini dapat menyimpan berbagai informasi seperti nama, alamat, atau nomor telepon, dan bahkan dapat digunakan dengan cara yang mirip dengan Network Information Service (NIS), memungkinkan siapa saja untuk mengakses akun mereka dari mesin apa pun di jaringan yang mendukung LDAP.
LDAP biasanya digunakan untuk pengguna dan grup yang dikelola secara terpusat, autentikasi pengguna, atau konfigurasi sistem. Ini juga dapat berfungsi sebagai direktori telepon virtual, memungkinkan pengguna untuk dengan mudah mengakses informasi kontak untuk pengguna lain. Selain itu, ia dapat merujuk pengguna ke server LDAP lain di seluruh dunia, dan dengan demikian menyediakan repositori informasi global ad-hoc. Namun, ini paling sering digunakan dalam organisasi individu seperti universitas, departemen pemerintah, dan perusahaan swasta.
Bagian ini mencakup instalasi dan konfigurasi OpenLDAP 2.4, implementasi open source dari protokol LDAPv2 dan LDAPv3.
Pengantar LDAP
Menggunakan arsitektur client-server, LDAP menyediakan sarana yang andal untuk membuat direktori informasi pusat yang dapat diakses dari jaringan. Ketika klien mencoba untuk mengubah informasi dalam direktori ini, server memverifikasi bahwa pengguna memiliki izin untuk membuat perubahan, dan kemudian menambahkan atau memperbarui entri seperti yang diminta. Untuk memastikan komunikasi aman, protokol kriptografi Transport Layer Security (TLS) dapat digunakan untuk mencegah penyerang mencegat transmisi.
Menggunakan Mozilla NSS
The OpenLDAP suite in Fedora 26 no longer uses OpenSSL. Instead, it uses the Mozilla implementation of Network Security Services (NSS). OpenLDAP continues to work with existing certificates, keys, and other TLS configuration. For more information on how to configure it to use Mozilla certificate and key database, see How do I use TLS/SSL with Mozilla NSS. |
Server LDAP mendukung beberapa sistem basis data, yang memberi administrator fleksibilitas untuk memilih solusi yang paling cocok untuk jenis informasi yang mereka rencanakan untuk dilayani. Karena Application Programming Interface (API) klien yang terdefinisi dengan baik, jumlah aplikasi yang dapat berkomunikasi dengan server LDAP sangat banyak, dan meningkat baik dalam kuantitas maupun kualitas.
LDAP Terminology
Berikut ini adalah daftar istilah khusus LDAP yang digunakan dalam bab ini:
- entri
-
Satu unit dalam direktori LDAP. Setiap entri diidentifikasi oleh Distinguished Name uniknya (DN).
- atribut
-
Informasi yang terkait langsung dengan entri. Misalnya, jika organisasi direpresentasikan sebagai entri LDAP, atribut yang terkait dengan organisasi ini mungkin menyertakan alamat, nomor faks, dll. Demikian pula, orang dapat direpresentasikan sebagai entri dengan atribut umum seperti nomor telepon pribadi atau alamat surel.
Atribut dapat memiliki nilai tunggal, atau daftar nilai yang dipisahkan spasi yang tidak berurutan. Sementara atribut tertentu bersifat opsional, yang lain diperlukan. Atribut yang diperlukan ditentukan menggunakan definisi
objectClass
, dan dapat ditemukan dalam berkas skema yang terletak di direktori/etc/openldap/slapd.d/cn=config/cn=schema/
.
Penegasan atribut dan nilai yang sesuai juga disebut sebagai Relative Distinguished Name (RDN). Tidak seperti distinguished name yang unik secara global, relative distinguished name hanya unik per entri. - LDIF
-
LDAP Data Interchange Format (LDIF) adalah representasi teks biasa dari entri LDAP. Ini mengambil bentuk berikut:
id dn: distinguished_name attribute_type: attribute_value… attribute_type: attribute_value… …
+ _id_ opsional adalah angka yang ditentukan oleh aplikasi yang digunakan untuk mengedit entri. Setiap entri dapat berisi pasangan _attribute_type_ dan _attribute_value_ sebanyak yang diperlukan, selama semuanya didefinisikan dalam berkas skema yang sesuai. Baris kosong menunjukkan akhir entri.
OpenLDAP Features OpenLDAP suite provides a number of important features:
-
Dukungan LDAPv3 — Banyak perubahan dalam protokol sejak LDAP versi 2 dirancang untuk membuat LDAP lebih aman. Di antara peningkatan lainnya, ini termasuk dukungan untuk protokol Simple Authentication and Security Layer (SASL), Transport Layer Security (TLS), dan Secure Sockets Layer (SSL).
-
LDAP Di Atas IPC — Penggunaan komunikasi antar-proses (IPC) meningkatkan keamanan dengan menghilangkan kebutuhan untuk berkomunikasi melalui jaringan.
-
Dukungan IPv6 — OpenLDAP sesuai dengan Protokol Internet versi 6 (IPv6), generasi berikutnya dari Protokol Internet.
-
Dukungan LDIFv1 — OpenLDAP sepenuhnya sesuai dengan LDIF versi 1.
-
API C yang diperbarui — API C saat ini meningkatkan cara pemrogram dapat terhubung dan menggunakan server direktori LDAP.
-
Server LDAP Mandiri yang Disempurnakan — Ini termasuk sistem kontrol akses yang diperbarui, pooling thread, alat yang lebih baik, dan banyak lagi.
OpenLDAP Server Setup The typical steps to set up an LDAP server on Fedora are as follows:
-
Pasang keluarga OpenLDAP. Lihat Memasang Keluarga OpenLDAP untuk informasi lebih lanjut tentang paket yang diperlukan.
-
Sesuaikan konfigurasi seperti yang dijelaskan dalam Mengonfigurasi sebuah Server OpenLDAP.
-
Mulai layanan
slapd
seperti yang dijelaskan dalam Menjalankan sebuah Server OpenLDAP. -
Gunakan utilitas ldapadd untuk menambahkan entri ke direktori LDAP.
-
Gunakan utilitas ldapsearch untuk memverifikasi bahwa layanan
slapd
mengakses informasi dengan benar.
Memasang Keluarga OpenLDAP
Rangkaian pustaka dan alat OpenLDAP disediakan oleh paket berikut:
Paket | Deskripsi |
---|---|
openldap |
Paket yang berisi pustaka yang diperlukan untuk menjalankan server OpenLDAP dan aplikasi klien. |
openldap-clients |
Paket yang berisi utilitas baris perintah untuk melihat dan memodifikasi direktori di server LDAP. |
openldap-servers |
Paket yang berisi layanan dan utilitas untuk mengonfigurasi dan menjalankan server LDAP. Ini termasuk Standalone LDAP Daemon, |
openldap-servers-sql |
Paket yang berisi modul dukungan SQL. |
Selain itu, paket berikut biasanya digunakan bersama dengan server LDAP:
Paket | Deskripsi |
---|---|
nss-pam-ldapd |
Paket yang berisi |
mod_ldap |
Paket yang berisi modul |
Untuk memasang paket, gunakan perintah dnf dalam bentuk berikut sebagai root
:
dnf install
package…
Misalnya, untuk melakukan instalasi server LDAP dasar, ketik yang berikut ini pada prompt shell sebagai root
:
~]# dnf install openldap openldap-clients openldap-servers
Note that you must have superuser privileges (that is, you must be logged in as root
) to run this command. For more information on how to install new packages in Fedora, see Installing Packages.
Overview of OpenLDAP Server Utilities To perform administrative tasks, the openldap-servers package installs the following utilities along with the slapd
service:
Perintah | Deskripsi |
---|---|
slapacl |
Memungkinkan Anda memeriksa akses ke daftar atribut. |
slapadd |
Memungkinkan Anda menambahkan entri dari berkas LDIF ke direktori LDAP. |
slapauth |
Memungkinkan Anda memeriksa daftar ID untuk izin otorisasi dan autentikasi. |
slapcat |
Memungkinkan Anda menarik entri dari direktori LDAP dalam format baku dan menyimpannya dalam berkas LDIF. |
slapdn |
Memungkinkan Anda memeriksa daftar Distinguished Names (DN) berdasarkan sintaks skema yang tersedia. |
slapindex |
Memungkinkan Anda untuk mengindeks ulang direktori |
slappasswd |
Memungkinkan Anda membuat kata sandi pengguna terenkripsi untuk digunakan dengan utilitas ldapmodify, atau di berkas konfigurasi |
slapschema |
Memungkinkan Anda untuk memeriksa kepatuhan basis data dengan skema yang sesuai. |
slaptest |
Memungkinkan Anda memeriksa konfigurasi server LDAP. |
Untuk penjelasan terperinci tentang utilitas ini dan penggunaannya, lihat halaman manual yang sesuai seperti yang disebut dalam Dokumentasi Terpasang.
Pastikan berkas memiliki pemilik yang benar
Meskipun hanya chown -R ldap:ldap /var/lib/ldap
|
Hentikan slapd sebelum menggunakan utilitas ini
Untuk menjaga integritas data, hentikan layanan ~]# systemctl stop slapd.service Untuk informasi selengkapnya tentang cara memulai, menghentikan, memulai ulang, dan memeriksa status layanan |
Overview of OpenLDAP Client Utilities The openldap-clients package installs the following utilities which can be used to add, modify, and delete entries in an LDAP directory:
Perintah | Deskripsi |
---|---|
ldapadd |
Memungkinkan Anda menambahkan entri ke direktori LDAP, baik dari berkas, atau dari masukan standar. Ini adalah tautan simbolis ke ldapmodify -a. |
ldapcompare |
Memungkinkan Anda membandingkan atribut yang diberikan dengan entri direktori LDAP. |
ldapdelete |
Memungkinkan Anda menghapus entri dari direktori LDAP. |
ldapexop |
Memungkinkan Anda melakukan operasi LDAP yang diperluas. |
ldapmodify |
Memungkinkan Anda mengubah entri di direktori LDAP, baik dari berkas, atau dari masukan standar. |
ldapmodrdn |
Memungkinkan Anda mengubah nilai RDN dari entri direktori LDAP. |
ldappasswd |
Memungkinkan Anda menetapkan atau mengubah sandi untuk pengguna LDAP. |
ldapsearch |
Memungkinkan Anda menelusuri entri direktori LDAP. |
ldapurl |
Memungkinkan Anda menyusun atau memecah URL LDAP. |
ldapwhoami |
Memungkinkan Anda melakukan operasi |
Dengan pengecualian ldapsearch, masing-masing utilitas ini lebih mudah digunakan dengan mereferensikan berkas yang berisi perubahan yang akan dibuat daripada mengetik perintah agar setiap entri diubah dalam direktori LDAP. Format berkas semacam itu diuraikan dalam halaman manual untuk setiap utilitas.
Overview of Common LDAP Client Applications Although there are various graphical LDAP clients capable of creating and modifying directories on the server, none of them is included in Fedora. Popular applications that can access directories in a read-only mode include Mozilla Thunderbird, Evolution, or Ekiga.
Mengonfigurasi Server OpenLDAP
Secara baku, konfigurasi OpenLDAP disimpan di direktori /etc/openldap/
. Tabel berikut menyoroti direktori dan berkas yang paling penting dalam direktori ini:
Path | Deskripsi |
---|---|
|
Berkas konfigurasi untuk aplikasi klien yang menggunakan pustaka OpenLDAP. Ini termasuk ldapadd, ldapsearch, Evolution, dll. |
|
Direktori yang berisi konfigurasi |
Perhatikan bahwa OpenLDAP tidak lagi membaca konfigurasinya dari berkas /etc/openldap/slapd.conf
. Sebaliknya, ia menggunakan basis data konfigurasi yang terletak di direktori /etc/openldap/slapd.d/
. Jika Anda memiliki berkas slapd.conf
yang ada dari instalasi sebelumnya, Anda dapat mengonversinya ke format baru dengan menjalankan perintah berikut sebagai root
:
~]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
Konfigurasi slapd
terdiri dari entri LDIF yang diatur dalam struktur direktori hirarkis, dan cara yang disarankan untuk mengedit entri ini adalah dengan menggunakan utilitas server yang dijelaskan dalam Ringkasan Utilitas Server OpenLDAP.
Jangan mengedit berkas LDIF secara langsung
Kesalahan dalam berkas LDIF dapat membuat layanan |
Changing the Global Configuration Global configuration options for the LDAP server are stored in the /etc/openldap/slapd.d/cn=config.ldif
file. The following directives are commonly used:
-
olcAllows
-
Direktif
olcAllows
memungkinkan Anda menentukan fitur mana yang akan diaktifkan. Ini mengambil bentuk berikut:
olcAllows
: feature…
Ini menerima daftar fitur yang dipisahkan spasi seperti yang dijelaskan dalam Opsi olcAllows yang tersedia. Opsi baku adalah bind_v2
.
Opsi | Deskripsi |
---|---|
|
Memungkinkan penerimaan permintaan pengikatan LDAP versi 2. |
|
Mengaktifkan ikatan anonim saat Distinguished Name (DN) kosong. |
|
Memungkinkan ikatan anonim ketika Distinguished Name (DN) tidak kosong. |
|
Memungkinkan pemrosesan operasi pembaruan anonim. |
|
Memungkinkan pemrosesan kontrol otorisasi proksi anonim. |
olcAllows: bind_v2 update_anon
-
olcConnMaxPending
-
Direktif
olcConnMaxPending
memungkinkan Anda menentukan jumlah maksimum permintaan yang tertunda untuk sesi anonim. Ini mengambil bentuk berikut:
olcConnMaxPending
: number
Opsi baku adalah 100
.
olcConnMaxPending: 100
-
olcConnMaxPendingAuth
-
Direktif
olcConnMaxPendingAuth
memungkinkan Anda menentukan jumlah maksimum permintaan yang tertunda untuk sesi yang diautentikasi. Mengambil bentuk berikut:
olcConnMaxPendingAuth
: number
Opsi baku adalah 1000
.
olcConnMaxPendingAuth: 1000
-
olcDisallows
-
Direktif
olcDisallows
memungkinkan Anda menentukan fitur mana yang akan dinonaktifkan. Mengambil bentuk berikut:
olcDisallows
: feature…
Ini menerima daftar fitur yang dipisahkan ruang seperti yang dijelaskan dalam Opsi olcDisallows yang tersedia. Tidak ada fitur yang dinonaktifkan secara baku.
Opsi | Deskripsi |
---|---|
|
Menonaktifkan penerimaan permintaan ikatan anonim. |
|
Menonaktifkan mekanisme otentikasi ikatan sederhana. |
|
Menonaktifkan pemberlakuan sesi anonim saat perintah STARTTLS diterima. |
|
Melarang perintah STARTTLS saat diautentikasi. |
olcDisallows: bind_anon
-
olcIdleTimeout
-
Direktif
olcIdleTimeout
memungkinkan Anda menentukan berapa detik untuk menunggu sebelum menutup koneksi menganggur. Mengambil bentuk berikut:
olcIdleTimeout
: number
Opsi ini dinonaktifkan secara baku (yaitu, diatur ke 0
).
olcIdleTimeout: 180
-
olcLogFile
-
Direktif
olcLogFile
memungkinkan Anda menentukan berkas untuk menulis pesan log. Mengambil bentuk berikut:
olcLogFile: file_name
Pesan log ditulis ke kesalahan standar secara baku.
olcLogFile: /var/log/slapd.log
-
olcReferral
-
Opsi
olcReferral
memungkinkan Anda menentukan URL server untuk memproses permintaan jika server tidak dapat menanganinya. Mengambil bentuk berikut:
olcReferral
: URL
Opsi ini dinonaktifkan secara baku.
olcReferral: ldap://root.openldap.org
-
olcWriteTimeout
-
Opsi
olcWriteTimeout
memungkinkan Anda menentukan berapa detik untuk menunggu sebelum menutup koneksi dengan permintaan tulis yang luar biasa. Mengambil bentuk berikut:
olcWriteTimeout
Opsi ini dinonaktifkan secara baku (yaitu, diatur ke 0
).
olcWriteTimeout: 180
Changing the Database-Specific Configuration By default, the OpenLDAP server uses Berkeley DB (BDB) as a database back end. The configuration for this database is stored in the /etc/openldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif
file. The following directives are commonly used in a database-specific configuration:
-
olcReadOnly
-
Direktif
olcReadOnly
memungkinkan Anda untuk menggunakan basis data dalam mode baca-saja. Mengambil bentuk berikut:
olcReadOnly
: boolean
Ini menerima TRUE
(aktifkan mode baca-saja), atau FALSE
(aktifkan modifikasi basis data). Opsi baku adalah FALSE
.
olcReadOnly: TRUE
-
olcRootDN
-
Direktif
olcRootDN
memungkinkan Anda menentukan pengguna yang tidak dibatasi oleh kontrol akses atau parameter batas administratif yang ditetapkan untuk operasi di direktori LDAP. Mengambil bentuk berikut:
olcRootDN: distinguished_name
Ini menerima Distinguished Name (* DN *). Opsi baku adalah cn=Manager,dn=my-domain,dc=com
.
olcRootDN: cn=root,dn=example,dn=com
-
olcRootPW
-
Direktif
olcRootPW
memungkinkan Anda untuk mengatur kata sandi untuk pengguna yang ditentukan menggunakan direktifolcRootDN
. Mengambil bentuk berikut:
olcRootPW
: password
Ini menerima string teks polos, atau hash. Untuk menghasilkan hash, ketik berikut ini pada prompt shell:
~]$ slappaswd
New password:
Re-enter new password:
{SSHA}WczWsyPEnMchFf1GRTweq2q7XJcvmSxD
olcRootPW: \{SSHA}WczWsyPEnMchFf1GRTweq2q7XJcvmSxD
-
olcSuffix
-
Direktif
olcSuffix
memungkinkan Anda menentukan domain untuk memberikan informasi. Mengambil bentuk berikut:
olcSuffix: domain_name
Ini menerima fully qualified domain name (* FQDN *). Opsi baku adalah dc=my-domain,dc=com
.
olcSuffix: dc=example,dc=com
Extending Schema Since OpenLDAP 2.3, the /etc/openldap/slapd.d/
directory also contains LDAP definitions that were previously located in /etc/openldap/schema/
. It is possible to extend the schema used by OpenLDAP to support additional attribute types and object classes using the default schema files as a guide. However, this task is beyond the scope of this chapter. For more information on this topic, see http://www.openldap.org/doc/admin/schema.html.
Establishing a Secure Connection OpenLDAP clients and servers can be secured using the Transport Layer Security (TLS) framework. TLS is a cryptographic protocol designed to provide communication security over the network. As noted above, OpenLDAP suite in Fedora uses Mozilla NSS as the TLS implementation.
To establish a secure connection using TLS, obtain the required certificates as described in How do I use TLS/SSL with Mozilla NSS. Then, a number of options must be configured on both the client and the server. At a minimum, a server must be configured with the Certificate Authority (CA) certificates and also its own server certificate and private key. The clients must be configured with the name of the file containing all the trusted CA certificates.
Biasanya, server hanya perlu menandatangani satu sertifikat CA. Klien mungkin ingin terhubung ke berbagai server aman, oleh karena itu adalah umum untuk menentukan daftar beberapa CA tepercaya dalam konfigurasinya.
Bagian ini mencantumkan direktif konfigurasi global untuk slapd
yang perlu ditentukan dalam berkas /etc/openldap/slapd.d/cn=config.ldif
pada server OpenLDAP untuk membuat TLS.
Sementara konfigurasi gaya lama menggunakan satu berkas, biasanya dipasang sebagai /usr/local/etc/openldap/slapd.conf
, gaya baru menggunakan basis data back end slapd untuk menyimpan konfigurasi. Basis data konfigurasi biasanya berada di direktori /usr/local/etc/openldap/slapd.d/
.
Direktif berikut juga berlaku untuk menetapkan SSL. Selain direktif TLS, Anda perlu mengaktifkan port yang didedikasikan untuk SSL di sisi server – biasanya itu adalah port 636. Untuk melakukannya, edit berkas /etc/sysconfig/slapd
dan tambahkan string ldaps:///
ke daftar URL yang ditentukan dengan direktif SLAPD_URLS
.
olcTLSCACertificateFile
-
Direktif
olcTLSCACertificateFile
menentukan berkas yang dikodekan dengan skema Privacy-Enhanced Mail (PEM) yang berisi sertifikat CA tepercaya. Direktif mengambil bentuk berikut:
olcTLSCACertificateFile
: path
Ganti path dengan path ke berkas sertifikat CA, atau, jika Anda menggunakan Mozilla NSS, dengan nama sertifikat.
olcTLSCACertificatePath
-
Direktif
olcTLSCACertificatePath
menentukan path ke direktori yang berisi sertifikat CA individual dalam berkas terpisah. Direktori ini harus dikelola secara khusus dengan utilitas OpenSSL c_rehash yang menghasilkan tautan simbolis dengan nama hash yang mengarah ke berkas sertifikat yang sebenarnya. Secara umum, lebih mudah untuk menggunakan direktifolcTLSCACertificateFile
sebagai gantinya.Jika Mozilla NSS digunakan,
olcTLSCACertificatePath
menerima path ke basis data Mozilla NSS (seperti yang ditunjukkan dalam Memakai olcTLSCACertificatePath dengan Mozilla NSS). Dalam kasus seperti itu, c_rehash tidak diperlukan.
Direktif mengambil bentuk berikut:
olcTLSCACertificatePath
: path
Ganti path dengan path ke direktori yang berisi berkas sertifikat CA, atau dengan path ke berkas basis data Mozilla NSS.
Dengan Mozilla NSS, direktif olcTLSCACertificatePath
menentukan path direktori yang berisi sertifikat NSS dan berkas basis data kunci. Misalnya:
olcTLSCACertificatePath
:sql:/home/nssdb/sharednssdb
Perintah certutil digunakan untuk menambahkan sertifikat CA ke berkas basis data NSS ini:
certutil -dsql:/home/nssdb/sharednssdb
-A -n "CA_certificate" -tCT,,
-a -icertificate.pem
Perintah di atas menambahkan sertifikat CA yang disimpan dalam berkas berformat PEM bernama certificate.pem. Opsi -d
menentukan direktori basis data yang berisi sertifikat dan berkas basis data kunci, opsi -n
menetapkan nama untuk sertifikat, -t
CT,,
berarti bahwa sertifikat dipercaya untuk digunakan dalam klien dan server TLS. Opsi -A
menambahkan sertifikat yang ada ke basis data sertifikat, opsi -a
memungkinkan penggunaan format ASCII untuk masukan atau keluaran, dan opsi -i
meneruskan berkas masukan certificate.pem
ke perintah.
olcTLSCertificateFile
-
Direktif
olcTLSCertificateFile
menentukan berkas yang berisi sertifikat serverslapd
. Direktif mengambil bentuk berikut:
olcTLSCertificateFile
: path
Ganti path dengan path ke berkas sertifikat server slapd
, atau, jika Anda menggunakan Mozilla NSS, dengan nama sertifikat.
Saat menggunakan Mozilla NSS dengan berkas basis data sertifikat dan kunci yang ditentukan dengan direktif olcTLSCACertificatePath
, olcTLSCertificateFile
digunakan untuk menentukan nama sertifikat yang akan digunakan. Pertama, jalankan perintah berikut untuk melihat daftar sertifikat yang tersedia di berkas basis data NSS Anda:
certutil-d
sql:/home/nssdb/sharednssdb
-L
Pilih sertifikat dari daftar dan berikan namanya ke olcTLSCertificateFile
. Misalnya:
olcTLSCertificateFile slapd_cert
olcTLSCertificateKeyFile
-
Direktif
olcTLSCertificateKeyFile
menentukan berkas yang berisi kunci privat yang cocok dengan sertifikat yang disimpan dalam berkas yang ditentukan denganolcTLSCertificateFile
. Perhatikan bahwa implementasi saat ini tidak mendukung kunci privat terenkripsi, dan oleh karena itu berkas yang memuat harus cukup dilindungi. Direktif mengambil bentuk berikut:
olcTLSCertificateKeyFile
: path
Ganti path dengan path ke berkas kunci privat jika Anda menggunakan sertifikat PEM. Saat menggunakan Mozilla NSS, path adalah singkatan dari nama berkas yang berisi kata sandi untuk kunci untuk sertifikat yang ditentukan dengan direktif olcTLSCertificateFile
(lihat Memakai olcTLSCertificateKeyFile dengan Mozilla NSS).
Saat menggunakan Mozilla NSS, direktif ini menentukan nama berkas yang berisi kata sandi untuk kunci untuk sertifikat yang ditentukan dengan olcTLSCertificateFile
:
olcTLSCertificateKeyFile: slapd_cert_key
Perintah modutil dapat digunakan untuk menonaktifkan perlindungan kata sandi atau untuk mengubah kata sandi untuk berkas basis data NSS. Misalnya:
modutil-dbdir
sql:/home/nssdb/sharednssdb
-changepw
Tentukan perintah berikut dalam berkas konfigurasi /etc/openldap/ldap.conf
pada sistem klien. Sebagian besar direktif ini sejajar dengan opsi konfigurasi server. Direktif in/etc/openldap/ldap.conf
dikonfigurasi bagi seluruh sistem, namun, pengguna individu dapat menggantinya dalam berkas ~/.ldaprc
mereka.
Direktif yang sama dapat digunakan untuk membuat koneksi SSL. String ldaps://
harus digunakan sebagai pengganti ldap://
dalam perintah OpenLDAP seperti ldapsearch. Ini memaksa perintah untuk menggunakan port baku untuk SSL, port 636, dikonfigurasi di server.
TLS_CACERT
-
Direktif
TLS_CACERT
menentukan berkas yang berisi sertifikat untuk semua Otoritas Sertifikat yang akan dikenali klien. Ini setara dengan direktifolcTLSCACertificateFile
di server.TLS_CACERT
harus selalu ditentukan sebelumTLS_CACERTDIR
di/etc/openldap/ldap.conf
. Direktif mengambil bentuk berikut:
TLS_CACERT path
Ganti path dengan path ke berkas sertifikat CA.
TLS_CACERTDIR
-
Direktif
TLS_CACERTDIR
menentukan path ke direktori yang berisi sertifikat Otoritas Sertifikat dalam berkas terpisah. Seperti halnyaolcTLSCACertificatePath
di server, direktori yang ditentukan harus dikelola dengan utilitas OpenSSL c_rehash. Path ke berkas basis data Mozilla NSS juga diterima, c_rehash tidak diperlukan dalam kasus seperti itu. Direktif mengambil bentuk berikut:
TLS_CACERTDIR directory
Ganti directory dengan path ke direktori yang berisi berkas sertifikat CA. Dengan Mozilla NSS, directory adalah singkatan dari path ke sertifikat atau berkas basis data kunci.
TLS_CERT
-
TLS_CERT
menentukan berkas yang berisi sertifikat klien. Direktif ini hanya dapat ditentukan dalam berkas~/.ldaprc
pengguna. Dengan Mozilla NSS, direktif ini menentukan nama sertifikat yang akan dipilih dari basis data yang ditentukan dengan direktifTLS_CACERTDIR
yang disebutkan di atas. Direktif mengambil bentuk berikut:
TLS_CERT path
Ganti path dengan path ke berkas sertifikat klien, atau dengan nama sertifikat dari basis data NSS.
TLS_KEY
-
TLS_KEY
menentukan berkas yang berisi kunci privat yang cocok dengan sertifikat yang disimpan dalam berkas yang ditentukan dengan direktifTLS_CERT
. Seperti halnyaolcTLSCertificateFile
di server, berkas kunci terenkripsi tidak didukung, sehingga berkas itu sendiri harus dilindungi dengan hati-hati. Opsi ini hanya dapat dikonfigurasi dalam berkas~/.ldaprc
pengguna.Saat menggunakan Mozilla NSS,
TLS_KEY
menentukan nama berkas yang berisi kata sandi untuk kunci pribadi yang melindungi sertifikat yang ditentukan dengan direktifTLS_CERT
. Demikian pula dengan direktifolcTLSCertificateKeyFile
di server (lihat Memakai olcTLSCertificateKeyFile dengan Mozilla NSS), Anda dapat menggunakan perintah modutil untuk mengelola kata sandi ini.
Direktif [opsi]TLS_KEY
mengambil bentuk berikut:
TLS_KEY path
Ganti path dengan path ke berkas sertifikat klien atau dengan nama berkas kata sandi di basis data NSS.
Setting Up Replication Replication is the process of copying updates from one LDAP server (provider) to one or more other servers or clients (consumers). A provider replicates directory updates to consumers, the received updates can be further propagated by the consumer to other servers, so a consumer can also act simultaneously as a provider. Also, a consumer does not have to be an LDAP server, it may be just an LDAP client. In OpenLDAP, you can use several replication modes, most notable are mirror and sync. For more information on OpenLDAP replication modes, see the OpenLDAP Software Administrator’s Guide installed with openldap-servers package (see Installed Documentation).
Untuk mengaktifkan mode replikasi yang dipilih, gunakan salah satu direktif berikut di /etc/openldap/slapd.d/
pada penyedia dan konsumen.
olcMirrorMode
-
Direktif
olcMirrorMode
memungkinkan mode replikasi cermin. Ini mengambil bentuk berikut:
olcMirrorMode
on
Opsi ini perlu ditentukan baik pada penyedia maupun konsumen. Juga serverID
harus ditentukan bersama dengan opsi syncrepl
. Temukan contoh terperinci di bagian 18.3.4. MirrorMode dari Panduan Administrator Perangkat Lunak OpenLDAP (lihat Dokumentasi Terpasang).
olcSyncrepl
-
Direktif
olcSyncrepl
memungkinkan mode replikasi sinkronisasi. Ini mengambil bentuk berikut:
olcSyncrepl
on
Mode replikasi sinkronisasi memerlukan konfigurasi khusus pada penyedia dan konsumen. Konfigurasi ini dijelaskan secara menyeluruh dalam Bagian 18.3.1. Syncrepl dari Panduan Administrator Perangkat Lunak OpenLDAP (lihat Dokumentasi Terpasang).
Loading Modules and Backends You can enhance the slapd
service with dynamically loaded modules. Support for these modules must be enabled with the --enable-modules
option when configuring slapd
. Modules are stored in files with the .la extension:
module_name.la
Backends menyimpan atau mengambil data sebagai respons terhadap permintaan LDAP. Backend dapat dikompilasi secara statis menjadi slapd
, atau ketika dukungan modul diaktifkan, mereka dapat dimuat secara dinamis. Dalam kasus terakhir, konvensi penamaan berikut diterapkan:
back_backend_name.la
Untuk memuat modul atau backend, gunakan direktif berikut di /etc/openldap/slapd.d/
:
olcModuleLoad
-
Direktif
olcModuleLoad
menentukan modul yang dapat dimuat secara dinamis untuk dimuat. Ini mengambil bentuk berikut:
olcModuleLoad
: module
Di sini, module adalah singkatan dari berkas yang berisi modul, atau backend, yang akan dimuat.
Kebijakan SELinux untuk Aplikasi yang Menggunakan LDAP
SELinux adalah implementasi dari mekanisme mandatory access control di kernel Linux. Secara baku, SELinux mencegah aplikasi mengakses server OpenLDAP. Untuk mengaktifkan autentikasi melalui LDAP, yang diperlukan oleh beberapa aplikasi, SELinux Boolean allow_ypbind
perlu diaktifkan. Aplikasi tertentu juga menuntut Boolean authlogin_nsswitch_use_ldap
yang diaktifkan dalam skenario ini. Jalankan perintah berikut untuk mengaktifkan Boolean yang disebutkan di atas:
~]# setsebool -P allow_ypbind=1
~]# setsebool -P authlogin_nsswitch_use_ldap=1
Opsi -P
membuat pengaturan ini persisten antar reboot sistem. Lihat tautan:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/SELinux_Users_and_Administrators_Guide/[Panduan Pengguna dan Administrator SELinux Red Hat Enterprise Linux 7] untuk informasi lebih rinci tentang SELinux.
Menjalankan Server OpenLDAP
This section describes how to start, stop, restart, and check the current status of the Standalone LDAP Daemon. For more information on how to manage system services in general, see Services and Daemons.
Starting the Service To start the slapd
service in the current session, type the following at a shell prompt as root
:
~]# systemctl start slapd.service
Untuk mengonfigurasi layanan agar memulai secara otomatis pada waktu boot, gunakan perintah berikut sebagai root
:
~]# systemctl enable slapd.service
See Services and Daemons for more information on how to configure services in Fedora.
Stopping the Service To stop the running slapd
service in the current session, type the following at a shell prompt as root
:
~]# systemctl stop slapd.service
Untuk mencegah layanan dimulai secara otomatis pada waktu boot, ketik sebagai root
:
~]# systemctl disable slapd.service rm `/etc/systemd/system/multi-user.target.wants/slapd.service`
See Services and Daemons for more information on how to configure services in Fedora.
Mengonfigurasi Sistem untuk Mengautentikasi Menggunakan OpenLDAP
Untuk mengonfigurasi sistem agar mengautentikasi menggunakan OpenLDAP, pastikan bahwa paket yang sesuai dipasang pada server LDAP dan komputer klien. Untuk informasi tentang cara menyiapkan server, ikuti petunjuk di Memasang Keluarga OpenLDAP dan Mengonfigurasi Server OpenLDAP. Pada klien, ketik yang berikut ini pada prompt shell sebagai root
:
~]# dnf install openldap openldap-clients nss-pam-ldapd
Migrating Old Authentication Information to LDAP Format The migrationtools package provides a set of shell and Perl scripts to help you migrate authentication information into an LDAP format. To install this package, type the following at a shell prompt as root
:
~]# dnf install migrationtools
Ini akan memasang skrip ke direktori /usr/share/migrationtools/
. Setelah terpasang, edit berkas /usr/share/migrationtools/migrate_common.ph
dan ubah baris berikut untuk mencerminkan domain yang benar, misalnya:
# Default DNS domain $DEFAULT_MAIL_DOMAIN = "example.com"; # Default base $DEFAULT_BASE = "dc=example,dc=com";
Atau, Anda dapat menentukan variabel lingkungan langsung pada baris perintah. Misalnya, untuk menjalankan skrip migrate_all_online.sh
dengan basis baku yang diatur ke dc=example,dc=com
, ketik:
~]# export DEFAULT_BASE="dc=example,dc=com" \ /usr/share/migrationtools/migrate_all_online.sh
Untuk memutuskan skrip mana yang akan dijalankan untuk memigrasikan basis data pengguna, lihat Skrip migrasi LDAP yang umum digunakan.
Layanan Nama yang Ada | Apakah LDAP Berjalan? | Skrip untuk Digunakan |
---|---|---|
berkas flat |
ya |
|
berkas flat |
tidak |
|
NetInfo |
ya |
|
NetInfo |
tidak |
|
NIS (YP) |
ya |
|
NIS (YP) |
tidak |
|
Untuk informasi selengkapnya tentang cara menggunakan skrip ini, lihat berkas README
dan migration-tools.txt
di direktori /usr/share/doc/migrationtools/
.
Sumber Daya Tambahan
Sumber daya berikut menawarkan informasi tambahan tentang Lightweight Directory Access Protocol. Sebelum mengonfigurasi LDAP di sistem, sangat disarankan agar Anda meninjau sumber daya ini, terutama citetitle]Panduan Administrator Perangkat Lunak OpenLDAP.
Dokumentasi berikut dipasang dengan paket openldap-servers:
-
/usr/share/doc/openldap-servers/guide.html
— Salinan [citetitle]_Panduan Administrator Perangkat Lunak OpenLDAP. -
/usr/share/doc/openldap-servers/README.schema
— Berkas README yang berisi deskripsi berkas skema yang dipasang.
Selain itu, ada juga sejumlah halaman manual yang dipasang dengan paket openldap, openldap-servers, dan openldap-clients:
- Aplikasi Klien
-
-
ldapadd(1) — Halaman manual untuk perintah ldapadd menjelaskan cara menambahkan entri ke direktori LDAP.
-
ldapdelete(1) — Halaman manual untuk perintah ldapdelete menjelaskan cara menghapus entri dalam direktori LDAP.
-
ldapmodify(1) — Halaman manual untuk perintah ldapmodify menjelaskan cara mengubah entri dalam direktori LDAP.
-
ldapsearch(1) — Halaman manual untuk perintah ldapsearch menjelaskan cara menelusuri entri dalam direktori LDAP.
-
ldappasswd(1) — Halaman manual untuk perintah ldappasswd menjelaskan cara menyetel atau mengubah kata sandi pengguna LDAP.
-
ldapcompare(1) — Menjelaskan cara menggunakan alat ldapcompare.
-
ldapwhoami(1) — Menjelaskan cara menggunakan alat ldapwhoami.
-
ldapmodrdn(1) — Menjelaskan cara memodifikasi RDN entri.
-
- Aplikasi Server
-
-
slapd(8C) — Menjelaskan opsi baris perintah untuk server LDAP.
-
- Aplikasi Administratif
-
-
slapadd(8C) — Menjelaskan opsi baris perintah yang digunakan untuk menambahkan entri ke basis data slapd.
-
slapcat(8C) — Menjelaskan opsi baris perintah yang digunakan untuk menghasilkan berkas LDIF dari basis data slapd.
-
slapindex(8C) — Menjelaskan opsi baris perintah yang digunakan untuk meregenerasi indeks berdasarkan konten basis data slapd.
-
slappasswd(8C) — Menjelaskan opsi baris perintah yang digunakan untuk membuat sandi pengguna untuk direktori LDAP.
-
- Berkas Konfigurasi
-
-
ldap.conf(5) — Halaman manual untuk berkas
ldap.conf
menjelaskan format dan opsi yang tersedia dalam berkas konfigurasi untuk klien LDAP. -
slapd-config(5) — Menjelaskan format dan opsi yang tersedia dalam direktori konfigurasi
/etc/openldap/slapd.d
.
-
- http://www.openldap.org/doc/admin24/
-
Versi saat ini dari Panduan Administrator Perangkat Lunak OpenLDAP.
- http://www.kingsmountain.com/ldapRoadmap.shtml
-
LDAP Roadmap &FAQ dari Jeff Hodges yang berisi tautan ke beberapa sumber daya yang berguna dan berita yang muncul mengenai protokol LDAP.
- http://www.ldapman.org/articles/
-
Kumpulan artikel yang menawarkan pengenalan LDAP yang baik, termasuk metode untuk merancang pohon direktori dan menyesuaikan struktur direktori.
- http://www.padl.com/
-
Situs web pengembang beberapa alat LDAP yang berguna.
Buku Terkait
- OpenLDAP by Example oleh John Terpstra dan Benjamin Coles; Prentice Hall.
-
Kumpulan latihan praktis dalam penggelaran OpenLDAP.
- Implementing LDAP oleh Mark Wilcox; Wrox Press, Inc.
-
Sebuah buku yang mencakup LDAP dari perspektif administrator sistem dan pengembang perangkat lunak.
- Understanding and Deploying LDAP Directory Services oleh Tim Howes dkk.; Macmillan Technical Publishing.
-
Buku yang mencakup prinsip-prinsip desain LDAP, serta penggelarannya di lingkungan produksi.
Want to help? Learn how to contribute to Fedora Docs ›