
Sehubungan dengan akhir penjualan di Rusia sistem logging dan analisis Splunk, muncul pertanyaan tentang bagaimana solusi ini dapat diganti? Setelah menghabiskan waktu berkenalan dengan solusi yang berbeda, saya memilih solusi untuk pria sejati -
โELK stackโ . Sistem ini membutuhkan waktu untuk mengkonfigurasinya, tetapi sebagai hasilnya, Anda bisa mendapatkan sistem yang sangat kuat untuk menganalisis status dan respons operasional terhadap insiden keamanan informasi dalam organisasi. Dalam seri artikel ini, kami akan mempertimbangkan fitur dasar (atau mungkin tidak) dari tumpukan ELK, mempertimbangkan cara mem-parsing log, cara membuat grafik dan dasbor, dan fungsi menarik apa yang dapat dilakukan menggunakan log dari firewall Check Point atau pemindai keamanan OpenVas sebagai contoh. Untuk mulai dengan, pertimbangkan apa itu - tumpukan ELK, dan komponen apa yang terdiri darinya.
Tumpukan ELK adalah singkatan untuk tiga proyek sumber terbuka:
Elasticsearch, Logstash, dan
Kibana . Dikembangkan oleh Elastic, bersama dengan semua proyek terkait. Elasticsearch adalah inti dari keseluruhan sistem, yang menggabungkan fungsi-fungsi basis data, pencarian, dan sistem analitik. Logstash adalah pipa pemrosesan data sisi server yang menerima data dari beberapa sumber pada saat yang sama, mem-parsing log, dan kemudian mengirimkannya ke database Elasticsearch. Kibana memungkinkan pengguna untuk memvisualisasikan data menggunakan grafik dan grafik di Elasticsearch. Juga melalui Kibana Anda dapat mengelola database. Selanjutnya, kami mempertimbangkan setiap sistem secara terpisah lebih terinci.

Logstash
Logstash adalah utilitas untuk memproses peristiwa log dari berbagai sumber, yang dengannya Anda dapat memilih bidang dan nilainya dalam pesan, Anda juga dapat mengonfigurasi pemfilteran dan mengedit data. Setelah semua manipulasi, Logstash mengalihkan acara ke penyimpanan data akhir. Utilitas ini dikonfigurasi hanya melalui file konfigurasi.
Konfigurasi khas logstash adalah file yang terdiri dari beberapa aliran informasi yang masuk (input), beberapa filter untuk informasi ini (filter) dan beberapa aliran keluar (output). Itu terlihat seperti satu atau lebih file konfigurasi, yang dalam versi paling sederhana (yang tidak melakukan apa-apa) terlihat seperti ini:
input { } filter { } output { }
Dalam INPUT, kami mengonfigurasikan port mana log akan masuk dan sesuai dengan protokol mana, atau dari folder mana untuk membaca file baru atau yang terus-menerus ditulis. Di FILTER, kami mengonfigurasi parser log: bidang parsing, mengedit nilai, menambahkan parameter baru atau menghapus. FILTER adalah bidang manajemen pesan yang datang ke Logstash dengan banyak opsi pengeditan. Dalam output, kami mengonfigurasi tempat kami mengirim log yang sudah diuraikan, jika itu adalah elasticsearch, permintaan JSON dikirim di mana bidang dengan nilai dikirim, atau, sebagai bagian dari debug, itu bisa menjadi output ke stdout atau ditulis ke file.

Pencarian Elastics
Awalnya, Elasticsearch adalah solusi pencarian teks lengkap, tetapi dengan fasilitas tambahan seperti penskalaan mudah, replikasi, dan banyak lagi, yang menjadikan produk solusi yang sangat nyaman dan baik untuk proyek-proyek yang sangat padat dengan data dalam jumlah besar. Elasticsearch adalah repositori non-relasional (NoSQL) dokumen dalam format JSON, dan mesin pencari berdasarkan pencarian teks lengkap Lucene. Platform perangkat kerasnya adalah Java Virtual Machine, sehingga sistem membutuhkan sejumlah besar prosesor dan sumber daya RAM untuk bekerja.
Setiap pesan masuk, baik dengan Logstash atau menggunakan API kueri, diindeks sebagai "dokumen" - analog dari tabel dalam SQL relasional. Semua dokumen disimpan dalam indeks - analog dari database dalam SQL.
Contoh dokumen dalam database:
{ "_index": "checkpoint-2019.10.10", "_type": "_doc", "_id": "yvNZcWwBygXz5W1aycBy", "_version": 1, "_score": null, "_source": { "layer_uuid": [ "dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0", "dbee3718-cf2f-4de0-8681-529cb75be9a6" ], "outzone": "External", "layer_name": [ "TSS-Standard Security", "TSS-Standard Application" ], "time": "1565269565", "dst": "103.5.198.210", "parent_rule": "0", "host": "10.10.10.250", "ifname": "eth6", ] }
Semua pekerjaan dengan database didasarkan pada permintaan JSON menggunakan API REST, yang mengeluarkan dokumen berdasarkan indeks, atau beberapa statistik dalam format: tanya-jawab. Untuk memvisualisasikan semua jawaban atas permintaan, Kibana ditulis, yang merupakan layanan web.
Kibana
Kibana memungkinkan Anda untuk mencari / mengambil data dan meminta statistik dari database elasticsearch, tetapi banyak grafik dan dasbor yang indah dibuat berdasarkan jawaban. Sistem ini juga memiliki fungsi administrasi basis data elasticsearch, dalam artikel selanjutnya kami akan mempertimbangkan layanan ini secara lebih rinci. Sekarang, mari kita tunjukkan contoh dasbor di firewall Check Point dan pemindai kerentanan OpenVas yang dapat dibuat.
Contoh dasbor untuk Check Point, gambar dapat diklik:

Contoh dashboard OpenVas, gambar dapat diklik:

Kesimpulan
Kami memeriksa apa yang terdiri dari
tumpukan ELK , sedikit berkenalan dengan produk-produk utama, kemudian dalam kursus kami akan secara terpisah mempertimbangkan untuk menulis file konfigurasi Logstash, mengatur dasbor di Kibana, berkenalan dengan permintaan API, otomatisasi, dan banyak lagi!
Jadi tunggu saja (
Telegram ,
Facebook ,
VK ,
TS Solution Blog ),
Yandex.Zen .