1.Timbunan anjal: analisis log keselamatan. pengenalan

1.Timbunan anjal: analisis log keselamatan. pengenalan

Sehubungan dengan penghujung jualan sistem pembalakan dan analisis Splunk di Rusia, persoalan timbul: apa yang boleh menggantikan penyelesaian ini? Selepas meluangkan masa membiasakan diri dengan penyelesaian yang berbeza, saya memutuskan penyelesaian untuk lelaki sejati - "Timbunan ELK". Sistem ini mengambil masa untuk disediakan, tetapi akibatnya anda boleh mendapatkan sistem yang sangat berkuasa untuk menganalisis status dan bertindak balas dengan segera kepada insiden keselamatan maklumat dalam organisasi. Dalam siri artikel ini, kita akan melihat keupayaan asas (atau mungkin tidak) timbunan ELK, pertimbangkan cara anda boleh menghuraikan log, cara membina graf dan papan pemuka, dan apakah fungsi menarik yang boleh dilakukan menggunakan contoh log daripada tembok api Check Point atau pengimbas keselamatan OpenVas. Sebagai permulaan, mari kita lihat apa itu - timbunan ELK, dan komponen yang terdiri daripadanya.

"Timbunan ELK" ialah akronim untuk tiga projek sumber terbuka: Elasticsearch, Logstash ΠΈ Kibana. Dibangunkan oleh Elastic bersama-sama dengan semua projek yang berkaitan. Elasticsearch ialah teras kepada keseluruhan sistem, yang menggabungkan fungsi pangkalan data, carian dan sistem analisis. Logstash ialah saluran paip pemprosesan data sebelah pelayan yang menerima data daripada berbilang sumber secara serentak, menghuraikan log, dan kemudian menghantarnya ke pangkalan data Elasticsearch. Kibana membenarkan pengguna untuk menggambarkan data menggunakan carta dan graf dalam Elasticsearch. Anda juga boleh mentadbir pangkalan data melalui Kibana. Seterusnya, kami akan mempertimbangkan setiap sistem secara berasingan dengan lebih terperinci.

1.Timbunan anjal: analisis log keselamatan. pengenalan

Logstash

Logstash ialah utiliti untuk memproses peristiwa log daripada pelbagai sumber, yang mana anda boleh memilih medan dan nilainya dalam mesej, dan anda juga boleh mengkonfigurasi penapisan dan penyuntingan data. Selepas semua manipulasi, Logstash mengubah hala acara ke stor data akhir. Utiliti dikonfigurasikan hanya melalui fail konfigurasi.
Konfigurasi logstash biasa ialah fail yang terdiri daripada beberapa aliran maklumat (input), beberapa penapis untuk maklumat ini (penapis) dan beberapa aliran keluar (output). Ia kelihatan seperti satu atau lebih fail konfigurasi, yang dalam versi paling mudah (yang tidak melakukan apa-apa langsung) kelihatan seperti ini:

input {
}

filter {
}

output {
}

Dalam INPUT kami mengkonfigurasi port mana log akan dihantar ke dan melalui protokol mana, atau dari folder mana untuk membaca fail baharu atau sentiasa dikemas kini. Dalam FILTER kami mengkonfigurasi penghurai log: menghuraikan medan, menyunting nilai, menambah parameter baharu atau memadamkannya. FILTER ialah medan untuk menguruskan mesej yang datang ke Logstash dengan banyak pilihan penyuntingan. Dalam output, kami mengkonfigurasi tempat kami menghantar log yang telah dihuraikan, sekiranya ia adalah elasticsearch, permintaan JSON dihantar di mana medan dengan nilai dihantar, atau sebagai sebahagian daripada nyahpepijat ia boleh dikeluarkan kepada stdout atau ditulis ke fail.

1.Timbunan anjal: analisis log keselamatan. pengenalan

ElasticSearch

Pada mulanya, Elasticsearch ialah penyelesaian untuk carian teks penuh, tetapi dengan kemudahan tambahan seperti penskalaan mudah, replikasi dan perkara lain, yang menjadikan produk itu sangat mudah dan penyelesaian yang baik untuk projek beban tinggi dengan volum data yang besar. Elasticsearch ialah stor dokumen JSON dan enjin carian tidak berkaitan (NoSQL) berdasarkan carian teks penuh Lucene. Platform perkakasan ialah Mesin Maya Java, jadi sistem memerlukan sejumlah besar pemproses dan sumber RAM untuk beroperasi.
Setiap mesej masuk, sama ada dengan Logstash atau menggunakan API pertanyaan, diindeks sebagai "dokumen" - serupa dengan jadual dalam SQL hubungan. Semua dokumen disimpan dalam indeks - analog pangkalan data dalam SQL.

Contoh dokumen dalam pangkalan data:

{
  "_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 kerja dengan pangkalan data adalah berdasarkan permintaan JSON menggunakan API REST, yang sama ada menghasilkan dokumen mengikut indeks atau beberapa statistik dalam format: soalan - jawapan. Untuk menggambarkan semua respons kepada permintaan, Kibana telah ditulis, yang merupakan perkhidmatan web.

Kibana

Kibana membolehkan anda mencari, mendapatkan semula data dan statistik pertanyaan daripada pangkalan data carian elastik, tetapi banyak graf dan papan pemuka yang cantik dibina berdasarkan jawapan. Sistem ini juga mempunyai fungsi pentadbiran pangkalan data carian elastik; dalam artikel seterusnya kita akan melihat perkhidmatan ini dengan lebih terperinci. Sekarang mari tunjukkan contoh papan pemuka untuk tembok api Check Point dan pengimbas kerentanan OpenVas yang boleh dibina.

Contoh papan pemuka untuk Check Point, gambar boleh diklik:

1.Timbunan anjal: analisis log keselamatan. pengenalan

Contoh papan pemuka untuk OpenVas, gambar boleh diklik:

1.Timbunan anjal: analisis log keselamatan. pengenalan

Kesimpulan

Kami melihat apa yang terdiri daripadanya Timbunan ELK, kami berkenalan sedikit dengan produk utama, kemudian dalam kursus kami akan mempertimbangkan secara berasingan untuk menulis fail konfigurasi Logstash, menyediakan papan pemuka pada Kibana, berkenalan dengan permintaan API, automasi dan banyak lagi!

Jadi nantikan (Telegram, Facebook, VK, Blog Penyelesaian TS), Yandex Zen.

Sumber: www.habr.com

Tambah komen