Snort Nedir? Ne İşe Yarar?

snort

Bu yazımızı okumaya başladıysanız DevOps araçları arasında en bilindiklerinden birisi olan ve güvenlik araçları arasında iyi bir sıralamaya sahip olan Snort ile tanışmak üzeresiniz demektir. Hadi başlayalım 🙂

IPS – Intrusion Prevention System (Saldırı Önleme Sistemi) Nedir ?

IPS, ağ trafiğini izleyerek üstünde tanımlı olan kurallara uyan trafiği ilgili kuralın aksiyon tanımına göre yönlendiren sistemdir. Genellikle dışarıdan gelen trafiğin ilk önce uğradığı sistemler veya cihazlardır. Kısacası IPS ağ trafiğiniz içerisinde zararlı hareketleri veya zararlı bağlantıları tespiti ve önlenmesi için kullanılan güvenlik sistemidir. IPS sistemlerinin temel olarak 2 farklı çalışma mantığına sahiptir. Birincisi imza tabanlı çalışma mantığı ve ikincisi ise kural tabanlı çalışma mantığıdır. IPS sistemler genellikle güvenlik duvarlarının hemen ardında yer alır ve tehlikeli içerikleri olumsuz, güvenilir içerikleri olumlu olarak seçerek tamamlayıcı bir analiz katmanı sağlar. 

Snort Nedir ?

Snort, açık kaynaklı olarak geliştirilmiş ve önde gelen bir Saldırı Önleme Sistemidir(IPS – Intrusion Prevention System). Snort kötü amaçlı ağ hareketlerini tanımlaya yardımcı olan bir dizi kural kullanır. Bu kurallar kendileri ile eşleşen paketleri bulmak için kullanılır ve sistem kullanıcılarına gerekli uyarıları yapar. Snort kurumsal iş tanımlı olarak veya kişisel kullanımlar için edinilebilir ve yapılandırılabilir.

  • Ağ Tabanlı Saldırı Tespit Sistemi
  • GPL lisanslıdır
  • Farklı platformlarda çalışabilir(Unix MS-Windows)
  • Modüler mimariye sahiptir.
  • Çok fazla sistem tek bir Snort ile izlenebilir
  • Birden fazla Snort merkezi olarak denetlenebilir
  • Kural tanımlaması basittir
  • İnternet üzerinde kural veritabanı
  • Şifrenlenmiş iletişimler izlenemez (VPN,SSH,SSL)
  • Yüksek hacimli trafiği izlemeye uygun değil
  • Çok yoğun yanlış alarm üretme durumu
  • Sürekli olarak güncellenir
  • Yeni saldırı çeşitlerine karşı hızlı kural ekleme ve güncelleme

Snort Bileşenleri

  • Paket Yakalama Kütüphanesi (Packet Capture Library)
    • Linux ve Unix sistemlerde Snort Libcap, Windows sistemlerde WinPcap kullanılır
    • Veribağı katman paketleri içerir
    • Snort’un ağ paketlerini ağ kartından almak için kullandığı bir yazılım parçasıdır
  • Paket Kod Çözücü (Packet Decoder)
    • Paket yakalama kütüphanesinden göndrilen katman 2 verisini alır ve parçalar
    • Önce veribağı çerçevelerini sonra IP protokolü ve sonra TCP ya da UDP paketlerini ayrıştırır
    • Çözme işlemleri tamamlanınca tüm protokol bilgileri işlenmek için doğru yere aktarılır
  • Ön İşlemci (Preprocessor)
    • Önişlemci açılıp kapatılabilien eklentilere sahiptir
    • Çözümlenmiş paketler üzerinde çalışır. Çeşitli dönüşümler yaparak Snort’un algılama kabiliyetine arttırmaya çalışır
    • Önişlemici paketleri algılama motoru kısmına gönderilmeden önce uyarı, sınıflandırma veya paketi silip atabilir
  • Algılama Motoru (Detection Engine)
    • Algılama Motoru Snort’un kalbi diyebileceğimiz bir kısımdır
    • Paket Kod Çözücü ve Önişlemci kısımlarından bilgi alır ve bu bilgiler üzerinde taşıma ve uygulama katmanlarında işlem yapar
    • Paket içeriğini inceleyerek karşılaştırır daha sonra kural tabanlı tespit sistemine bilgi verir
    • Kurallar saldırının işaret yapısını içerir
  • Çıktı (Output)
    • Kural veya önişlemci tetik aldığına uyarı verir ve günlükleme yapar
    • Snort çelitli çıktı eklentileri destekler

Snort Kullanım Modları Nelerdir ?

Snort kullanıcılarına temel olarak 3 kullanım modu sunmaktadır. Bunlar TCPDump gibi paket dinleyici(izleyici) olarak, bir paket kaydedici (günlükleme) olarak, tam gelişmiş ağ saldırı önleme sistemidir.

  • Paket Dinleyici(İzleyici) Modu

Bu mod tcpdump paket izleyici programı gibi basit bir şekilde ağdan paketleri okuyarak aralıksız bir şekilde konsola yönlendirdiği moddur. Kısaca ağ trafiği izleme modudur.

  • Paket Kaydedici(Günlükleme) Modu

Paketleri diske yazar. TCP paket başlıkları ve paket bilgilerini kaydeder. Ve log dizininde günlüklenir. Kayıt işlemlerini kütük dosyası şeklinde yapan çalışma şeklidir.

  • Tam Gelişmiş Ağ Saldırı Önleme
    • Snort’un karmaşık ve yapılandırılabilir modudur. Saldırı ve kötü ağ hareketlerine karşı akıllı tepki verme modu denilebilir. Bu mod ile temelde trafik analiz edilerek kullanıcı tarafından tanımlanmış kurallar ile hareketlere tepki veren moddur.

Snort Kuralları

Trafiği takip etmek ve durumlara karşı eylemleri gerçekleştirmek için kurallar tanımlarız. Snort kuralları basit bir şekilde yazılabilir ve bununla birlikte zararlı veya şüpheli trafiği etme konusunda oldukça iyidir. Snort kuralları mantıksal olarak iki temel kısma ayrılırlar. Kural Başlığı ve Kural Opsiyonları. Kural Başlığı kaynak IP adresi, hedef IP adresi, kural eylemi, alt ağ maskesi, protokolü, kaynak ve hedef port gibi bilgileri içerir. Kural Opsiyonu’nda ise kural eylemleri belirtilir. Kural eylemi 8 şekilde olabilir.

  • Kural Eylemleri
    • Alarm (Alert)
      • Kullanıcı tarafından tanımlanmış olan kural(lar)’a uygun paketler için uyarı verilir ve log olarak kaydedilir. Yani bir olay bildirisi yapılabilir ve günlüklenebilir.
    • Günlükle (Log)
      • Günlükleme rutini kullanıcı tarafından nasıl tanımlanmış ise tam paket olarak kaydedilir. Bu kısımda uyarı verilmez sadece kaydedilir.
    • Dinamik (Dynamic)
      • Bir etkinleştir kuralı gelene kadar bekler. Etkinleştir kuralı gelince kuralı uygular.
    • Düşür (Drop)
      • Paketi düşürür ve günlükleme(log) yapar.
    • Günlüklemeden Düşür (SDrop)
      • Paketi düşürür ve günlükleme(log) yapmaz.
    • Reddet (Reject)
      • Paketi engeller ve günlükleme yapar. Protokol TCP ise yeniden başlat (TCP Reset) ya da ICMP port erişilemez(port unreachable) mesajı verir.
    • Etkinleştir (Active)
      • Uyarı(alarm) verilir ve hemen sonra başka bir dinamik kuralı etkinleştirir.
    • Geçir (Pass)
      • Paketi basit bir şekilde direk geçirir ve önemsemez.

Diğer yazılarımda görüşmek üzere, iyi geliştirmeler dilerim 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir