Suricata Nedir?

SOC

Suricata, yüksek performanslı bir IPS ,IDS ve ağ izleme yazılımıdır. Suricata dosya çıkarma işlemi ile trafikte zararlı yazılımlar için virustotal entegrasyonu yapılabilir.Suricata logları eve.json formatındadır.ELK filebeat aracılığı ile suricatadaki logları toplayabiliriz ve kibanada yer alan hazır dashboardlar ile izleyebiliriz.

Kali linux makinemize kurulumu gerçekleştirelim.

Debian Sisteme Suricata Kurulumu

  • $sudo apt-get install suricata

Suricatayı kullanmak için bir tane ağ arayüzünü dinleme moduna almamız gerekiyor ve trafiği bu arayüze yönlendirmemiz gerekiyor. Ağ arayüzünü seçtikten sonra Aşağıdaki komutla alma işlemini gerçekleştiriyoruz.

# ifconfig eth0 promisc

Promısc modunu aktifleştirdik Şimdi Suricatada trafiğin kuyruklanması için gerekli olan komutları gireceğiz.

#iptables –A INPUT –j NFQUEUE

#iptables –A OUTPUT –j NFQUEUE

Suricata konfigürasyonu /etc/suricata/suricata.yml dosyasında tutulur.

af-packet:

– interface: eth0

pcap:

– interface: eth0

netmap:

– interface: eth0

pfring:

– interface: eth0

ayarlamaları yaptık ve suricata kurallarını incelemek için /etc/suricata/rules dizine gidebiliriz.Aynı zamanda kuralları güncellemek için suricata-update komutunu girebiliriz

Suricatayı suricata -c /etc/suricata/suricata.yaml -i eth0 bu komut ile başlatabiliriz.

Suricata Kural Yazımı

Aksiyon Protokol Kaynak_IP Kaynak_port yön Hedef_IP Hedef_port opsiyonlar

alert tcp 192.168.10.133 any -> 192.168.10.135 any (msg : “Muhtemel Port taraması “; sid:10000001)

Aksiyon opsiyonları(alert,pass,drop,reject) şeklinde olabilir.

  • alert = Kuralın tetiklenmesi sonucu aksiyonda alert var ise uyarı vererek loglama işlemini sağlar.
  • pass = kuralın tetiklenmesi sonucu aksiyonda pass var ise paketin geçilmesini sağlar.
  • drop = kuralın tetiklenmesi sonucu aksiyonda drop varsa ise paketin bloklanarak loglanmasını sağlar
  • reject = kuralın tetiklenmesi sonucu aksiyonda reject var ise pakete cevap olarak reset dönülmesini ve loglanmasını sağlar.

Protokol olarak;

  • TCP
  • UDP
  • ICMP
  • IP

Kaynak_IP ve Hedef_IP olarak ;

  • Bir CIDR olarak verilebilir.
  • Belirli bir IP adresi olabilir
  • IP adresi grubu olabilir.[IP1,IP2]
  • IP önüne ! işareti koyarak IP dışarıda bırakılabilir.
  • Any yazılabilir bütün IPler demektir.

Port olarak;

  • Belirli bir port belirtilebilir.(6276)
  • Portu hariç tutmak için portun önüne ! işareti koyulabilir. (!6276)
  • Belirli bir port aralığı verilebilir. (6010:6276)
  • Bütün portları belirtmek için Any yazılabilir.

Yön olarak trafiğin hangi yönde olacağı belirtilir ve iki yönde de ifade edilebilir.

Opsiyonlar;

  • msg = Kural tetiklenince verilecek olan ifade yazılabilir.
  • sid = snort kural idsi yazılmalıdır 10000001 den itibaren verilmesi önerilir.
  • Rev = Kuralın kaç kere rezivyon geçirdiği belirlenmelidir.
  • Classtype = kuralın hangi tür ile ilgisi olduğu belirlenmelidir.
  • Flags = set edilen flag kontrolü yapılabilir.
    • F -FIN
    • S -SYN
    • R -RESET
    • P -PUSH
    • A -ACK
    • U -URGENT
  • TTL ile ttl değer kontrolü yapılabilir.
  • Content = Paket içerisindeki veri kontrolü yapılabilir.
  • Dsize = Paket boyutu kontrolü yapılabilir.Dsize >100 şeklinde
  • Offset = Verinin kaç byteından itibaren kontrole başlanacağı belirtilebilir.
  • Depth = Verinin kaç byte uzunluktaki veri kontrol edliceği belirtilebilir.
  • Resp = Pakete nasıl bir tepki verileceği berlirtilir.Rst_snd ile RST flagi set edilmiş bir paket gönderilir.
  • React = İçerik filtreleme sonucu pakete verilcek tepkiyi belirtebiliriz.Engelleyebilir, uyarı çıkarabilir veya yönlendirme yapılabilir.

Örnek Kural ;

  • alert any any -> any any (msg : “Sql ınjection denemesi” ,content:”union”)
  • alert any any -> any any (msg: “Port taraması olabilir” ,flags:S, window:2048) Not:2048 tane ardışık syn paketi geldikten sonra uyarı ver.

Suricata yazdığımız kuralları kullanarak bir pcap kaydını açabiliriz ve böylelikle bir analiz yapabiliriz. Aşağıdaki komutu girerek bu işlemi gerçekleştirebiliriz.

#suricata –c /etc/suricata/suricata.yaml –r pcap_dosyası

Suricata kuralını çalışması sonucu çıkan logları incelemek için  /var/log/suricata/fast.log  veya /var/log/suricata/eve.json dan inceleyebiliriz.

Yazılan suricata kuralların çalışması için aşağıdaki komutu girebiliriz.

# suricatasc -c ruleset-reload-nonblocking

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir