Allahın Rahmeti Ve Bereketi Üzerinize olsun
Selamun Aleyküm Dostlarım bu makalemizde hep beraber Elastic Stack nedir nasıl kullanılır arayüzü nasıldır ve ne için kullanılır bu gibi unsurlara değineceğiz
Elastic Stacak’e Genel Bakış
Elastic Stack (ELK), başlangıçta büyük miktarda veriyi depolamak, aramak ve görselleştirmek amacıyla geliştirilmiş bir açık kaynak çözümüdür. Kuruluşlar, uygulama performansını izlemek ve geniş veri kümeleri üzerinde arama yapmak için bu teknolojiyi kullanmaya başlamıştır.
Zamanla sunduğu özellikler, güvenlik operasyonları alanında da popüler hale gelmesini sağlamıştır. Günümüzde birçok SOC (Security Operations Center) ekibi, ELK’yi neredeyse bir SIEM çözümü gibi kullanmaktadır.
Elastic Stack, farklı açık kaynak bileşenlerin bir araya gelmesiyle oluşur. Bu bileşenler birlikte çalışarak:
r.
Bir Logstash yapılandırma dosyası üç ana bölümden oluşur:
En yaygın kullanılan Beats türleri şunlardır:
Birlikte Nasıl Çalışırlar?:
Elastic Stack’in tüm bileşenlerini öğrendikten sonra, bunların nasıl birlikte çalıştığını adım adım inceleyelim:
Splunkı Keşfedelim
Bu yazımızdan sonra ise dostlarım genel olarak Splunkın kendi içindeki arayüzü keşifedeceğiz
Kibana’da verileri görüntüleyebilmek için varsayılan olarak bir index pattern tanımlanması gerekir. Index pattern, Kibana’ya Elasticsearch içerisinde hangi verileri incelemek istediğimizi söyler. Her index pattern, belirli alanların özelliklerini tanımlar ve tek bir index pattern birden fazla indeksi işaret edebilir.
Her log kaynağının kendine özgü bir yapısı vardır. Bu nedenle loglar Elasticsearch’e alındığında (ingest edildiğinde), önce normalize edilerek ilgili alan-değer çiftlerine dönüştürülür ve veri kaynağına özel bir index pattern oluşturulur. Bu yapı, farklı kaynaklardan gelen verilerin tutarlı bir şekilde analiz edilmesini sağlar.
laboratuvar ortamında vpn_connections adlı index pattern’i inceleyeceğiz. Bu pattern, VPN loglarını içerir ve kullanıcıların VPN bağlantı aktivitelerini analiz etmeye imkân tanıyacaktır bizlere dostlarım.
rir. Bu panel, logların hangi alanlara sahip olduğunu görmeyi kolaylaştırır ve analistlere veriler üzerinde daha esnek bir kontrol sağlar.
Herhangi bir alan üzerine tıkladığınızda, Kibana size o alan için en sık görülen ilk 5 değer ve bu değerlerin yüzdesel dağılımını gösterir. Bu bilgiler, hangi değerlerin öne çıktığını anlamak ve loglarda trendleri yakalamak için oldukça faydalıdır.
Bu değerler aynı zamanda filtreleme için kullanılabilir:
Filtre ekleme süreci şu şekilde işler:

Kibana’daki zaman filtresi oldukça esnektir ve birçok seçenek sunar:
Kullanıcı, zaman çizelgesinde yer alan çubuklardan (bar) birini seçerek yalnızca o döneme ait logları görüntüleyebilir. Böylece belirli bir zaman diliminde gerçekleşen aktiviteler daha odaklı bir şekilde incelenebiliriz.
Bu yöntem sayesinde:
KQL dili ile loglaro iki farklı şekilde arayabiliriz
Örneğin, arama çubuğuna security yazıldığında, bu terimi içeren tüm belgeler sonuç olarak döner. Aynı şekilde, United States ifadesini aradığımızda, alan veya konum fark etmeksizin bu ifadeyi içeren tüm loglar listelenir.
Bu örnekte yapılan arama sonucunda toplam 2304 kayıt (hits) bulundu. Bu sayı, aranan terimin loglarda ne kadar yaygın olduğunu gösterir ve analistlere ilgili olayların kapsamı hakkında hızlı bir fikir verir.
Eğerki sadece United terimini ararsak bize sonuçları göstermeyebilir
Herhangi bir sonuç gelmedi çünkü KQL sadece bu kelimeyi arıyor ama eğerki biz bunun sonuna joker karakteri yani “*” koyarsak eğer bu sefer başı sadece United olan sonuçları karşımıza çıkaracaktır buna joker karakteri diyoruz
Arama Sorgusu: United*
AND operatörü, sorguda belirtilen tüm terimlerin loglarda bulunmasını şart koşar. Yani yalnızca her iki terimi de içeren kayıtlar sonuç olarak döner.
Örnek: Arama sorgusu:
Örnek: Arama sorgusu:
Örnek: Arama sorgusu:
Kod
Burada alan adı ile değer arasında iki nokta üst üste (colon) bulunur. Bu yapı sayesinde sorgular daha hedefli hale gelir ve yalnızca belirli kriterlere uyan loglar listelenir.
Örnek:
Kod
Bu sorgu, Source_ip alanında 238.163.231.224 değerini ve aynı zamanda UserName alanında Suleman değerini içeren tüm logları döndürür. Yani yalnızca her iki koşulu da sağlayan kayıtlar sonuç olarak listelenir.
Bu yöntem, analistlere daha odaklı bir görünürlük sağlar ve büyük veri kümeleri içerisinde belirli kullanıcı aktivitelerini veya IP adreslerini hızlıca tespit etmeye yardımcı olur.
Görselleştirmeler Oluşturma
Kibana’da verileri farklı görselleştirme biçimlerinde sunmamıza olanak tanır. Bu sayede ham loglar yalnızca metin olarak değil, daha anlaşılır ve görsel açıdan zengin bir şekilde analiz edilebiliriz dostlarım
Kullanıcılar bu sekme üzerinden çeşitli görselleştirmeler oluşturabilir:


Daha sonrasında ise dostlarım bu yaptığımız tabloları kaydedip daha sonra tekrar kullanabiliriz
Selamun Aleyküm Dostlarım bu makalemizde hep beraber Elastic Stack nedir nasıl kullanılır arayüzü nasıldır ve ne için kullanılır bu gibi unsurlara değineceğiz
Elastic Stacak’e Genel Bakış
Elastic Stack (ELK), başlangıçta büyük miktarda veriyi depolamak, aramak ve görselleştirmek amacıyla geliştirilmiş bir açık kaynak çözümüdür. Kuruluşlar, uygulama performansını izlemek ve geniş veri kümeleri üzerinde arama yapmak için bu teknolojiyi kullanmaya başlamıştır.
Zamanla sunduğu özellikler, güvenlik operasyonları alanında da popüler hale gelmesini sağlamıştır. Günümüzde birçok SOC (Security Operations Center) ekibi, ELK’yi neredeyse bir SIEM çözümü gibi kullanmaktadır.
Elastic Stack, farklı açık kaynak bileşenlerin bir araya gelmesiyle oluşur. Bu bileşenler birlikte çalışarak:
- Herhangi bir kaynaktan veriyi toplar,
- Bu veriyi depolar ve aranabilir hale getirir,
- Gerçek zamanlı görselleştirmelerle analistlere sunar.
Elasticsearch
Elastic Stack’in ilk bileşeni olan Elasticsearch, JSON formatındaki belgeler için tam metin arama ve analiz motorudur. Verileri depolar, analiz eder ve korelasyon kurar. Ayrıca RESTful API desteği sayesinde kullanıcılar, verilerle etkileşim kurmak için güçlü ve esnek sorgular çalıştırabilir. Büyük veri kümeleri üzerinde hızlı arama yapabilmesi, onu hem performans izleme hem de güvenlik operasyonları için kritik hale getirir.Logstash
Logstash, farklı kaynaklardan gelen verileri işleyen güçlü bir veri işleme motorudur. Gelen verileri alır, filtreler veya normalize eder ve ardından hedefe iletir. Bu hedef, Kibana arayüzü, Elasticsearch veritabanı, bir dosya veya belirli bir port olabili
r.Bir Logstash yapılandırma dosyası üç ana bölümden oluşur:
- Input (Girdi): Verinin hangi kaynaktan alınacağını tanımlar. Örneğin web sunucusu logları, sistem logları veya veritabanı kayıtları.
- Filter (Filtre): Alınan verilerin nasıl işleneceğini belirtir. Burada logların normalize edilmesi, belirli alanların ayrıştırılması veya gereksiz bilgilerin temizlenmesi sağlanır.
- Output (Çıktı): İşlenmiş verilerin nereye gönderileceğini belirler. Bu, Elasticsearch, Kibana, bir dosya veya dinleme portu olabilir.
Beats
Beats, uç noktalara kurulan ve data-shipper (veri taşıyıcı) olarak çalışan hafif ajanlardır. Temel görevleri, uç noktalardan topladıkları verileri Elasticsearch’e aktarmaktır. Her Beat tek amaçlı bir ajan olarak tasarlanmıştır; yani belirli bir veri türünü toplar ve Elasticsearch’e gönderir. Bu yapı sayesinde farklı kaynaklardan gelen veriler kolayca merkezi bir noktada toplanır ve analiz edilebilir hale gelir.En yaygın kullanılan Beats türleri şunlardır:
- Filebeat: Log dosyalarını toplar ve Elasticsearch’e gönderir. Web sunucusu logları, uygulama logları gibi dosya tabanlı kayıtlar için kullanılır.
- Metricbeat: Sistem ve servislerden metrik verilerini toplar. CPU kullanımı, bellek durumu, disk ve ağ istatistikleri gibi performans ölçümleri sağlar.
- Packetbeat: Ağ paketlerini yakalar ve analiz eder. Ağ trafiği üzerinden geçen protokolleri (HTTP, MySQL, DNS vb.) görünür hale getirir.
- Winlogbeat: Windows Event Log verilerini toplar. Kullanıcı aktiviteleri, kimlik doğrulama girişimleri ve sistem olayları için kritik bir kaynaktır.
- Auditbeat: Güvenlik odaklıdır; dosya bütünlüğü, kullanıcı aktiviteleri ve sistem çağrılarını izler.
- Heartbeat: Servislerin ve uygulamaların çalışırlığını (uptime) izler. Bir uygulamanın veya servisin erişilebilir olup olmadığını kontrol eder.
- Journalbeat: Linux sistemlerinde journal loglarını toplar.
Kibana
Kibana Elasticsearch ile entegre çalışan web tabanlı bir veri görselleştirme aracıdır. Gerçek zamanlı veri akışlarını analiz etmek, incelemek ve görselleştirmek için kullanılır. Kullanıcılara farklı görselleştirmeler ve paneller (dashboard) oluşturma imkânı sunarak verilerin daha anlaşılır ve görünür hale gelmesini sağlar. Bu sayede analistler, karmaşık veri kümelerini kolayca yorumlayabilir ve güvenlik operasyonlarında hızlı aksiyon alabilir.Birlikte Nasıl Çalışırlar?:
Elastic Stack’in tüm bileşenlerini öğrendikten sonra, bunların nasıl birlikte çalıştığını adım adım inceleyelim:
- Beats uç noktalardan verileri toplar.
- Örneğin, Winlogbeat Windows Event Log verilerini toplar.
- Packetbeat ise ağ trafiği akışlarını yakalar.
- Logstash, Beats’ten, portlardan veya dosyalardan gelen verileri alır. Bu verileri ayrıştırır (parsing) ve normalize ederek alan-değer çiftlerine dönüştürür. Ardından işlenmiş verileri Elasticsearch’e gönderir.
- Elasticsearch, verilerin depolandığı ve analiz edildiği veritabanı gibi çalışır. Kullanıcılar burada veriler üzerinde arama yapabilir, korelasyon kurabilir ve analiz gerçekleştirebilir.
- Kibana, Elasticsearch’te depolanan verileri görselleştirmekten sorumludur. Veriler, Kibana sayesinde grafiklere, zaman çizelgelerine, infografiklere ve özel panellere dönüştürülebilir. Bu görselleştirmeler, analistlere ağın ve sistemlerin durumunu daha net bir şekilde gösterir.
Splunkı Keşfedelim
Bu yazımızdan sonra ise dostlarım genel olarak Splunkın kendi içindeki arayüzü keşifedeceğiz
Discover’i Keşifedelim
bu kısım dostlarım SOC analislerinin genel olarak vakitlerinin çoğunluğu harcadığı yerdir.Bu sekmede, alınan Loglar, arama çubuğu, filtreleme ve daha fazlasını gösterir1)Logs: Her satır, gerçekleşen bir olayla ilgili bilgileri içeren tek bir log kaydını gösterir. Bu log, olayın detaylarını alan-değer çiftleri halinde barındırır ve analistler için anlamlı hale gelir.
2)Fields Pane: Arayüzün sol panelinde, loglardan ayrıştırılmış alanların listesi bulunur. Kullanıcı, herhangi bir alanı seçerek filtreye ekleyebilir veya aramadan çıkarabilir. Bu özellik, aramaları daha esnek ve odaklı hale getirir.
3)Index Pattern: Her log türü farklı bir index pattern altında saklanır. Kullanıcı, ihtiyaç duyduğu logları görmek için ilgili index pattern’i seçmelidir. Örneğin, VPN loglarını incelemek için VPN loglarının tutulduğu index pattern seçilir.
4)Search Bar: Kullanıcıların sorgu eklediği ve filtre uyguladığı alandır. Burada yazılan sorgular, sonuçları daraltarak daha spesifik analiz yapılmasını sağlar. Bir sonraki adımda, sorgularla nasıl arama yapılacağını öğreneceğiz.
5)Time Filter: Sonuçlar belirli bir zaman aralığına göre daraltılabilir. Bu özellik, olayların zaman çizelgesini anlamak için kritik öneme sahiptir.
6)Time Interval: Bu grafik, olayların zaman içindeki dağılımını gösterir. Belirli aralıklarla kaç olay gerçekleştiğini görselleştirerek trendleri ortaya çıkarır.
7)TOP Bar: Bu üst çubuk, aramaları kaydetme, kaydedilmiş aramaları açma, paylaşma veya yeni bir arama kaydetme gibi çeşitli seçenekler içerir.
8)Discover Tab: Kibana’nın ham verileri keşfetmek, aramak ve analiz etmek için kullanılan ana çalışma alanıdır. Analistler burada logları detaylı şekilde inceleyebilir.
9)Add Filter:Belirli alanlara filtre uygulayarak sonuçlar daraltılabilir. Bu yöntem, tüm sorguyu manuel olarak yazmak yerine daha hızlı ve pratik bir çözüm sunar.
Index Pattern
Kibana’da verileri görüntüleyebilmek için varsayılan olarak bir index pattern tanımlanması gerekir. Index pattern, Kibana’ya Elasticsearch içerisinde hangi verileri incelemek istediğimizi söyler. Her index pattern, belirli alanların özelliklerini tanımlar ve tek bir index pattern birden fazla indeksi işaret edebilir.Her log kaynağının kendine özgü bir yapısı vardır. Bu nedenle loglar Elasticsearch’e alındığında (ingest edildiğinde), önce normalize edilerek ilgili alan-değer çiftlerine dönüştürülür ve veri kaynağına özel bir index pattern oluşturulur. Bu yapı, farklı kaynaklardan gelen verilerin tutarlı bir şekilde analiz edilmesini sağlar.
laboratuvar ortamında vpn_connections adlı index pattern’i inceleyeceğiz. Bu pattern, VPN loglarını içerir ve kullanıcıların VPN bağlantı aktivitelerini analiz etmeye imkân tanıyacaktır bizlere dostlarım.
Discover tab
içerisindeki sol panel, mevcut loglardan ayrıştırılmış ve normalize edilmiş alanların (fields) listesini göste
rir. Bu panel, logların hangi alanlara sahip olduğunu görmeyi kolaylaştırır ve analistlere veriler üzerinde daha esnek bir kontrol sağlar.Herhangi bir alan üzerine tıkladığınızda, Kibana size o alan için en sık görülen ilk 5 değer ve bu değerlerin yüzdesel dağılımını gösterir. Bu bilgiler, hangi değerlerin öne çıktığını anlamak ve loglarda trendleri yakalamak için oldukça faydalıdır.
Bu değerler aynı zamanda filtreleme için kullanılabilir:
- + butonuna tıklamak seçilen değeri içeren logları filtreleyerek yalnızca ilgili sonuçları gösterir.
- - butonuna tıklamak ise tam tersine, bu değeri içermeyen logları filtreleyerek sonuçları daraltır.
Add Filter
Kibana’da, sol panelde listelenen alanlara doğrudan filtre uygulayabiliriz. Bunun için arama çubuğunun altındaki Add filter seçeneğine tıklamak yeterlidir. Bu özellik, belirli alanlara odaklanarak sonuçları daraltmamıza ve daha hedefli analizler yapmamıza imkân tanır.Filtre ekleme süreci şu şekilde işler:
- Add filter seçeneğine tıkladığınızda, sol paneldeki alanlardan birini seçebilirsiniz.
- Seçilen alan için belirli bir değer tanımlayarak yalnızca bu değeri içeren logları görüntüleyebilirsiniz.
- Alternatif olarak, belirli bir değeri hariç tutarak bu değeri içermeyen logları listeleyebilirsiniz.
Time Filter(Zaman Filtresi)
Time Filter, logları belirli bir zaman aralığına göre filtrelememizi sağlar. Bu özellik, olayların zaman çizelgesini anlamak ve belirli dönemlerde gerçekleşen aktiviteleri incelemek için kritik öneme sahiptir.
Kibana’daki zaman filtresi oldukça esnektir ve birçok seçenek sunar:
- Önceden Tanımlı Aralıklar: Son 15 dakika, son 24 saat, son 7 gün gibi hazır seçenekler.
- Mutlak Zaman Aralığı: Kullanıcı, başlangıç ve bitiş tarihini manuel olarak belirleyebilir.
- Göreceli Zaman Aralığı: “Şu andan itibaren son X dakika/saat/gün” gibi dinamik aralıklar seçilebilir.
- Olayların Zaman Çizelgesi: Filtre uygulandığında, yalnızca seçilen zaman aralığına ait loglar görüntülenir ve analiz daha odaklı hale gelir.
Timeline(Zaman Çizergesi)
Timeline bölmünde ise dostlarıım belirli bir tarih veya zaman aralığında gerçekleşen olayların sayısını genel bir bakışla gösterir. Bu panel, olayların zaman içindeki dağılımını görselleştirerek analistlerin trendleri ve yoğunluk noktalarını kolayca fark etmesini sağlar.Kullanıcı, zaman çizelgesinde yer alan çubuklardan (bar) birini seçerek yalnızca o döneme ait logları görüntüleyebilir. Böylece belirli bir zaman diliminde gerçekleşen aktiviteler daha odaklı bir şekilde incelenebiliriz.
Create Table
Varsayılan olarak loglar ham (raw) formda görüntülenir. Bu görünüm, tüm detayları içerdiği için bazen gereksiz gürültü (noise) oluşturabilir. Daha anlamlı ve düzenli bir analiz için, herhangi bir log üzerine tıklayarak önemli alanları seçebilir ve yalnızca bu alanları gösteren bir tablo oluşturabilirsiniz.Bu yöntem sayesinde:
- İlgili alanlar ön plana çıkarılır.
- Gereksiz detaylar filtrelenerek gürültü azaltılır.
- Veriler daha okunabilir, sunulabilir ve anlamlı hale gelir.
KQL’ye Genel Bakış:
Aramalarımızı gerçekleştirmek için dostlarım bu arama çubuğunun içinde kullanabileceğimiz özel bir dil var. KQL (Kibana Sorgu Dili) , Elasticsearch'te alınan günlükleri/belgeleri aramak için kullanılan bir arama sorgusu dilidir.KQL dili ile loglaro iki farklı şekilde arayabiliriz
- Metin tabanlı arama(free text search)
- Alan tabanlı arama(KQL dilini kullanmak)
Free Text Search
Metin tabanlı arama kullanıcıların loglar içerisinde yalnızca metin bazlı arama yapmasına imkân tanır. Bu yöntemle belirli bir kelime veya ifade arandığında, hangi alanda geçtiğine bakılmaksızın tüm loglarda bu terimi içeren kayıtlar listelenir.Örneğin, arama çubuğuna security yazıldığında, bu terimi içeren tüm belgeler sonuç olarak döner. Aynı şekilde, United States ifadesini aradığımızda, alan veya konum fark etmeksizin bu ifadeyi içeren tüm loglar listelenir.
Bu örnekte yapılan arama sonucunda toplam 2304 kayıt (hits) bulundu. Bu sayı, aranan terimin loglarda ne kadar yaygın olduğunu gösterir ve analistlere ilgili olayların kapsamı hakkında hızlı bir fikir verir.
Eğerki sadece United terimini ararsak bize sonuçları göstermeyebilir
Herhangi bir sonuç gelmedi çünkü KQL sadece bu kelimeyi arıyor ama eğerki biz bunun sonuna joker karakteri yani “*” koyarsak eğer bu sefer başı sadece United olan sonuçları karşımıza çıkaracaktır buna joker karakteri diyoruz
Arama Sorgusu: United*
Mantıksal operatörler(AND/OR/NOT)
KQL (Kibana Query Language), kullanıcıların arama sorgularında mantıksal operatörler kullanmasına imkân tanır. Bu operatörler sayesinde sorgular daha esnek hale gelir ve loglar üzerinde daha hedefli aramalar yapılabilir.AND Operator
AND operatörü, sorguda belirtilen tüm terimlerin loglarda bulunmasını şart koşar. Yani yalnızca her iki terimi de içeren kayıtlar sonuç olarak döner.Örnek: Arama sorgusu:
Kod:
"United States" AND "Virginia"
OR Operator
OR operatörü, sorguda belirtilen terimlerden herhangi birini içeren logları döndürür. Yani, en az bir terimin geçtiği kayıtlar sonuç olarak listelenir. Bu yöntem, daha geniş kapsamlı aramalar yapmak için kullanılır.Örnek: Arama sorgusu:
Kod:
"United States" OR "England"
NOT Operator
NOT operatörü, arama sonuçlarından belirli bir terimi hariç tutmak için kullanılır. Bu sayede, istenmeyen değerler veya alanlar sorgu sonuçlarından çıkarılarak daha odaklı bir analiz yapılabilir.Örnek: Arama sorgusu:
Kod:
"United States" AND NOT ("Florida")
Field-based Search
Field-based search, loglarda belirli bir alan (field) ve bu alana karşılık gelen değeri (value) aramamızı sağlar. Bu arama yöntemi özel bir sözdizimi kullanır:Kod
Kod:
Field : Value
Örnek:
Kod
Kod:
Source_ip : 238.163.231.224 AND UserName : Suleman
Bu yöntem, analistlere daha odaklı bir görünürlük sağlar ve büyük veri kümeleri içerisinde belirli kullanıcı aktivitelerini veya IP adreslerini hızlıca tespit etmeye yardımcı olur.
Görselleştirmeler Oluşturma
Kibana’da verileri farklı görselleştirme biçimlerinde sunmamıza olanak tanır. Bu sayede ham loglar yalnızca metin olarak değil, daha anlaşılır ve görsel açıdan zengin bir şekilde analiz edilebiliriz dostlarım
Kullanıcılar bu sekme üzerinden çeşitli görselleştirmeler oluşturabilir:
- Tables (Tablolar): Belirli alanları seçerek verileri düzenli ve okunabilir bir tablo halinde gösterebilir.
- Pie Charts (Pasta Grafikler): Alanların yüzdesel dağılımını görselleştirerek hangi değerlerin öne çıktığını kolayca fark ettirir.
- Bar Charts (Çubuk Grafikler): Belirli kategorilerdeki olayların sayısını karşılaştırmak için kullanılır.
- Line Charts / Time Series (Çizgi Grafikler): Olayların zaman içindeki trendlerini ve yoğunluk noktalarını gösterir.


Daha sonrasında ise dostlarım bu yaptığımız tabloları kaydedip daha sonra tekrar kullanabiliriz
Okuduğunuz için Teşekkür ederim
Son düzenleme:





















