Merekam Aktifitas Root Shell dengan Rootsh

Dalam beberapa security standard seperti ISO27001 ataupun PCI DSS, terdapat aturan untuk memastikan dilakukan log aktifitas user setingkat level administratif seperti user admin/root. Hal ini karena user admin/root adalah user entitas tertinggi pada sistem dan memiliki power penuh terhadap sistem. Mekanisme logging mencakup seluruh aktifitas, yaitu merekam seluruh command-command yang diketik oleh pengguna yang mengakses sebuah sistem menggunakan akun admin/root tersebut. Karena jika terjadi sesuatu pada sistem, log aktifitas ini bisa dijadikan acuan untuk melakukan traceback, apakah ada yang melakukan ‘penyelewengan’ kekuasaan penggunaan account admin/root ini dan melakukan perubahan pada sistem dan berusaha lari dari tanggung jawab. Data rekaman aktifitas ini juga sudah bisa menjadi bukti di pengadilan yang sah di beberapa negara.

Rootsh, adalah salah satu tool yang memfasilitasi aturan mekanisme logging root session ini. Rootsh ditujukan untuk mencatat semua aktifitas yang dilakukan root system tersebut kedalam file teks. Tujuan Rootsh sebenarnya adalah untuk memberikan akses user biasa (yang minim privilege) menjadi root system, dan tentu saja, aktifitas user biasa selama menjadi root akan dicatat. Untuk memanggil program Rootsh, simple saja user tinggal mengetikkan perintah ‘sudo rootsh’ dan memasukkan password user ybs dan masuklah ke rootshell. Secara gamblang bisa dijelaskan seperti ini:

Cara Penggunaan Rootsh
Cara Penggunaan Rootsh

Dari cara penggunaan rootsh diatas, dapat diambil kesimpulan bahwa user ‘inan’ tentu saja harus merupakan sudoers di sistem. Jika dilihat dari sisi sekuritas, hanya user yang terdaftar sebagai sudoers saja yang bisa mengetikkan perintah ‘sudo rootsh’ tersebut. Administrator memegang kontrol untuk mengatur siapa saja yang akan dimasukkan kedalam sudoers, tentu saja harus user yang trusted/terpercaya ya.. hehe.

Berikut ini contoh log aktifitas user ‘inan’ pada file /var/log/rootsh/ :

Contoh sebuah root session oleh user ‘inan’
Contoh sebuah root session oleh user ‘inan’

Contoh sebuah root session oleh user ‘inan’ di atas, yang mengeksekusi 3 command “id”, “ifconfig”, dan “df –ah”. Setelah itu, user ybs keluar dari root session.

Kustomisasi Rootsh

Setelah kita mengetahui cara kerja dan tujuan dari tool Rootsh ini, selanjutnya yang akan saya lakukan adalah mengkustomisasi Rootsh. Hal ini dilatar belakangi karena, katakanlah, user-user di sistem saya tidak sepenuhnya merupakan full-trusted user. Berikut ini yang ingin saya kustomisasi:

  • Karena alasan user di system saya banyak yang tidak terlalu dipercaya dan terkenal banyak yang iseng (hehe) dan untuk membuat keamanan yang lebih ketat, hanya user tertentu yang terpercayahhh saja yang diijinkan untuk mengeksekusi seluruh command dengan sudo, sedangkan user-user yang lainnya di limit hanya boleh mengeksekusi command ‘sudo rootsh’ saja. Command ‘sudo *’ yang lainnya dilarang seperti: ‘sudo su’, ‘sudo cat /etc/passwd’, ‘sudo reboot’, dan sebagainya.
  • Seluruh aktifitas user akan di catat pula. Jadi bukan cuma root-sessionnya saja.

Untuk membatasi eksekusi command hanya boleh ‘sudo rootsh’ saja, berikut ini contohnya pada file sudoers:

Kustomisasi Konfigurasi sudoers
Kustomisasi Konfigurasi sudoers

Berikut ini contoh user ‘lab’ yang iseng ingin mematikan service SSH dan ditolak, karena pada file sudoers, user ‘lab’ hanya diijinkan mengeksekusi ‘sudo rootsh’ saja:

Contoh Restricted Command Ditolak
Contoh Restricted Command Ditolak

Jika user ‘lab’ mengeksekusi command ‘sudo rootsh’, user ‘lab’ bisa menjadi root tanpa ada prompt password. Tetapi sekali lagi, setelah masuk root shell, semua aktifitas user ‘lab’ akan tercatat. Jadi gunakanlah root shell dengan penuh tanggung jawab yaa. Hehe.

Command 'sudo rootsh'
Command ‘sudo rootsh’

Kustomisasi Rootsh (More Restricted)

Bagaimana kalau kita membuat rootsh yang benar-benar pada lingkungan banyak user yang mencurigakan? (haha). Untuk kasus ini, Rootsh akan saya buat hanya sebagai pencatat aktifitas user saja. User tidak akan diijinkan mengeksekusi command ‘sudo rootsh’ dan menjadi root system dengan mudahnya. Kalau mau root shell, login lah sebagai root (minta password root sanah.. hihih). Pada file sudoers, lakukan penambahan argumen lebih spesifik pada user ‘lab’ (user yang dianggap mencurigakan) sbb:

Kustomisasi Konfigurasi sudoers Menggunakan 'sudo rootsh' Lebih Spesifik
Kustomisasi Konfigurasi sudoers Menggunakan ‘sudo rootsh’ Lebih Spesifik

Mulai dari sekarang, user ‘lab’ yang iseng ini gak bisa seenaknya menjadi root. Command ‘sudo rootsh’ pun tidak bisa ia jalankan. Hanya command rootsh yang spesifik untuk user ‘lab’ (dirinya sendiri).

Command rootsh Untuk Logging Aktifitas User Itu Sendiri
Command rootsh Untuk Logging Aktifitas User Itu Sendiri

Untuk menjadi root atau masuk ke root session, hanya bisa melalui user ‘inan’ atau minta password ‘root’ sama sysadmin sanah… hahaha. Kalau begitu, kita batasi saja semua command termasuk ‘sudo rootsh’ di sudoers untuk user ‘lab’? Jangan dong, ini karena pada awal cerita saya ‘kan ingin mencatat aktifitas user ‘lab’. Saya akan memanfaatkan fitur logging pada Rootsh.

Agar setiap kali user ‘lab’ login dilakukan rekaman aktifitasnya, saya tambahkan beberapa baris berikut ini di /etc/profile:

Kustomisasi Autorun Rootsh ketika user 'lab' Login
Kustomisasi Autorun Rootsh ketika user ‘lab’ Login

Berikut ini contoh aktifitas user ‘lab’. Ckckck.. iseng yaa.. punya sedikit jiwa rebellion gimanaaa gitchu.. hehehe..

Rekaman Aktifitas Shell User 'lab'
Rekaman Aktifitas Shell User ‘lab’

3 thoughts on “Merekam Aktifitas Root Shell dengan Rootsh

  1. senang bisa berkunjung ke blog yang memberikan manfaat seperti ini . . .dan tentunya saya pasti akan kembali

  2. gan saya ikutin Kustomisasi Autorun Rootsh yang seperti contoh di atas tp aktifitas usernya ngga ke catet, knp ya gan? mohon bantuannya

Leave a Reply

Your email address will not be published. Required fields are marked *