TDCTF Academy Logo TDCTF ACADEMY

Authorization

Pendahuluan

Authorization (otorisasi) adalah proses menentukan apa yang boleh dilakukan oleh pengguna atau proses yang sudah terotentikasi. Jika authentication menjawab "siapa kamu?", maka authorization menjawab "apa yang boleh kamu lakukan?". Keduanya adalah konsep yang terpisah namun saling melengkapi.

Perbedaan Authentication vs Authorization

Aspek Authentication Authorization
Fungsi Verifikasi identitas Menentukan hak akses
Urutan Dilakukan pertama Setelah authentication berhasil
Data Kredensial (password, biometric) Kebijakan, ACL, permission
Contoh Login dengan password User A boleh membaca file X

Discretionary Access Control (DAC)

DAC adalah model di mana pemilik sumber daya dapat menentukan sendiri siapa yang memiliki akses. Implementasi paling umum adalah permission Unix (rwx) yang dimiliki oleh user dan group. Karakteristik DAC:

  • Pemilik file dapat mengubah permission secara bebas.
  • Akses dikontrol berdasarkan identitas pengguna.
  • Kurang ketat dibanding MAC - rentan terhadap program jahat yang dijalankan oleh user.

Mandatory Access Control (MAC)

MAC adalah model di mana kebijakan keamanan ditetapkan oleh administrator sistem, bukan oleh pemilik file. Sistem operasi menegakkan aturan secara wajib. Dua implementasi utama di Linux:

SELinux

Security-Enhanced Linux (SELinux) dikembangkan oleh NSA. Menggunakan label keamanan (security context) pada setiap objek (file, proses, port). Setiap aksi dicek terhadap kebijakan yang telah ditentukan. Mode:

  • Enforcing - kebijakan ditegakkan, aksi dilarang.
  • Permissive - pelanggaran dicatat tapi tidak diblokir.
  • Disabled - SELinux dimatikan.

AppArmor

AppArmor menggunakan profil berbasis path untuk membatasi kemampuan program. Lebih sederhana dibanding SELinux. Setiap profil mendefinisikan file apa yang boleh diakses, kemampuan jaringan, dan kapabilitas lain.

Role-Based Access Control (RBAC)

RBAC mengelompokkan hak akses berdasarkan peran (role). Pengguna tidak diberi hak langsung, melainkan ditugaskan ke role. Contoh:

  • Role admin - akses penuh ke sistem.
  • Role user - akses terbatas ke file sendiri.
  • Role auditor - akses baca ke log.

RBAC mempermudah manajemen hak akses di organisasi besar.

Permission Bits (Unix)

Model permission Unix menggunakan 12 bit:

  • 9 bit untuk user/group/others - rwx (read=4, write=2, execute=1).
  • 3 bit special - SUID (4), SGID (2), Sticky Bit (1).

Contoh: chmod 750 file = owner read+write+execute, group read+execute, others no access.

Access Control List (ACL)

ACL memperluas model permission Unix tradisional dengan memungkinkan beberapa user dan group memiliki hak akses berbeda pada file yang sama. Perintah:

  • getfacl file - melihat ACL.
  • setfacl -m u:username:rwx file - menambah ACL untuk user tertentu.

Sudoers

File /etc/sudoers (diedit dengan visudo) mendefinisikan siapa yang boleh menjalankan perintah sebagai user lain (biasanya root). Format:

username ALL=(ALL:ALL) ALL
%group ALL=(ALL) NOPASSWD: ALL

Direktori /etc/sudoers.d/ memungkinkan konfigurasi modular.

Security Context

Security context adalah metadata yang digunakan oleh sistem MAC untuk menentukan hak akses. Di SELinux, context terdiri dari:

  • User - identitas SELinux.
  • Role - peran dalam kebijakan.
  • Type - tipe objek (paling penting untuk Type Enforcement).
  • Level - tingkat keamanan (MLS).

Access Token

Di sistem Windows, access token adalah objek yang berisi identitas dan hak pengguna setelah login. Token mencakup:

  • User SID (Security Identifier).
  • Group SIDs.
  • Privileges (hak istimewa).
  • Integrity level.

Setiap proses yang dijalankan user mewarisi token ini. Windows memeriksa token terhadap DACL (Discretionary Access Control List) sumber daya.

Kesimpulan

Authorization adalah komponen kritikal yang memastikan pengguna hanya dapat melakukan apa yang diizinkan. Model DAC, MAC, dan RBAC memiliki trade-off masing-masing. Sistem operasi modern sering menggunakan kombinasi ketiganya untuk pertahanan berlapis yang optimal.

PADA HALAMAN INI