Skip to content

Blog

Menambahkan Whitelist IP Di Dashboard Kibana Untuk Zeek

Pada suatu hari, saya mengirim data dari Zeek ke Elasticsearch dengan menggunakan Filebeat. Visualisasi bekerja dengan baik di Kibana dimana saya bisa melihat informasi koneksi jaringan (dari conn.log), aktifitas mencurigakan (dari weird.log dan notice.log) dan sebagainya. Namun seiring waktu berlalu, saya selalu menemukan log yang sama terus menerus berulang kali yang sesungguhnya bukan hal berbahaya (misalnya karena aplikasi lokal yang menggunakan protokol langka) sehingga membuat saya sulit langsung mengidentifikasi ancaman saat melihat visualisasi. Apa yang bisa saya lakukan untuk meningkatkan kualitas monitoring jaringan ini?

Mengatasi Capture Loss Di Zeek

Pada suatu hari, saya melakukan instalasi Zeek untuk melakukan monitoring jaringan. Seperti biasanya, saya menggunakan Filebeat untuk mengirim log Zeek yang ada di /opt/zeek/logs ke ElasticSearch. Setelah itu, saya membuat visualisasi di Kibana untuk mempermudah memahami hasil tangkapan Zeek tersebut. Semuanya terlihat lancar karena saya bisa melihat aktifitas jaringan muncul di Kibana. Setelah beberapa hari, saya baru menyadari ada yang salah saat melihat isi file capture_loss.log. Nilai percent_lost-nya cukup tinggi hingga mencapai 60% yang menunjukkan bahwa Zeek mendeteksi banyak ACK yang tidak berurut. Nilai ACK pada protokol TCP selalu bertambah satu untuk setiap packet baru. Bila nilai yang diterima Zeek yang tidak berurut, ini berarti ada packet yang gagal dilihat Zeek. Selain itu, pada reporter.log, saya menemukan pesan seperti Your interface is likely receiving invalid TCP and UDP checksums, most likely from NIC checksum offloading.….

Memakai HTML Trap Untuk Mendeteksi Bot

Salah satu teknik untuk mendeteksi bot (seperti scrapper) adalah menggunakan trap berupa HTML tersembunyi yang tidak bisa dilihat oleh pengguna namun akan dibaca oleh bot. HTML honeypot seperti ini adalah salah satu teknik yang dipakai oleh layanan anti-spam seperti Cloudflare dan DataDome. Pada tulisan ini, saya akan membuat trap berupa form HTML untuk login pada blog ini. Form login ini tidak akan terlihat oleh pengguna sehingga tidak akan ada request dari pengguna. Bila ada yang memanggilnya, kemungkinan besar ini adalah IP bot atau scrapper yang membaca HTML. Saya kemudian bisa menambahkan daftar IP yang terdekteksi ke platform threat intelligence untuk diawasi lebih lanjut atau di-blokir. Ini adalah salah satu bentuk pertahanan di fase Reconnaissance

Menggunakan Checkpoint Di Kubernetes Untuk Forensik

Pada tulisan Mematikan Pod Secara Otomatis Saat Tracee Mendeteksi Bahaya, saya menerapkan incident response (IR) dengan mematikan Pod secara otomatis. Pada tulisan ini, saya akan berfokus pada digital forensik (DF)-nya. Bila Pod telah dimatikan dan lenyap, bagaimana caranya melakukan forensik untuk memahami apa yang terjadi? Salah satu fitur Kubernetes yang bisa saya pakai untuk keperluan ini adalah Checkpoint API. Checkpoint dirancang khusus untuk bekerja pada container yang sedang berjalan tanpa mempengaruhi container tersebut. Oleh sebab itu, saya perlu membuat checkpoint sebelum mematikan Pod.

Mengatasi Container Enrichment Yang Tidak Bekerja Di Tracee

Container enrichment adalah fitur di Tracee yang menambahkan informasi container pada log deteksi yang dihasilkan. Tanpa container enrichment, nilai containerId, container dan kubernetes di log JSON akan kosong. Ini akan mempersulit melakukan respon karena mesin yang sama bisa menjalankan banyak container sekaligus. Salah satu permasalahan yang sering saya hadapi adalah container enrichment kadang tidak bekerja sebagaimana seharusnya. Apa yang bisa saya lakukan untuk melakukan troubleshooting permasalahan seperti ini?