File System Security
Pendahuluan
File system security adalah mekanisme yang melindungi data pada media penyimpanan dari akses tidak sah, modifikasi, dan kebocoran. Sistem operasi menyediakan berbagai lapisan keamanan mulai dari permission dasar hingga enkripsi penuh.
Unix Permission (rwx)
Model permission Unix adalah fondasi keamanan file system. Setiap file dan direktori memiliki:
- Owner - user pemilik file.
- Group - grup yang terasosiasi.
- Others - semua user lain.
Tiga jenis permission:
| Simbol | File | Direktori |
|---|---|---|
| r (4) | Membaca isi file | Mendaftar isi direktori |
| w (2) | Menulis/mengedit file | Membuat/hapus file di direktori |
| x (1) | Mengeksekusi file | Masuk ke direktori |
Angka mode: chmod 755 script.sh = owner rwx, group r-x,
others r-x.
Access Control List (ACL)
ACL memberikan kontrol yang lebih granular dibanding permission bit standar. Dengan ACL, Anda dapat memberikan izin berbeda kepada banyak user dan group pada file yang sama. Implementasi ACL di Linux menggunakan extended attributes.
Contoh penggunaan:
setfacl -m u:budi:rwx dokumen.txt # Memberi Budi akses rwx
setfacl -m g:tim:rx dokumen.txt # Memberi grup tim akses rx
getfacl dokumen.txt # Melihat ACL
Extended Attributes
Extended attributes (xattr) adalah metadata tambahan yang disimpan bersama file. Dua namespace utama:
- user - atribut yang dapat diatur oleh
user (misal:
user.mime_type). - system - atribut sistem (misal: ACL, SELinux context).
Perintah chattr dan lsattr pada sistem
ext2/ext3/ext4:
chattr +i file- membuat file immutable (tidak bisa diubah/dihapus, bahkan oleh root).chattr +a file- append-only (hanya bisa ditambah, tidak bisa diedit/dihapus).lsattr file- melihat atribut extended.chattr +u file- undeletable (dapat dipulihkan setelah dihapus, ReiserFS).
Enkripsi File System
LUKS (Linux Unified Key Setup)
LUKS adalah standar enkripsi disk penuh (full disk encryption) untuk Linux. Cara kerja:
- Partisi dienkripsi menggunakan encryption key.
- Key dilindungi oleh passphrase (dapat memiliki multiple passphrase).
- Digunakan dengan
cryptsetupdan device mapper.
Keunggulan LUKS: melindungi data saat perangkat dicuri atau dilepas.
eCryptfs
eCryptfs adalah filesystem enkripsi tingkat file (per-file
encryption). Berbeda dengan LUKS yang mengenkripsi seluruh blok,
eCryptfs mengenkripsi setiap file secara individual. Berguna untuk
direktori tertentu seperti ~/Private/ (ecryptfs-utils).
Immutable Files
File immutable (dengan chattr +i) adalah salah satu
pertahanan terkuat terhadap modifikasi tidak sah:
- File tidak dapat diubah, dihapus, diganti nama, atau dibuatkan symlink.
- Berlaku bahkan untuk user root (kecuali root menonaktifkan atribut).
- Sangat berguna untuk file konfigurasi kritis seperti
/etc/passwdatau binary sistem.
Restricted Directories (Sticky Bit)
Sticky bit pada direktori (umumnya /tmp) mencegah
pengguna menghapus file milik pengguna lain. Set dengan:
chmod +t /tmp
Tanpa sticky bit, siapapun dengan akses tulis ke /tmp
dapat menghapus file siapapun di dalamnya.
Mount Options
Opsi mount pada /etc/fstab dapat meningkatkan keamanan
partisi:
- noexec - mencegah eksekusi binary pada
partisi. Berguna untuk
/homedan/tmp. - nosuid - mengabaikan SUID/SGID bit. Mencegah privilege escalation via binary SUID.
- nodev - mencegah akses ke device file. Berguna untuk partisi non-system.
- ro - read-only mount. Cocok untuk partisi sistem yang tidak perlu ditulis.
Contoh:
/dev/sda1 /home ext4 defaults,noexec,nosuid,nodev 0 2
Windows NTFS Permissions
NTFS (New Technology File System) memiliki sistem permission yang lebih kaya dibanding Unix:
- Full Control - semua hak termasuk mengubah permission.
- Modify - read, write, execute, dan delete.
- Read & Execute - membaca dan menjalankan.
- List Folder Contents - melihat isi direktori (hanya folder).
- Read - melihat file/folder.
- Write - menulis ke file/folder.
- Special Permissions - granular seperti traverse folder, delete subfolders, dll.
NTFS permission bersifat accumulative - hak dari multiple group dijumlahkan, kecuali Deny yang menimpa Allow.
Kesimpulan
Keamanan file system membutuhkan pendekatan berlapis: permission dasar yang tepat, ACL untuk kontrol granular, extended attributes untuk proteksi tambahan, enkripsi untuk kerahasiaan data, dan mount options untuk membatasi risiko. Pemahaman tentang semua lapisan ini esensial bagi administrator sistem.