CyberFlow Logo CyberFlow BLOG
Soc L1 Izleme Gorunurluk Sorgu

SPL Temelleri: Komut Satırı Mantığını Keşfedin ve Search Komutunu Ustaca Kullanın

✍️ Ahmet BİRKAN 📂 Soc L1 Izleme Gorunurluk Sorgu

SPL ile güçlü veri sorgulama becerilerini geliştirin. Komut satırı mantığı ve Search komutunu öğrenerek siber güvenlik alanında uzmanlaşın.

SPL Temelleri: Komut Satırı Mantığını Keşfedin ve Search Komutunu Ustaca Kullanın

SPL Temelleri eğitimi, siber güvenlikte veri sorgulama konusunda kritik bir bakış açısı kazandırıyor. Komut satırı mantığı ve Search komutunu öğrenmek için rehberimize göz atın.

Giriş ve Konumlandırma

SPL, yani Search Processing Language, Splunk platformunda verilerin etkili bir şekilde aranması, analizi ve raporlanması için kullanılan bir dildir. Bu dil, Unix terminaline benzer bir mantıkla çalışarak kullanıcılarının büyük veri yığınları içerisinden anlamlı bilgiler çıkarmasına olanak tanır. Gelişmiş arama yetenekleri, güvenlik bilgileri ve olay yönetimi (SIEM) sistemlerinin vazgeçilmez bir parçasını oluşturarak, siber güvenlik uzmanlarından pentester'lara kadar birçok profesyonelin günlük iş akışında kritik bir rol oynamaktadır.

Neden Önemli?

Günümüz dijital dünyasında, veri güvenliği tehditleri hızla evrim geçiriyor. Kurumlar, büyük volümlerde veri toplamakta ve bu verilerin içinden sızma girişimlerini, kötü niyetli aktiviteleri tespit etmek için hızlı ve doğru sonuçlar elde etme çabasında. Splunk, bu amaca yönelik olarak sunduğu özelliklerle, olumsuz senaryoların önceden öngörülmesine ve anlık olarak müdahale edilmesine olanak tanır. Dolayısıyla, SPL dilini öğrenmek, sadece siber güvenlik bilgilerini artırmakla kalmayıp, aynı zamanda veri analizi ve yönetimini de etkili bir şekilde organize etmeyi sağlar.

Siber Güvenlik ve Pentest Bağlamında SPL

Siber güvenlik alanındaki uzmanlar, sistemde meydana gelen olayları izlemek ve analiz etmek için log kayıtlarına başvurur. Bu bağlamda, SPL'nin sunduğu komutlar ve yapı, log analizi yaparak olası tehditleri belirlemeyi kolaylaştırır. Örneğin, bir pentest sürecinde, sistemlerdeki zayıf noktaların saptanması için uygulanan taramalar sonucunda elde edilen veriler, SPL kullanılarak detaylı bir şekilde incelenebilir. Kullanıcılar, belirli kriterlere göre arama yapabilir, veri azlığı ve yoğunluğu gibi unsurları inceleyerek güvenlik açıklarını tespit edebilirler.

Okuyucuya Teknik Bir Geçiş

Bu yazıda, SPL'nin temel yapısını ve Search komutunun nasıl ustaca kullanılacağını keşfedeceğiz. SPL, her sorgu ile birlikte belirli bir dizini (index) hedef alarak başlamaktadır. Bu, sistemin tüm veri tabanını taramak yerine yalnızca ilgili veriler üzerine odaklanmasına imkan tanır. Örneğin, aşağıdaki gibi bir sorgu, belli bir index'teki verileri taramak için kullanılabilir:

index=windows_logs error

Yukarıdaki sorgu, windows_logs index’inde “error” kelimesini arayarak, yalnızca bu terimle ilgili olayları gösterir. Bu sayede, daha hızlı ve etkili bir analiz imkanı sunar. Kullanım sırasında dikkate alınması gereken bir diğer önemli nokta ise metadata alanlarıdır. Meta veriler, logların doğru bir şekilde sınıflandırılmasını ve belirtilen kriterlere göre filtrelenmesini sağlar. Her log kaydı belirli bir kaynak (source), kaynak türü (sourcetype) ve zaman aralığı (time range) gibi bilgilere sahiptir.

SPL, aynı zamanda sorgu dalgaları geçirirken kullanıcıların verileri görsel olarak anlamlandırmalarını sağlar. Örneğin, birden fazla komutu bir arada kullanarak verileri birbirine bağlayabiliriz:

index=windows_logs | stats count by event_type

Bu sorgu, windows_logs index‘indeki olay türlerine göre istatistiksel sayım yaparak, hangi tür olayların daha sıklıkla gerçekleştiğini gösterir.

Sonuç olarak, SPL'yi öğrenmek sadece teknik bilgi sağlamakla kalmaz, aynı zamanda bir siber güvenlik profesyonelinin etki alanını da genişletir. Burada SPL'nin temellerini anlamak, yalnızca mevcut tehditlere karşı savunma stratejilerini güçlendirmekle kalmaz, aynı zamanda saldırı senaryolarını daha etkin bir şekilde önceden belirleme becerisini de kazandırır. Bu, modern bir güvenlik uzmanının karşılaştığı zorlukların üstesinden gelinmesinde kritik bir adımdır.

Teknik Analiz ve Uygulama

SPL ve Komut Satırı Mantığı

SPL (Search Processing Language), Splunk platformunda veri arama, analiz etme ve raporlama süreçlerinde kullanılan güçlü bir dildir. Unix terminal mantığına benzer bir yapıya sahiptir, bu sayede kullanıcılar karmaşık sorgular oluşturarak sistemdeki verilere ulaşabilir. SPL ile çalışırken, doğru komutları kullanarak veriyi etkin bir şekilde yönetmek ve analiz etmek önemlidir.

Doğru Adreste Aramak

SPL sorgularına başlarken, ilk adım doğru bir dizin belirlemektir. Splunk üzerinde veriler her zaman bir 'index' içerisinde saklanır. Örneğin, belirli bir dizini hedef alarak sorgu başlatmak, sistemin tüm veri tabanını taramak yerine yalnızca ilgili bölüme odaklanmasını sağlar:

index=windows_logs | search error

Yukarıdaki örnekte, windows_logs dizinine odaklanarak error kelimesini arıyoruz. Bu, daha hedefli sonuçlar elde etmemizi sağlar.

Logun Kimlik Kartı

Verilerin doğru analiz edilebilmesi için her logun kimliği büyük önem taşır. Splunk’ta log bilgileri üç temel metadata alanı içerisinde tanımlanır:

  • Index: Verilerin fiziksel olarak saklandığı havuz veya dizin (örneğin: windows_logs).
  • Source: Logun gelmiş olduğu tam dosya yolu veya cihaz (örneğin: /var/log/secure).
  • Sourcetype: Logun formatını ve SIEM tarafından nasıl parse edileceğini belirleyen etiket (örneğin: cisco:asa).

Bu metadata belirleyiciler, verinin nereden geldiğini ve nasıl işleneceğini anlamanızı kolaylaştırır.

Gizli Başlangıç

SPL sorgularında, her sorgunun başında “search” komutunun bulunması, sistemin arama algoritmasını yönlendirir. Eğer bir hata mesajı veya tam bir dosya yolunu arıyorsanız, kelimenin doğru şekilde bölünmesi hayati öneme sahiptir. Arama terimlerini tırnak içinde yazmak, boşluklu veya özel karakterler içeren ifadeleri hatasız bir şekilde bulmamızı sağlar:

search "failed login attempt"

Bu sayede, sistem arama sonucunu daha doğru bir şekilde filtreleme yeteneğine sahip olur.

Hatasız Sorgulama

SPL'de joker karakterler, arama sırasında büyük kolaylık sağlamak için kullanılır. Tüm karakterlerin yerini alabilecek joker sembolü, * olarak tanımlanır. Örneğin, bir kelimenin tamamını bilmiyorsanız veya belirsiz bir karakter dizisi arıyorsanız aşağıdaki gibi bir sorgu yapabilirsiniz:

index=windows_logs | search user=admin*

Bu sorgu, admin ile başlayan tüm kullanıcı isimlerini getirecektir.

Eksikleri Tamamla

Veri aramalarınızın etkinliğini artırmak için, sorgunuza tarih aralığı gibi kriterler eklemek önemlidir. Time Range belirterek, aramanın hangi tarih aralığında yapılacağını tanımlayabilirsiniz. Örneğin:

index=windows_logs earliest=-7d | search "login failure"

Bu sorgu, son 7 gün içerisindeki login failure kayıtlarını getirir. Bu tür bir yapı ile arama sonuçlarınızı çok daha anlamlı hale getirebilirsiniz.

Sonuç

Bu bölümde, SPL’nin temel kavramlarını ve komutlarını derinlemesine inceledik. Doğru dizin belirleme, metadata alanlarını tanıma ve arama tekniklerinin nasıl kullanılarak etkin sonuçlar elde edilebileceğini ele aldık. SPL’nin sağladığı esneklik ve yaratıcılık, siber güvenlik alanında kritik öneme sahiptir. Gelecek bölümlerde daha karmaşık sorgular ve analiz yöntemlerini inceleyeceğiz; SPL’nin sunduğu bu güç ile siber verilerinizi daha etkin bir şekilde yönetebilirsiniz.

Risk, Yorumlama ve Savunma

SPL (Search Processing Language) kullanarak yapılan siber güvenlik analizleri, mevcut sistemlerin güvenlik durumunu değerlendirmek için kritik bir öneme sahiptir. Bu bölümde, SPL ile elde edilen bulguların güvenlik anlamını yorumlayacağız, yanlış yapılandırma veya zafiyetlerin etkilerini açıklayacağız, sızan veri, topoloji ve servis tespiti gibi sonuçları inceleyeceğiz. Ayrıca profesyonel önlemler ve hardening önerilerini de ele alacağız.

Elde Edilen Bulguların Güvenlik Anlamı

SPL ile gerçekleştirilen veriler üzerinde yapılan analizler, sistemdeki anomali veya saldırı girişimlerinin tespitinde önemli rol oynar. Örneğin, belirli bir tarih aralığında kullanıcı oturum açma denemeleri incelendiğinde, anormal kullanıcı davranışları hızlı bir şekilde ortaya konulabilir. Aşağıda bir SPL sorgusu örneği verilmiştir:

index=windows_logs sourcetype=WinEventLog:Security EventCode=4625 | stats count by Account_Name

Bu sorgu, başarısız oturum açma girişimlerini hesaplayarak, belirli bir hesabın hedef alınıp alınmadığını gösterir. Elde edilen sonuçlar, olası bir hesabın kötüye kullanımı hakkında önemli bilgiler sunarak güvenlik analistlerinin tehditleri değerlendirmesine olanak tanır.

Yanlış Yapılandırma ve Zafiyetlerin Etkisi

Yanlış yapılandırmalar, siber güvenlik açığı oluşturabilir ve bu da saldırganların hedef sistemler üzerinde yetki elde etmesini kolaylaştırır. Örneğin, bir sistemdeki güvenlik duvarı yanlış yapılandırılmışsa, iç ağ trafiği dışarıya sızabilir. Yanlış yapılandırmaların etkisi iki şekilde değerlendirilebilir:

  1. Verilerin Sızması: Yanlış yapılandırılmış bir güvenlik duvarı, hassas verilere erişimi kolaylaştırır.

  2. Servis Kesintileri: Yanlış yapılandırma, hizmetlerin çökmesine veya yavaşlamasına yol açarak aşağıdaki gibi sorunlar oluşturabilir:

index=network_logs sourcetype=firewall_logs action=deny | timechart count by source_ip

Bu sorgu, belirli IP adresleri tarafından yapılan yasaklı bağlantı girişimlerini gösterir. Yüksek frekanslı sığma girişimleri, sızma çabası hakkında uyarı verebilir.

Sızan Veri, Topoloji ve Servis Tespiti

SPL kullanarak sistemdeki verilerin analizi, sızan verileri belirlemenin yanı sıra, bağlantı topolojisini ve mevcut servislerin durumunu tespit etmeye de yardımcı olur. Örneğin, aşağıdaki örnek, sistemdeki ağ trafiğini ve belirli bir servisin durumunu gösteren bir sorgu sunmaktadır:

index=network_logs | stats count by service_name, status

Bu tür bir sorgu, hangi servislerin çalıştığı ve hangilerinin kapalı olduğunu raporlayarak sistem yöneticilerine durum değerlendirmesi yapma imkanı sunar.

Profesyonel Önlemler ve Hardening Önerileri

Elde edilen bulgular neticesinde, siber güvenlik risklerini azaltmak için birkaç önlem alınabilir. Aşağıda bazı temel hardening önerileri sıralanmıştır:

  1. Erişim Kontrolleri: Kullanıcı izinlerini sıkı şekilde yönetin ve sadece gerekli düzeyde erişim izni verin.

  2. Güncellemeler: Sistem ve uygulama güncellemelerinizi düzenli olarak uygulayın. Bu, bilinen zafiyetlerin kapatılmasını sağlar.

  3. Güvenlik Duvarı Kuralları: Güvenlik duvarı kurallarını doğru bir şekilde yapılandırın ve düzenli olarak gözden geçirin.

  4. Log Yönetimi: Log'ların düzenli bir şekilde toplanması ve analiz edilmesi, kötüye kullanım ve hataların hızlı bir şekilde tespit edilmesini sağlar.

  5. Yedekleme ve Kurtarma: Kritik verilerin düzenli yedeklenmesi ve kurtarma planlarının oluşturulması, siber saldırılara karşı önemli bir güvenlik önlemidir.

Sonuç

SPL ile yapılan analizler, sistemin güvenlik zafiyetlerini tespit etme ve bunlara yönelik önlemler alma konusunda etkili bir araçtır. Verilerin güvenlik anlamında detaylı bir şekilde yorumlanması, organizasyonların savunma mekanizmalarını güçlendirmelerine olanak tanır. Güçlü bir güvenlik stratejisi, yalnızca mevcut zafiyetleri tespit etmekle kalmaz, aynı zamanda organizasyonel verimliliği de artırır. Bu nedenle, siber güvenlik profesyonellerinin, elde edilen bulguları dikkatle değerlendirmeleri ve uygun savunma mekanizmaları geliştirmeleri kritik öneme sahiptir.