Suricata ile ağ tabanlı tespit ve önleme
Suricata’yı kurup kural yazar, EVE JSON kayıtlarını jq ile inceler, yanlış alarmları azaltır ve şüpheli trafiği satır içi kipte durdurursun.
Seviye 301 · 20 ders · 18 pratik lab
Dersler
Başlangıç
- Suricata nedir: IDS, IPS ve ağ güvenliği izleme: Suricata’nın trafiği izleyip uyarı üretmesi ile trafiği durdurması arasındaki farkı ve Snort’tan ayrıldığı noktaları öğrenirsin.
- Suricata kurulumu ve dinlenecek arayüzü seçmek: Suricata’yı kurup doğru ağ arayüzünü dinleyecek şekilde başlatabilecek ve çalıştığını kayıtlarından doğrulayabileceksin.
- suricata.yaml: HOME_NET ve çıktı ayarları: Korunan ağını HOME_NET olarak tanımlayıp hangi kayıtların nereye yazılacağını suricata.yaml’da ayarlayabileceksin.
- Kayıtlı pcap dosyasını Suricata’dan geçirerek güvenli alıştırma: Canlı ağa dokunmadan kayıtlı bir trafik dosyasını Suricata ile işleyip çıkan uyarıları inceleyebileceksin.
- Kısa görev: bir PCAP’i Suricata’dan geçir ve eve.json’daki olay türlerini say
Kurallar
- suricata-update ile kural setlerini yönetmek: Hazır kural setlerini suricata-update ile indirip güncelleyebilecek ve ihtiyacın olmayan kuralları kapatabileceksin.
- Suricata kural yapısı: eylem, başlık ve seçenekler: Bir Suricata kuralını parçalarına ayırıp her bölümün hangi trafiği seçtiğini ve ne zaman uyarı verdiğini okuyabileceksin.
- Protokole özgü anahtar sözcükler: http, dns, tls: HTTP adresi, DNS sorgusu ya da TLS sunucu adı gibi alanlara bakan daha isabetli kurallar yazabileceksin.
- Yerel kural yazmak ve pcap ile sınamak: Kurumuna özel bir kural yazıp onu önce kayıtlı trafikle sınayarak beklenen uyarıyı verdiğini doğrulayabileceksin.
- Eşik ve bastırma ile gürültüyü azaltmak: Aynı olay için yüzlerce uyarı gelmesini eşik ayarlarıyla azaltıp bilinen güvenli kaynakları bastırabileceksin.
- Kısa görev: tek bir zararlı alan adını DNS ve TLS’te yakalayan iki kural yaz
Kayıtlar ve analiz
- EVE JSON kayıtlarını anlamak: uyarı, akış ve protokol olayları: Suricata’nın eve.json dosyasındaki olay türlerini tanıyıp bir uyarıyı ilgili bağlantı ve protokol kaydıyla eşleştirebileceksin.
- jq ile eve.json’dan uyarıları süzmek ve özetlemek: jq komutlarıyla en sık uyarıları, en çok uyarı üreten adresleri ve zaman dağılımını çıkarabileceksin.
- Ağdan geçen dosyaları kaydetmek: fileinfo ve dosya çıkarma: Ağ üzerinden aktarılan dosyaların adını, türünü ve parmak izini kaydedip gerektiğinde kopyasını inceleme için saklayabileceksin.
- TLS parmak izleriyle (JA3, JA4) tanınmayan istemcileri fark etmek: Şifreli trafiğin içine bakmadan istemcinin TLS parmak izinden olağan dışı programları ayırt edebileceksin.
- Kısa görev: uyarıları imzaya ve kaynak IP’ye göre özetleyen bir jq komutu yaz
Önleme ve işletim
- NFQUEUE ile satır içi (IPS) kipte trafiği durdurmak: Suricata’yı trafiğin yoluna koyup belirli kurallara uyan bağlantıları durdurabilecek ve meşru trafiğin geçtiğini doğrulayabileceksin.
- Paket kaybı ve performans: istatistikleri okumak: stats.log’dan Suricata’nın paket kaçırıp kaçırmadığını görüp iş parçacığı ve bellek ayarlarıyla sorunu giderebileceksin.
- Uyarıları merkezi log sistemine göndermek: eve.json kayıtlarını merkezi log sistemine aktarıp diğer sunucu kayıtlarıyla aynı ekranda inceleyebileceksin.
- Bitirme görevi: izinsiz veri çıkışını tespit eden kural seti: Onaysız bir sunucuya dosya yüklenmesini yakalayan kurallar yazar, yanlış alarmları ayıklar ve sonucu kanıtlarıyla raporlarsın.
Pratik lablar
- Bir PCAP'i Suricata'dan geçir: Hazır kaydı Suricata ile işle ve eve.json'daki olay türlerini say.
- suricata.yaml'da HOME_NET ve çıktılar: HOME_NET'i lab ağına göre ayarla, eve.json çıktısında yalnızca uyarı ve DNS olaylarını aç ve sonucu doğrula.
- Canlı arayüzde dinleme kur: Suricata'yı doğru lab arayüzünde servis olarak çalıştır ve sınama trafiğinin olay ürettiğini kanıtla.
- Kuralın eylem, başlık ve seçeneklerini ayır: Üç Suricata kuralının bölümlerini açıkla ve her birinin neyi yakaladığını bir cümleyle yaz.
- Yerel kural yaz ve pcap ile sına: Belirli bir kullanıcı aracısını yakalayan yerel kural yaz ve hazır kayıtla tetiklendiğini göster.
- suricata-update ile kural kaynaklarını yönet: Bir kural kaynağını etkinleştir, iki imzayı devre dışı bırak ve değişikliğin yüklenen kural sayısına yansıdığını göster.
- http anahtar sözcükleriyle eşle: http.uri tamponunu kullanarak belirli bir yola giden istekleri yakalayan kural yaz.
- Aynı alan adını DNS ve TLS'te yakala: Tek bir alan adını hem DNS sorgusunda hem TLS sunucu adında yakalayan iki kural yaz ve sına.
- Yanlış alarm veren kuralı daralt: Her yanıtta tetiklenen geniş içerik kuralını doğru tampona ve yöne taşıyarak yanlış alarmları sıfırla.
- eve.json'da uyarıları süz: jq ile yalnızca uyarı olaylarını seç ve imza adlarını listele.
- İmzaya ve kaynak IP'ye göre özet: Uyarıları imzaya ve kaynak adrese göre sayan tek satırlık bir jq komutu yaz.
- Uyarıyı akış ve protokol olayına bağla: Bir uyarının flow_id değerini kullanarak aynı oturumun akış, HTTP ve dosya olaylarını tek çıktıda birleştir.
- fileinfo olaylarını listele: Ağdan geçen dosyaların adını, türünü ve boyutunu fileinfo olaylarından çıkar.
- Ağdan geçen dosyayı diske kaydet: Dosya çıkarmayı aç, hazır kayıttaki indirmeyi diske yazdır ve özetini eve.json ile karşılaştır.
- Tanınmayan TLS istemcisini parmak izinden bul: JA3 ve JA4 değerlerini say, yalnızca bir ana makinede görülen parmak izini ve bağlandığı sunucuları raporla.
- Paket kaybı istatistiklerini oku: stats.log'dan yakalanan, düşen ve çözülen paket sayılarını çıkar ve kayıp oranını hesapla.
- Eşik ve bastırma kuralı yaz: Gürültülü bir imzayı tek bir kaynak için bastır, bir diğerine eşik koy ve uyarı sayısını önce sonra karşılaştır.
- Satır içi kipte izinsiz veri çıkışını durdur: Lab ağında NFQUEUE ile satır içi çalış, izinsiz yükleme desenini düşüren kural yaz ve engellendiğini kanıtla.
Kurs hakkında
Suricata’yı kurup kural yazar, EVE JSON kayıtlarını jq ile inceler, yanlış alarmları azaltır ve şüpheli trafiği satır içi kipte durdurursun.
Ne öğreneceksin
- Başlangıç
- Kurallar
- Kayıtlar ve analiz
- Önleme ve işletim
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 301 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.