Pernahkah kamu mendapati file situs web atau skrip di VPS Linux mendadak berubah, terinfeksi malware, atau terhapus padahal kamu tidak pernah mengubahnya? Bahkan ketika hak akses (chmod) sudah diperketat, peretas (hacker) yang berhasil mendapatkan akses root sering kali masih bisa memodifikasi file penting sistem.
Untuk mengatasi masalah ini, Linux menyediakan atribut khusus bernama Immutable yang dikelola melalui perintah chattr.
Apa Itu Perintah chattr di Linux?
chattr (singkatan dari Change Attribute) adalah perintah pada sistem operasi berbasis Linux yang digunakan untuk mengubah atribut file pada sistem berkas (file system seperti ext3, ext4, atau xfs).
Salah satu atribut yang paling krusial untuk keamanan VPS adalah atribut +i (Immutable).
Ketika sebuah file atau direktori diberi atribut +i, file tersebut akan menjadi benar-benar tidak dapat diubah. Artinya:
- File tidak bisa dihapus (bahkan oleh pengguna
root). - File tidak bisa diedit atau diubah isinya.
- File tidak bisa di-rename (diganti namanya).
- Tidak ada link baru yang bisa dibuat menuju file tersebut.
Cara Mengunci File Menggunakan chattr +i
Untuk mengamankan file penting agar tidak bisa diubah oleh siapa pun, gunakan sintaks berikut:
Bash
sudo chattr +i /path/ke/file_kamu.php
Contoh Kasus:Mengunci file konfigurasi utama WordPress (wp-config.php) agar tidak bisa disisipi kode jahat (backdoor):
Bash
sudo chattr +i /var/www/html/wp-config.php
Mengunci Seluruh Direktori / Folder
Jika kamu ingin mengunci seluruh direktori beserta isinya secara rekursif, tambahkan parameter -R:
Bash
sudo chattr -R +i /var/www/html/wp-content/uploads/
Cara Membuka Kunci Menggunakan chattr -i
Ketika kamu perlu memperbarui (update) aplikasi, mengedit konfigurasi, atau menghapus file yang telah dikunci, kamu harus melepas atribut immutable terlebih dahulu menggunakan parameter -i.
Sintaks untuk membuka kunci file:
Bash
sudo chattr -i /path/ke/file_kamu.php
Contoh Kasus:Membuka kunci wp-config.php sebelum melakukan maintenance:
Bash
sudo chattr -i /var/www/html/wp-config.php
Setelah selesai mengedit file tersebut, pastikan untuk menguncinya kembali dengan perintah sudo chattr +i wp-config.php.
Cara Memeriksa Status Atribut File (lsattr)
Perintah ls biasa (seperti ls -l) tidak akan menampilkan atribut immutable. Untuk mengecek apakah suatu file dalam kondisi terkunci atau tidak, gunakan perintah lsattr:
Bash
lsattr /var/www/html/wp-config.php
Hasil Output:
- Jika ter kunci:
----i---------e---- /var/www/html/wp-config.php(terdapat hurufi) - Jika tidak terkunci:
--------------e---- /var/www/html/wp-config.php
Kapan Sebaiknya Menggunakan chattr +i?
Gunakan perintah ini pada file-file krusial yang jarang berubah, seperti:
- File Konfigurasi Utama:
wp-config.php,.htaccess,nginx.conf, atauhttpd.conf. - File Sistem:
/etc/passwd,/etc/shadow, atau/etc/resolv.conf. - Folder Uploads: Mengunci folder unggahan dari eksekusi skrip PHP jahat.
Kesimpulan
Menggunakan perintah chattr +i adalah salah satu langkah hardening VPS yang sangat efektif. Meski hacker berhasil mendapatkan hak akses root, mereka tetap tidak akan bisa mengubah atau menghapus file yang sudah diberi atribut immutable sebelum mereka menyadari dan melepaskan atribut tersebut dengan chattr -i.
Yang ingin gabung di komunitas underground linux, jangan lupa ikuti kelas offlinenya disini bersama tim ahli!