1.Elastik yığın: güvenlik günlüklerinin analizi. giriiş

1.Elastik yığın: güvenlik günlüklerinin analizi. giriiş

Splunk kayıt ve analiz sisteminin Rusya'daki satışlarının sona ermesiyle bağlantılı olarak şu soru ortaya çıktı: Bu çözümün yerini ne alabilir? Farklı çözümlere alışmak için zaman harcadıktan sonra gerçek bir erkek için bir çözüme karar verdim - "ELK yığını". Bu sistemin kurulması zaman alır ancak sonuç olarak, durumu analiz etmek ve kuruluştaki bilgi güvenliği olaylarına anında yanıt vermek için çok güçlü bir sistem elde edebilirsiniz. Bu makale dizisinde ELK yığınının temel (veya belki de olmayan) yeteneklerine bakacağız, günlükleri nasıl ayrıştırabileceğinizi, grafikler ve kontrol panellerini nasıl oluşturabileceğinizi ve aşağıdaki günlük örneğini kullanarak hangi ilginç işlevlerin yapılabileceğini ele alacağız. Check Point güvenlik duvarı veya OpenVas güvenlik tarayıcısı. Başlangıç ​​olarak ELK yığınının ne olduğuna ve hangi bileşenlerden oluştuğuna bakalım.

"ELK yığını" üç açık kaynak projesinin kısaltmasıdır: Elasticsearch, Logstash и Kibana. İlgili tüm projelerle birlikte Elastic tarafından geliştirildi. Elasticsearch, veritabanı, arama ve analitik sistemin işlevlerini birleştiren tüm sistemin çekirdeğidir. Logstash, aynı anda birden fazla kaynaktan veri alan, günlüğü ayrıştıran ve ardından bunu bir Elasticsearch veritabanına gönderen, sunucu tarafı bir veri işleme hattıdır. Kibana, kullanıcıların Elasticsearch'teki çizelgeleri ve grafikleri kullanarak verileri görselleştirmesine olanak tanır. Veritabanını Kibana aracılığıyla da yönetebilirsiniz. Daha sonra, her sistemi ayrı ayrı daha ayrıntılı olarak ele alacağız.

1.Elastik yığın: güvenlik günlüklerinin analizi. giriiş

Logstash

Logstash, bir mesajdaki alanları ve değerlerini seçebileceğiniz ve ayrıca veri filtrelemeyi ve düzenlemeyi de yapılandırabileceğiniz, çeşitli kaynaklardan gelen günlük olaylarını işlemeye yönelik bir yardımcı programdır. Tüm manipülasyonlardan sonra Logstash, olayları son veri deposuna yönlendirir. Yardımcı program yalnızca yapılandırma dosyaları aracılığıyla yapılandırılır.
Tipik bir logstash konfigürasyonu, birçok gelen bilgi akışından (giriş), bu bilgi için çeşitli filtrelerden (filtre) ve birkaç giden akıştan (çıkış) oluşan bir dosya(lar)dır. Bir veya daha fazla konfigürasyon dosyasına benziyor ve en basit versiyonda (hiçbir şey yapmıyor) şuna benziyor:

input {
}

filter {
}

output {
}

INPUT'ta logların hangi porta, hangi protokol üzerinden gönderileceğini, yeni veya sürekli güncellenen dosyaların hangi klasörden okunacağını yapılandırırız. FILTER'da günlük ayrıştırıcıyı yapılandırırız: alanları ayrıştırma, değerleri düzenleme, yeni parametreler ekleme veya bunları silme. FİLTRE, Logstash'a gelen mesajın birçok düzenleme seçeneğiyle yönetilmesine yönelik bir alandır. Çıktıda, halihazırda ayrıştırılmış günlüğü nereye göndereceğimizi yapılandırırız; elasticsearch olması durumunda, değerleri olan alanların gönderildiği bir JSON isteği gönderilir veya hata ayıklamanın bir parçası olarak stdout'a çıkarılabilir veya bir dosyaya yazılabilir.

1.Elastik yığın: güvenlik günlüklerinin analizi. giriiş

Elasticsearch

Başlangıçta, Elasticsearch tam metin araması için bir çözümdü, ancak kolay ölçeklendirme, çoğaltma ve diğer özellikler gibi ek olanaklarla birlikte, bu da ürünü çok kullanışlı ve büyük miktarda veri içeren yüksek yüklü projeler için iyi bir çözüm haline getirdi. Elasticsearch, Lucene tam metin aramasını temel alan, ilişkisel olmayan (NoSQL) bir JSON belge deposu ve arama motorudur. Donanım platformu Java Virtual Machine'dir, dolayısıyla sistemin çalışması için büyük miktarda işlemci ve RAM kaynağı gerekir.
Logstash veya sorgu API'si kullanılarak gelen her mesaj, ilişkisel SQL'deki bir tabloya benzer şekilde bir "belge" olarak indekslenir. Tüm belgeler, SQL'deki bir veritabanının benzeri olan bir dizinde saklanır.

Veritabanındaki bir belge örneği:

{
  "_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",
    ]
}

Veritabanıyla yapılan tüm çalışmalar, belgeleri dizine göre veya bazı istatistikleri şu biçimde üreten REST API'yi kullanan JSON isteklerine dayanmaktadır: soru - cevap. İsteklere verilen tüm yanıtların görselleştirilmesi için bir web servisi olan Kibana yazıldı.

Kibana

Kibana, elasticsearch veritabanından arama yapmanıza, veri almanıza ve istatistikleri sorgulamanıza olanak tanır, ancak yanıtlara dayalı olarak birçok güzel grafik ve gösterge tablosu oluşturulmuştur. Sistem aynı zamanda elasticsearch veritabanı yönetim fonksiyonuna da sahiptir, sonraki yazılarımızda bu hizmete daha detaylı bakacağız. Şimdi Check Point güvenlik duvarı ve oluşturulabilecek OpenVas güvenlik açığı tarayıcısı için gösterge tablolarına bir örnek gösterelim.

Check Point için bir kontrol paneli örneği, resim tıklanabilir:

1.Elastik yığın: güvenlik günlüklerinin analizi. giriiş

OpenVas için bir kontrol paneli örneği, resim tıklanabilir:

1.Elastik yığın: güvenlik günlüklerinin analizi. giriiş

Sonuç

Nelerden oluştuğuna baktık ELK yığını, ana ürünler hakkında biraz bilgi sahibi olduk, kursun ilerleyen kısımlarında ayrıca bir Logstash yapılandırma dosyası yazmayı, Kibana'da gösterge tabloları ayarlamayı, API isteklerini, otomasyonu ve çok daha fazlasını tanımayı ayrı ayrı ele alacağız!

Bizi izlemeye devam edin Telegram, Facebook, VK, TS Çözüm Günlüğü), Yandeks.Dzen.

Kaynak: habr.com

Yorum ekle