Saat terjadi serangan siber ke dalam sistem, Attacker kemungkinan besar akan menghilangkan tanda atau bukti aktivitas mereka di berbagai log pada sistem target. Audit Trail (log) adalah aset yang harus dilindungi oleh Perusahaan, tanpa log yang dapat diandalkan sumbernya dan dipercaya, proses investigasi dengan menggunakan alat bukti langsung (direct evidence) akan sulit untuk dibangun. Selain itu, proses rekonstruksi ulang untuk mengetahui dan menganalisa Tactics, Techniques, and Procedures (TTP) dari Attacker akan sulit untuk dibentuk, padahal proses tersebut juga termasuk cara untuk mendapatkan lesson learned dari suatu insiden agar insiden serupa tidak terjadi lagi dikemudian hari.
Apa yang terjadi apabila suatu serangan siber telah berhasil masuk dan mendapatkan akses root/administrator dari suatu sistem operasi? Bagaimana upaya pencegahan dan deteksi atas aktivitas yang dapat mengurangi atau bahkan menghilangkan integritas dari sistem pencatatan log kita?
Pada sistem operasi Linux, kita dapat memanfaatkan fungsi attribute file. Eksplorasi file attribute dari sebuah file ini dapat digunakan menjadi kunci dalam penyelamatan atau proteksi atas log sistem kita. Memang, sifat file attribute ini tidak sepenuhnya memberikan proteksi namun, penggunaan yang tepat dapat memberikan visibilitas atas perubahan major yang terjadi atas log sistem, dengan menggunakan kontrol deteksi dan pencegahan. Sistem operasi Linux memiliki kemampuan untuk mengatur atribut yang menempel pada suatu file dan/atau folder. Pada Linux anda dapat mengatur atribut yang menempel dengan menggunakan perintah chattr.
Perintah chattr di linux digunakan untuk mengubah attribute pada file di Linux untuk menghindari insiden salah delete, ataupun mencegah agar file maupun direktori penting di sistem tidak diubah. chattr sendiri juga berlaku untuk semua user termasuk user dengan hak akses root sekalipun. Pada tulisan ini, kami menggunakan perintah chattr +a, perintah ini digunakan untuk membuat attribute pada file agar bisa ditambah data baru, namun tidak bisa mengubah ataupun menghapus data lama atau lebih sering kita dengar dengan istilah append. Sistem ini memastikan bahwa semua operasi yang masuk dan diijinkan oleh system administrator adalah hanya satu operasi yaitu append, maka dari itu kita menamai teknik tersebut One-Way System Log Protection atau kita sebut 1-syslogpro.
Kami akan berbagi bagaimana salah satu pemanfaatan command `lsattr` dan `chattr ` dapat membantu dalam pencegahan dan deteksi terhadap adanya perubahan pada log sistem Anda.
Untuk Menjalankan Log Protection, ada beberapa software yang harus di-install agar software log protection ini berjalan dengan lancar. Berikut adalah beberapa software yang perlu di-install:
Setelah software ter-install, update konfigurasi dari auditd. Edit beberapa konfigurasi berikut:
"num_logs = 5" menjadi "num_logs = 2"
"max_log_file = 8" menjadi "max_log_file = 0"
"max_log_file_action = ROTATE" menjadi "max_log_file_action = IGNORE"
Lalu buat folder untuk meletakkan source code log protection.
mkdir-p/var/log-protect/db
Buat file konfigurasi untuk log protection, file ini digunakan untuk mengatur log yang akan diproteksi.
nano/var/log-protect/log-protect-custom.conf
Edit dan masukkan variabel yang dibutuhkan untuk proses alerting, serta log-log yang akan diproteksi didalam sistem.
BOT_TOKEN=<insert your bot token telegram here>
CHAT_ID=-<insert your chat ID telegram here>
TOPIC_ID=<insert your ID Topic Telegram here>
INET_IFACE=<insert your interface VM that used>
FILE_LOG= <insert the locations of your logs that must be protected>
- /var/log/<service name>
- /opt/log/<service name>
Lalu, buat satu script untuk memastikan bahwa rules dari auditd dan fungsi dari log rotate berjalan untuk log-log yang dilindungi.
nano/var/log-protect/log-generation.sh
Lalu, buat script seperti dibawah ini, script di bawah berfungsi untuk memastikan log akan di rotate sesuai dengan jadwal yang telah diset, serta untuk memastikan rules dari auditd telah diaktifkan. Untuk referensi rules dari auditd, dapat menggunakan standar baseline dari CIS Benchmark Server.
Pada script di atas, terdapat perintah chattr +a $file. Perintah tersebutlah yang digunakan untuk memproteksi file agar tidak dapat diubah. Setelah itu jalankan script diatas, dengan baris perintah berikut
bash/var/log-protect/log-generation.sh
Selanjutnya buat filecheck-input-out.sh, script ini digunakan untuk memonitor aktivitas createand delete file/log dan sekaligus akan mengirimkan notifikasi telegram ke pemilik sistem.
nano/var/log-protect/check-input-out.sh
Edit file tersebut, sesuai dengan script dibawah ini:
Selanjutnya buat filecheck-audit.sh, untuk memonitor log auditd, jika terdapat perubahan pada atribut file maka otomatis akan mengirimkan notifikasi ke telegram. By default sebelum script ini dijalankan semua attribute dalam file log yang kita lindungi hanya menjalankan fungsi appends
Tantangan yang dihadapi dalam pembuatan log protection ini adalah:
Tidak seragamnya syarat rotation untuk masing-masing log, ada yang dirotasi atas ukuran file, ada yang dirotasi atas waktu.
Tidak seragamnya jadwal rotasi dari beberapa file.
Penyesuaian naming format dari log yang dirotasi oleh hardening log protection.
Penyesuaian lagi untuk konfigurasi di SIEM agar dapat mengambil log yang memang telah mendapatkan proteksi.
Penyesuaian lokasi dari log, agar seragam dalam implementasi attribute.
Pengembangan kedepan untuk fitur ini adalah:
Implementasi secure log rotation, dengan cara melakukan enkripsi atas log-log yang sudah dirotasi. Hal ini juga memastikan keamanan atas log-log yang telah dirotasi agar tidak ada modifikasi pada log-log yang sudah lampau.
Implementasi otomatisasi backup dan arsip, momentum ketika rotasi dapat juga disamakan dengan waktu ketika backup dan arsip dari log sistem terkait.
Implementasi hashcheck atau digital signature untuk memastikan integritas dari log sistem yang sudah dirotasi atau terarsip.
Tentang Penulis
Rheno Sulistyo
Praktisi DevSecOps | Tertarik pada bidang system administration terutama Linux dan Devops
Muhammad Fajar Masputra
Praktisi Keamanan Informasi | Tertarik pada bidang Cyber Security Operation, IT Audit, IT Governance dan Cloud Security