Larang ikatan anonim global dengan cn = config

9

Dengan slapd.conf Anda dapat secara global menonaktifkan pengikatan anonim dan memerlukan otentikasi dengan arahan statis berikut:

disallow bind_anon
require authc

Bagaimana saya bisa mencapai pengaturan global yang sama, tetapi menggunakan metode konfigurasi cn = config live yang baru?

Michael P.
sumber

Jawaban:

5

Bukan berarti ACLs quanta adalah hal yang buruk, tetapi untuk menjawab pertanyaan Anda:

ldapmodify
dn: cn = config
changetype: modifikasi
add: olcDisallows
olcDisallows: bind_anon
-

dn: olcDatabase = {- 1} frontend, cn = config
changetype: memodifikasi
add: olcMembutuhkan
olcMembutuhkan: authc

Perlu diketahui bahwa ldapmodify peka terhadap spasi (trailing), jadi tempel salin langsung tidak akan berfungsi (dan mungkin juga tidak mengautentikasi Anda dengan benar). Juga, dn yang Anda gunakan akan memerlukan akses tulis ke cn = config db.

84104
sumber
11

Variasi pada tema yang sama, saya mencobanya, berfungsi: Kiat keamanan LDAP di SysadminTalk

Ringkasan:

1) Buat file, sebut saja disable_anon_frontend.ldifdengan konten berikut:

dn: olcDatabase={-1}frontend,cn=config
add: olcRequires
olcRequires: authc

2) Buat file lain yang disebut disable_anon_backend.ldifdengan konten berikut:

dn: olcDatabase={1}hdb,cn=config
add: olcRequires
olcRequires: authc

3) Kemudian di server, modifikasi LDAP dengan mengeluarkan perintah berikut:

sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f disable_anon_frontend.ldif
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f disable_anon_backend.ldif

4) Periksa dengan menjalankan kueri langsung berikut: ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=domain,dc=com dn(gunakan dc=...pengaturan Anda sebagaimana berlaku).

Jika Anda melihat pesan kesalahan di bawah ini, maka akses anonim telah berhasil dinonaktifkan:

Server is unwilling to perform (53)
Additional information: authentication required

Semoga berhasil!

Laryx Decidua
sumber
2
Selamat Datang di Kesalahan Server! Meskipun ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
HopelessN00b
2
Terima kasih, Anda memang benar, saya mengedit jawaban saya seperti yang disarankan.
Laryx Decidua
1

Saya belum diuji tetapi coba sesuatu seperti ini:

dn: olcDatabase={1}hdb,cn=config
add: olcAccess
olcAccess: to attrs=userPassword 
    by dn="cn=admin,dc=example,dc=com" write 
    by self write 
    by * none
olcAccess: to dn.base="" 
    by users read 
    by * none
olcAccess: to * 
    by dn="cn=admin,dc=example,dc=com" write 
    by * none
kuanta
sumber
Terima kasih, ini yang saya lakukan saat ini per database. Namun, pertanyaan saya adalah bagaimana melakukannya secara global.
Michael P