Jumat, 14 Januari 2011

Registry Mania : SACL dan DACL

Access control adalah proses autorisasi pemakai, grup dan komputer agar dapat mengakses obyek. Ada beberapa aspek mendasar yang membentuk access control,, diantaranya adalah :  permission, ownership, dan auditing.  Kita akan melihat aspek ini secara lebih detail nanti.
Jika dikatakan secara lebih global, maka Access control lists (ACL), digunakan dengan dua cara dalam menangani sekuriti Windows. Satu jenis ACL didesain sebagai gate access dan lebih dikenal dengan sebutan DACL (Discretionary Access Control List).  Aspek Permission, ownership, ineheritance masuk dalam
kategori ini.  Sedangkan lainnya didesain untuk audit access dan lebih dikenal dengan sebutan SACL (System Access Control List).  Aspek auditing masuk dalam kategori ini.
Sistem operasi  Windows meletakkan kendali obyek pada orang yang membuatnya !  Sebagai contoh, jika Kiki membuat suatu file,  maka oleh sistem operasi ia dianggap menjadi owner (pemilik) dari file tersebut. Lalu,  owner SID KIKI dipasangkan sebagai salah satu bagian dari security descriptor untuk file tersebut.
Sebagai seorang Owner, Kiki secara implisit  akan diberikan  permission (ijin/hak) untuk membaca security descriptor dan mengubah DACL untuk file tersebut jika memang diinginkan.
Discretionary access control secara kasar bisa diartikan bahwa setiap obyek pasti mempunyai owner dan owner berhak memilih kendali policy (kebijakan) untuk obyek tersebut.
Kebanyakan obyek Windows memakai security model seperti ini.  Termasuk untuk printer, services, file share, dan lain sebagainya. Seluruh secure kernel object juga memakai model ini. Seperti processes, threads, memory sections, synchronization objects  (seperti mutexes dan events)
Kita akan melihat sekilas beberapa aspek yang telah disinggung di muka.  Kita akan melihat masalah permission dulu..

Permissions
Permission mendefinisikan jenis dari akses yang diijinkan ke suatu pemakai atau untuk suatu obyek plus property-nya.  Permission diberikan kepada  obyek yang dilindungi,  seperti : file, Active directory obyek, atau obyek registry. Permission dapat diberikan pada sembarang user, grup, dan  Komputer.
Secara ringkas kita dapat memberikan permission untuk obyek kepada :
•    Grup, pemakai, dan special identities dalam suatu domain.
•    Grup dan pemakai dalam suatu dan sembarang trusted domains.
•    Grup Lokal dan pemakai dalam suatu komputer dimana obyek tersebut berada
Permission yang dipasangkan ke suatu obyek bergantung kepada jenis obyek.  Jadi, permission yang dapat dipasangkan ke suatu file akan berbeda dengan yang dipasangkan di key registry. Beberapa permission, dapat berlaku pada semua obyek, jenis ini disebut dengan julukan : common permissions.  Common permission ini seperti :
•    Read permission  (ijin membaca)
•    Modify permission (ijin mengubah)
•    Change owner  (mengganti pemilik)
•    Delete  (menghapus)
Saat kita mengatur suatu  permission, maka kita  menentukan level akses untuk pemakai atau grup. Misalnya kita dapat memasangkan permission kepada seorang pemakai agar ia hanya dapat  membaca isi file, dan kita mengijinkan  (memberi permission) kepada pemakai lain agar ia dapat melakukan pengubahan pada file.  Juga, kita dapat memasangkan permission agar menolak seorang pemakai agar tidak dapat mengakses suatu file.  
Seandainya kita akan mengubah permission pada suatu obyek, yang harus dilakukan adalah memakai alat (program)  yang tepat, lalu mengubah property untuk obyek tersebut.  Sebagai contoh, kita akan mengubah permission dari file, maka pakailah Windows Explorer dan melakukan klik kanan pada nama file yang akan diatur, sehingga menu konteks muncul.  Baru kemudian mengeklik pilihan Properties, dan mengatur permission  via tab Security. Sedangkan jika kita ingin mengubah suatu key atau subkey registry, maka kita dapat memakai program regedit.

Explicit vs inherited permission

Sebenarnya terdapat dua jenis permission : explicit permission dan inherited permission. Explicit permission adalah permission yang dibuat secara default oleh sistem operasi saat suatu obyek dibuat oleh pemakai.
Inherited permissions adalah permission yang diberikan kepada obyek dari obyek induk (parent object).  Dengan adanya Inherited permissions ini, maka  akan mempermudah pengaturan permission secara manual.  Selain itu juga berguna untuk menjaga konsistensi  untuk seluruh obyek dalam suatu kontainer.
Secara default, obyek dalam suatu kontainer akan mewarisi permission dari kontainer tersebut saat obyek dibuat.  Sebagai penjelas, : saat kita membuat suatu folder, misalnya bernama DATAKU, maka seluruh subofolder dan file yang dibuat dalam folder DATAKU tersebut mewarisi permission dari folder tersebut.  Dengan demikian  dikatakan bahwa DATAKU memiliki explicit permission, sedangkan subfolders dan files didalamnya memiliki inherited permission.   Cukup jelas, ya?

Effective permissions

Jika kita ingin mengetahui permission apa saja yang dipunyai oleh seorang pemakai atau grup pada suatu obyek, maka kita dapat memakai fasilitas Effective Permissions. Effective Permissions adalah suatu fasilitas yang digunakan untuk menghitung permission apa saja yang diberikan ke suatu spesifsik user atau grup.
Kalkulasi akan dilakukan dari group membership sampai ke account, juga akan dihitung pula permission inherited dari parent object.
Ada beberapa Security Identifiers yang tidak masuk dalam kalkulasi, seperti : Anonymous Logon, Authenticated Users, Batch, Creator Group, Creator Owner, Dialup, Enterprise Domain Controllers, Interactive, Network, Proxy, Restricted, Self, Service, System, dan Terminal Server User.



Note : [Remake BDRW:MKWXP-14]
Tri Amperiyanto

3 komentar:

  1. terima kasih sudah sangat membantu artikelnya

    BalasHapus
  2. Terima kasih kang joyo, telah berkenan berkunjung ke blog. Semoga artikelnya membawa manfaat.

    BalasHapus
  3. Maaf... tapi tab Security-nya tidak aktif, hanya botton view yg aktif. Jadi bagaimana? minta tolong solusinya. Terima kasih

    BalasHapus