Stasiun Kerja Online OnWorks Linux dan Windows

logo

Hosting Online Gratis untuk WorkStation

<Sebelumnya | Konten | Selanjutnya>

1.7. Kontrol akses


Pengelolaan jenis akses apa (baca, tulis, dll) yang harus diberikan pengguna ke sumber daya dikenal sebagai

kontrol akses. Arahan konfigurasi yang terlibat disebut daftar kontrol akses atau ACL.


Ketika kami menginstal paket slapd, berbagai ACL diatur secara otomatis. Kami akan melihat beberapa konsekuensi penting dari default tersebut dan, dengan melakukan itu, kami akan mendapatkan gambaran tentang cara kerja ACL dan konfigurasinya.


Untuk mendapatkan ACL yang efektif untuk kueri LDAP, kita perlu melihat entri ACL dari database yang ditanyakan serta entri database frontend khusus. ACL milik yang terakhir bertindak sebagai default jika yang pertama tidak cocok. Basis data frontend adalah yang kedua untuk dikonsultasikan dan ACL yang akan diterapkan adalah yang pertama cocok ("pertandingan pertama menang") di antara 2 sumber ACL ini. Perintah berikut akan memberikan, masing-masing, ACL database mdb ("dc=example,dc=com") dan database frontend:


sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b \ cn=config '(olcDatabase={1}mdb)' olcAccess


dn: olcDatabase={1}mdb,cn=konfigurasi

olcAccess: {0}ke attrs=userPassword sendiri tulis oleh anonim auth oleh * none olcAccess: {1}to attrs=shadowLastChange sendiri tulis oleh * baca

olcAccess: {2}ke * oleh * baca


gambar

RootDN selalu memiliki hak penuh atas basis datanya dan tidak perlu disertakan dalam ACL apa pun.



sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b \ cn=config '(olcDatabase={-1}frontend)' olcAccess


dn: olcDatabase={-1}ujung depan,cn=config

olcAccess: {0}ke * oleh dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=eksternal

,cn=auth dikelola dengan * break

olcAccess: {1}ke dn.exact="" oleh * baca

olcAccess: {2}ke dn.base="cn=Subschema" dengan * baca


Dua ACL pertama sangat penting:


olcAccess: {0}ke attrs=userPassword sendiri tulis oleh anonim auth oleh * none olcAccess: {1}to attrs=shadowLastChange sendiri tulis oleh * baca


Ini dapat direpresentasikan secara berbeda untuk pencernaan yang lebih mudah:


ke attrs=userPassword



dengan menulis sendiri

oleh auth anonim oleh * none


ke attrs=shadowLastChange dengan menulis sendiri

oleh * baca


ACL ini memberlakukan hal berikut:

• Akses 'auth' anonim disediakan untuk kata sandi pengguna atribut sehingga pengguna dapat mengotentikasi, atau mengikat. Mungkin kontra-intuitif, 'dengan auth anonim' diperlukan bahkan ketika akses anonim ke DIT tidak diinginkan, jika tidak, ini akan menjadi masalah ayam dan telur: sebelum otentikasi, semua pengguna anonim.

• The dengan menulis sendiri ACL memberikan akses tulis ke kata sandi pengguna atribut ke pengguna yang diautentikasi sebagai dn di mana atribut itu hidup. Dengan kata lain, pengguna dapat memperbarui kata sandi pengguna atribut entri mereka sendiri.

• The kata sandi pengguna atribut sebaliknya tidak dapat diakses oleh semua pengguna lain, dengan pengecualian rootDN, yang selalu memiliki akses dan tidak perlu disebutkan secara eksplisit.

• Agar pengguna dapat mengubah kata sandi mereka sendiri, menggunakan passwd atau utilitas lain, milik pengguna bayanganTerakhirPerubahan atribut harus dapat ditulis. Semua pengguna direktori lain dapat membaca konten atribut ini.


DIT ini dapat dicari secara anonim karena 'to * by * read' di ACL ini, yang memberikan akses baca ke semua hal lainnya, oleh siapa pun (termasuk anonim):


ke *

oleh * baca


Jika ini tidak diinginkan maka Anda perlu mengubah ACL. Untuk memaksa otentikasi selama permintaan pengikatan, Anda juga dapat (atau dalam kombinasi dengan ACL yang dimodifikasi) menggunakan direktif 'olcRequire: authc'.


Seperti disebutkan sebelumnya, tidak ada akun administratif ("rootDN") yang dibuat untuk database slapd-config. Namun, ada identitas SASL yang diberikan akses penuh ke sana. Ini mewakili pengguna super localhost (root/sudo). Ini dia:


dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=eksternal,cn=auth


Perintah berikut akan menampilkan ACL dari database slapd-config:


sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b \ cn=config '(olcDatabase={0}config)' olcAccess


dn: olcDatabase={0}konfigurasi,cn=konfigurasi

olcAccess: {0}ke * oleh dn.exact=gidNumber=0+uidNumber=0,cn=peercred, cn=external,cn=auth kelola dengan * break


Karena ini adalah identitas SASL, kami perlu menggunakan SASL mekanisme saat menjalankan utilitas LDAP yang dimaksud dan kami telah melihatnya berkali-kali dalam panduan ini. Ini adalah mekanisme EKSTERNAL. Lihat perintah sebelumnya untuk contoh. Perhatikan bahwa:


1. Anda harus menggunakan sudo menjadi identitas root agar ACL cocok.

2. Mekanisme EKSTERNAL bekerja melalui IPC (soket domain UNIX). Ini berarti Anda harus menggunakan ldapi

format URI.


Cara ringkas untuk mendapatkan semua ACL adalah seperti ini:


sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b \ cn=config '(olcAccess=*)' olcAccess olcSuffix

Ada banyak yang bisa dikatakan tentang topik kontrol akses. Lihat halaman manual untuk slapd.access4.


Komputasi Awan OS Teratas di OnWorks: