Memahami File Log untuk Melihat Kejadian Pada Sistem Operasi Berbasis Linux
Pendahuluan
Bagaimana kita bisa mengidentifikasi aktivitas berbahaya? Bukti seperti apa yang dihasilkan saat penyusup membobol jaringan? Mengapa penting untuk mengenali indikator-indikator ini di dalam lingkungan kita?
Log berfungsi sebagai catatan yang tak ternilai dari kejadian di masa lalu, yang memberikan wawasan penting untuk menjawab pertanyaan-pertanyaan ini. Dengan menyimpan arsip aktivitas historis, kita bisa memperkuat postur keamanan dan melindungi aset digital kita dengan lebih efektif.
Pemahaman yang komprehensif tentang log sangat penting untuk mengidentifikasi pola dan memitigasi potensi ancaman.
Karena memeriksa secara manual sejumlah besar data log yang dihasilkan oleh berbagai sistem dan aplikasi dapat menjadi tantangan, sangat penting untuk memahami seluk beluk analisis log dan mengenal alat dan teknik yang tersedia.
Alat dan metode analisis log memberdayakan individu untuk menginterpretasikan peristiwa historis dan menetapkan sumber bukti historis yang dapat diandalkan, merampingkan pemrosesan dan pemeriksaan data log. Efisiensi ini memfasilitasi deteksi dan respons yang cepat terhadap potensi insiden atau peristiwa penting.
Dengan menganalisis log sebagai catatan aktivitas historis, individu dan organisasi dapat memperoleh pengetahuan penting, meningkatkan kesadaran dan kesiapsiagaan mereka secara keseluruhan dalam berbagai situasi.
Tujuan Pembelajaran
Ruang ini mencakup bagaimana log dapat digunakan untuk merekam tindakan musuh, alat dan teknik yang diperlukan untuk melakukan analisis log, dan pentingnya mengumpulkan dan menganalisis log secara efektif.
Memahami pentingnya log sebagai catatan aktivitas historis untuk mengidentifikasi dan memitigasi potensi ancaman
Menjelajahi berbagai jenis log, mekanisme pencatatan, dan metode pengumpulan di berbagai platform
Dapatkan pengalaman langsung dalam mendeteksi dan mengalahkan musuh melalui analisis log.
Memperluas Perspektif: Kayu sebagai Bukti Aktivitas Bersejarah
Di dalam Jantung Data: Log
Seperti halnya lingkaran pohon secara fisik yang mengungkapkan kisah hidupnya - menunjukkan tahun-tahun yang baik dengan ikal yang tebal dan tahun-tahun yang sulit dengan ikal yang tipis - log digital memberikan catatan historis aktivitas sistem.
Keduanya mewujudkan prinsip dasar pertumbuhan dari waktu ke waktu dan berfungsi sebagai catatan hidup dalam domain masing-masing - fisik dan digital.
Dalam dunia digital, setiap interaksi dengan sistem komputer - mulai dari upaya autentikasi, pemberian otorisasi, mengakses file, dan terhubung ke jaringan hingga mengalami kesalahan sistem - akan selalu meninggalkan jejak digital dalam bentuk log.
Log adalah catatan peristiwa dalam sebuah sistem. Catatan ini memberikan penjelasan rinci tentang apa yang telah dilakukan oleh sistem, menangkap berbagai peristiwa seperti login pengguna, akses file, kesalahan sistem, koneksi jaringan, dan perubahan pada data atau konfigurasi sistem.
Meskipun rincian spesifiknya mungkin berbeda berdasarkan jenis log, entri log biasanya mencakup informasi berikut ini:
- Stempel waktu saat peristiwa dicatat
- Nama sistem atau aplikasi yang menghasilkan entri log
- Jenis peristiwa yang terjadi
- Detail tambahan tentang peristiwa tersebut, seperti pengguna yang memulai peristiwa atau alamat IP perangkat yang menghasilkan peristiwa tersebut
Informasi ini biasanya disimpan dalam file log, yang berisi entri gabungan dari apa yang terjadi pada waktu tertentu pada suatu sistem.
Namun, karena interaksi digital bersifat kontinu dan bergerak cepat, ukuran file log dapat bertambah besar secara eksponensial, tergantung pada aktivitas yang dicatat dalam sistem.
Kekuatan Sebenarnya dari Log: Korelasi Kontekstual
Satu entri log mungkin tampak tidak signifikan jika berdiri sendiri. Namun, ketika data log dikumpulkan, dianalisis, dan dirujuk silang dengan sumber informasi lain, data tersebut menjadi alat investigasi yang ampuh. Log dapat menjawab pertanyaan kritis tentang suatu peristiwa, seperti:
- Apa yang terjadi?
- Kapan itu terjadi?
- Di mana kejadiannya?
- Siapa yang bertanggung jawab?
- Apakah tindakan mereka berhasil?
- Apa hasil dari tindakan mereka?
Skenario hipotetis berikut ini dapat mengilustrasikan aspek ini. Misalkan seorang mahasiswa diduga mengakses konten yang tidak pantas di jaringan Universitas. Dengan meninjau log, seorang administrator sistem dapat menjawab pertanyaan berikut:
- Apa yang terjadi? Seorang musuh telah dikonfirmasi telah mengakses instance GitLab SwiftSpend Financial.
- Kapan itu terjadi? Akses dimulai pada pukul 22:10 pada hari Rabu, 8 September 2023.
- Di mana kejadiannya? Kejadian ini berasal dari perangkat dengan alamat IP 10.10.133.168 di dalam segmen Pengguna VPN (10.10.133.0/24).
- Siapa yang bertanggung jawab? Setelah memeriksa log jaringan, terlihat bahwa perangkat yang diidentifikasi oleh User-Agent "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0", dialokasikan dengan alamat IP 10.10.133.168.
- Apakah mereka berhasil? Ya, karena API Key ditemukan terekspos secara publik pada instance GitLab. Selain itu, log proxy web mengonfirmasi bahwa perangkat musuh mencapai gitlab.swiftspend.finance dan mempertahankan akses melalui shell web yang mereka unggah.
- Apa hasil dari tindakan mereka? Musuh mencapai eksekusi kode jarak jauh di gitlab.swiftspend.finance dan melakukan aktivitas pasca-eksploitasi.
Contoh di atas menekankan bagaimana log berperan penting dalam menyatukan gambaran lengkap tentang suatu peristiwa, sehingga meningkatkan pemahaman dan kemampuan kita untuk merespons secara efektif.
Jenis, Format, dan Standar
Jenis Log
Jenis log tertentu dapat memberikan perspektif yang unik tentang operasi, kinerja, dan keamanan sistem. Meskipun terdapat berbagai jenis log, kami akan fokus pada jenis log yang paling umum yang mencakup sekitar 80% dari kasus penggunaan umum.
Di bawah ini adalah daftar beberapa jenis log yang paling umum:
- Application Logs: Pesan tentang aplikasi tertentu, termasuk status, kesalahan, peringatan, dll.
- Audit Logs: Kegiatan yang berkaitan dengan prosedur operasional yang penting untuk kepatuhan terhadap peraturan.
- Security Logs: Peristiwa keamanan seperti login, perubahan izin, aktivitas firewall, dll.
- Server Logs: Berbagai log yang dihasilkan server, termasuk log sistem, peristiwa, kesalahan, dan akses.
- System Logs: Aktivitas kernel, kesalahan sistem, urutan boot, dan status perangkat keras.
- Network Logs: Lalu lintas jaringan, koneksi, dan peristiwa terkait jaringan lainnya.
- Database Logs: Aktivitas dalam sistem basis data, seperti kueri dan pembaruan.
- Web Server Logs: Permintaan yang diproses oleh server web, termasuk URL, kode respons, dll.
Memahami berbagai jenis, format, dan standar log sangat penting untuk analisis log praktis. Hal ini memungkinkan analis untuk secara efektif mengurai, menafsirkan, dan mendapatkan wawasan dari data log, memfasilitasi pemecahan masalah, pengoptimalan kinerja, respons insiden, dan perburuan ancaman.
Format Log
Format log mendefinisikan struktur dan pengaturan data dalam file log. Format ini menentukan bagaimana data dikodekan, bagaimana setiap entri dibatasi, dan bidang apa saja yang disertakan dalam setiap baris. Format ini dapat sangat bervariasi dan dapat dibagi ke dalam tiga kategori utama: Semi-Terstruktur, Terstruktur, dan Tidak Terstruktur. Kami akan membahas kategori-kategori ini dan mengilustrasikan penggunaannya dengan contoh-contoh.
Semi-structured Logs: Log ini dapat berisi data terstruktur dan tidak terstruktur, dengan komponen yang dapat diprediksi yang mengakomodasi teks bentuk bebas. Contohnya antara lain:
- Syslog Message Format: Protokol pencatatan yang diadopsi secara luas untuk log sistem dan jaringan.
- Windows Event Log (EVTX) Format: Log milik Microsoft untuk sistem Windows.
Structured Logs: Mengikuti format yang ketat dan terstandarisasi, log ini kondusif untuk penguraian dan analisis. Format log terstruktur yang umum meliputi:
- Field Delimited Formats: Comma-Separated Values (CSV) dan Tab-Separated Values (TSV) adalah format yang sering digunakan untuk data tabel.
- JavaScript Object Notation (JSON): Dikenal karena keterbacaan dan kompatibilitasnya dengan bahasa pemrograman modern.
- W3C Extended Log Format (ELF): Ditetapkan oleh World Wide Web Consortium (W3C), dapat disesuaikan untuk pencatatan server web. Biasanya digunakan oleh Server Web Microsoft Internet Information Services (IIS).
- eXtensible Markup Language (XML): Fleksibel dan dapat disesuaikan untuk membuat format pencatatan standar.
Unstructured Logs: Terdiri dari teks bentuk bebas, log ini dapat kaya akan konteks tetapi dapat menimbulkan tantangan dalam penguraian sistematis. Contohnya antara lain:
- NCSA Common Log Format (CLF): Format log server web standar untuk permintaan klien. Biasanya digunakan oleh Server HTTP Apache secara default.
- NCSA Combined Log Format (Combined): Perpanjangan dari CLF, menambahkan bidang seperti perujuk dan agen pengguna. Biasanya digunakan oleh Nginx HTTP Server secara default.
PENTING: Format yang ditentukan secara khusus dapat dibuat untuk memenuhi aplikasi atau kasus penggunaan tertentu. Format ini memberikan fleksibilitas tetapi mungkin memerlukan alat penguraian khusus untuk interpretasi dan analisis yang efektif.
Standar Log
Standar log adalah seperangkat panduan atau spesifikasi yang menentukan bagaimana log harus dibuat, dikirim, dan disimpan. Standar log dapat menentukan penggunaan format log tertentu, tetapi juga mencakup aspek lain dari logging, seperti peristiwa apa yang harus dicatat, bagaimana log harus dikirim dengan aman, dan berapa lama log harus disimpan. Contoh-contoh standar log meliputi:
- Common Event Expression (CEE): Standar ini, yang dikembangkan oleh MITRE, menyediakan struktur umum untuk data log, sehingga lebih mudah untuk menghasilkan, mengirimkan, menyimpan, danPanduan untuk masuk ke Google Cloud Platform (GCP). menganalisis log.
- OWASP Logging Cheat Sheet: Panduan bagi para pengembang dalam membangun mekanisme pencatatan aplikasi, terutama yang terkait dengan pencatatan keamanan.
- Syslog Protocol: Syslog adalah standar untuk pencatatan pesan, yang memungkinkan pemisahan perangkat lunak yang menghasilkan pesan dari sistem yang menyimpannya dan perangkat lunak yang melaporkan dan menganalisisnya.
- NIST Special Publication 800-92: Publikasi ini memandu manajemen log keamanan komputer.
- Azure Monitor Logs: Panduan untuk pemantauan log di Microsoft Azure.
- Google Cloud Logging: Panduan untuk masuk ke Google Cloud Platform (GCP).
- Oracle Cloud Infrastructure Logging: Panduan untuk masuk ke Oracle Cloud Infrastructure (OCI).
- Virginia Tech - Standard for Information Technology Logging: Contoh tinjauan log dan pedoman kepatuhan.
Penyimpanan Log
Log dapat disimpan di berbagai lokasi, seperti sistem lokal yang menghasilkannya, repositori terpusat, atau penyimpanan berbasis cloud.
Pilihan lokasi penyimpanan biasanya tergantung pada beberapa faktor:
- Security Requirements: Memastikan bahwa log disimpan sesuai dengan protokol keamanan organisasi atau peraturan.
- Accessibility Needs: Seberapa cepat dan oleh siapa log perlu diakses dapat mempengaruhi pilihan penyimpanan.
- Storage Capacity: Volume log yang dihasilkan mungkin memerlukan ruang penyimpanan yang signifikan, sehingga mempengaruhi pilihan solusi penyimpanan.
- Cost Considerations: Anggaran untuk penyimpanan log bisa jadi menentukan pilihan antara solusi berbasis awan atau lokal.
- Compliance Regulations: Peraturan industri tertentu yang mengatur penyimpanan log dapat mempengaruhi pilihan penyimpanan.
- Retention Policies: Waktu penyimpanan yang diperlukan dan kemudahan pengambilan dapat mempengaruhi proses pengambilan keputusan.
- Disaster Recovery Plans: Memastikan ketersediaan log bahkan dalam kegagalan sistem mungkin memerlukan solusi penyimpanan khusus.
Log Retention
- Hot Storage: Log dari 3-6 bulan terakhir yang paling mudah diakses. Kecepatan query harus mendekati waktu nyata, tergantung pada kompleksitas query.
- Warm Storage: Log dari enam bulan hingga 2 tahun, bertindak sebagai data lake, mudah diakses tetapi tidak sesegera penyimpanan Hot.
- Cold Storage: Log yang diarsipkan atau dikompresi dari 2-5 tahun. Log ini tidak mudah diakses dan biasanya digunakan untuk analisis retroaktif atau tujuan pelingkupan.
Log Deletion
- Pertahankan ukuran log yang dapat dikelola untuk analisis.
- Patuhi peraturan privasi, seperti GDP, yang mengharuskan penghapusan data yang tidak perlu.
- Jaga keseimbangan biaya penyimpanan.
Best Practices: Log Storage, Retention and Deletion
- Tentukan kebijakan penyimpanan, penyimpanan, dan penghapusan berdasarkan kebutuhan bisnis dan persyaratan hukum.
- Tinjau dan perbarui pedoman secara berkala sesuai dengan perubahan kondisi dan peraturan.
- Otomatiskan proses penyimpanan, penyimpanan, dan penghapusan untuk memastikan konsistensi dan menghindari kesalahan manusia.
- Enkripsi log sensitif untuk melindungi data.
- Pencadangan rutin harus dilakukan, terutama sebelum penghapusan.
Log Analysis Process
- Data Sources
- Parsing
- Normalisation
- Sorting
- Classification
- Enrichment
- Visualisation
- Reporting
Log Analysis Tools
Log Analysis Techniques
- Pentingnya log sebagai catatan aktivitas di masa lalu; penting untuk menentukan dan mengatasi ancaman.
- Mempelajari berbagai macam log, teknik pembuatannya, dan metode pengumpulannya dari beragam sistem.
- Meninjau hasil dari analisis log dalam bidang teknik deteksi dan penanganan insiden.
- Memperoleh keterampilan praktis dalam mengidentifikasi dan melawan musuh melalui analisis log.
Endpoint Detection and Response (EDR)
- Endpoint Security
- Aurora EDR
- Wazuh
Intrusion Detection and Prevention Systems (IDPS)
- Snort
Security Information and Event Management (SIEM)
- Investigating with ELK
- Splunk: Basics
- Incident handling with Splunk