1. Tumpukan elastis: analisis log keamanan. Perkenalan

1. Tumpukan elastis: analisis log keamanan. Perkenalan

Sehubungan dengan berakhirnya penjualan sistem logging dan analitik Splunk di Rusia, muncul pertanyaan: apa yang dapat menggantikan solusi ini? Setelah menghabiskan waktu membiasakan diri dengan berbagai solusi, saya memilih solusi untuk pria sejati - "tumpukan rusa". Sistem ini membutuhkan waktu untuk disiapkan, namun sebagai hasilnya Anda bisa mendapatkan sistem yang sangat kuat untuk menganalisis status dan segera merespons insiden keamanan informasi dalam organisasi. Dalam rangkaian artikel ini, kita akan melihat kemampuan dasar (atau mungkin tidak) dari tumpukan ELK, mempertimbangkan bagaimana Anda dapat mengurai log, cara membuat grafik dan dasbor, dan fungsi menarik apa yang dapat dilakukan dengan menggunakan contoh log dari firewall Check Point atau pemindai keamanan OpenVas. Untuk memulainya, mari kita lihat apa itu - tumpukan ELK, dan komponen apa saja yang ada di dalamnya.

"tumpukan rusa" adalah akronim untuk tiga proyek sumber terbuka: Elasticsearch, Logstash ΠΈ Kibana. Dikembangkan oleh Elastic bersama dengan semua proyek terkait. Elasticsearch adalah inti dari keseluruhan sistem, yang menggabungkan fungsi database, pencarian, dan sistem analitik. Logstash adalah alur pemrosesan data sisi server yang menerima data dari berbagai sumber secara bersamaan, menguraikan log, dan kemudian mengirimkannya ke database Elasticsearch. Kibana memungkinkan pengguna untuk memvisualisasikan data menggunakan bagan dan grafik di Elasticsearch. Anda juga dapat mengelola database melalui Kibana. Selanjutnya, kami akan mempertimbangkan setiap sistem secara terpisah secara lebih rinci.

1. Tumpukan elastis: analisis log keamanan. Perkenalan

Logstash

Logstash adalah utilitas untuk memproses peristiwa log dari berbagai sumber, yang dengannya Anda dapat memilih bidang dan nilainya dalam pesan, dan Anda juga dapat mengonfigurasi pemfilteran dan pengeditan data. Setelah semua manipulasi, Logstash mengalihkan peristiwa ke penyimpanan data akhir. Utilitas dikonfigurasi hanya melalui file konfigurasi.
Konfigurasi logstash tipikal adalah file yang terdiri dari beberapa aliran informasi masuk (input), beberapa filter untuk informasi ini (filter), dan beberapa aliran informasi keluar (output). Ini terlihat seperti satu atau lebih file konfigurasi, yang dalam versi paling sederhana (yang tidak melakukan apa pun) terlihat seperti ini:

input {
}

filter {
}

output {
}

Di INPUT kami mengonfigurasi port mana log akan dikirim dan melalui protokol mana, atau dari folder mana untuk membaca file baru atau yang terus diperbarui. Di FILTER kami mengonfigurasi parser log: mengurai bidang, mengedit nilai, menambahkan parameter baru atau menghapusnya. FILTER adalah kolom untuk mengelola pesan yang masuk ke Logstash dengan banyak opsi pengeditan. Dalam keluaran, kami mengonfigurasi ke mana kami mengirim log yang sudah diurai, jika itu adalah elasticsearch, permintaan JSON dikirim ke bidang dengan nilai yang dikirim, atau sebagai bagian dari debug, itu dapat dikeluarkan ke stdout atau ditulis ke file.

1. Tumpukan elastis: analisis log keamanan. Perkenalan

Elastis pencarian

Awalnya, Elasticsearch adalah solusi untuk pencarian teks lengkap, tetapi dengan fasilitas tambahan seperti penskalaan yang mudah, replikasi, dan hal-hal lain, yang menjadikan produk ini sangat nyaman dan solusi yang baik untuk proyek beban tinggi dengan volume data yang besar. Elasticsearch adalah penyimpanan dokumen dan mesin pencari JSON non-relasional (NoSQL) berdasarkan pencarian teks lengkap Lucene. Platform perangkat kerasnya adalah Java Virtual Machine, sehingga sistem memerlukan sumber daya prosesor dan RAM dalam jumlah besar untuk beroperasi.
Setiap pesan masuk, baik dengan Logstash atau menggunakan API kueri, diindeks sebagai "dokumen" - analog dengan tabel dalam SQL relasional. Semua dokumen disimpan dalam indeks - analog dengan database di SQL.

Contoh dokumen di 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 REST API, yang menghasilkan dokumen berdasarkan indeks atau beberapa statistik dalam format: tanya jawab. Untuk memvisualisasikan semua tanggapan terhadap permintaan, Kibana ditulis, yang merupakan layanan web.

Kibana

Kibana memungkinkan Anda mencari, mengambil data, dan statistik kueri dari database elasticsearch, tetapi banyak grafik dan dasbor indah yang dibuat berdasarkan jawabannya. Sistem ini juga memiliki fungsionalitas administrasi basis data elasticsearch; pada artikel selanjutnya kita akan melihat layanan ini lebih detail. Sekarang mari kita tunjukkan contoh dasbor untuk firewall Check Point dan pemindai kerentanan OpenVas yang dapat dibuat.

Contoh dashboard Check Point, gambarnya bisa diklik:

1. Tumpukan elastis: analisis log keamanan. Perkenalan

Contoh dashboard OpenVas, gambarnya bisa diklik:

1. Tumpukan elastis: analisis log keamanan. Perkenalan

Kesimpulan

Kami melihat apa isinya Tumpukan ELK, kami berkenalan sedikit dengan produk utama, nanti dalam kursus kami akan mempertimbangkan secara terpisah menulis file konfigurasi Logstash, menyiapkan dasbor di Kibana, berkenalan dengan permintaan API, otomatisasi, dan banyak lagi!

Jadi pantau terus (Telegram, Facebook, VK, Blog Solusi TS), Yandex Zen.

Sumber: www.habr.com

Tambah komentar