Bismillâhirrahmânirrahîm
Essalâmü aleyküm ve rahmetullâhi ve berakâtû. Sevgili TurkHackTeam ferdleri, bu konumda sizlere Suricata Network IPS/IDS kurulumunu adım adım bir şekilde anlatacağım. Hiçbir ek kural yazmadan varsayılan haliyle olacaktır. Bu konuda göreceğimiz başlıklar şunlardır:
Suricata Nedir ve Ne İşe Yarar?
Suricata'nın Özellikleri
Suricata'nın Avantajları
Suricata Kurulum Gereksinimleri
Suricata Kurulumu
O zaman bu başlıklarımızı açıklamaya geçebiliriz.
Essalâmü aleyküm ve rahmetullâhi ve berakâtû. Sevgili TurkHackTeam ferdleri, bu konumda sizlere Suricata Network IPS/IDS kurulumunu adım adım bir şekilde anlatacağım. Hiçbir ek kural yazmadan varsayılan haliyle olacaktır. Bu konuda göreceğimiz başlıklar şunlardır:
Suricata Nedir ve Ne İşe Yarar?
Suricata'nın Özellikleri
Suricata'nın Avantajları
Suricata Kurulum Gereksinimleri
Suricata Kurulumu
O zaman bu başlıklarımızı açıklamaya geçebiliriz.
Suricata Nedir ve Ne İşe Yarar?
Suricata, ağ güvenliğini sağlamak ve siber tehditlere yönelik önlem almak için kullanılan araçtır. Ağdaki trafiği izler, analiz eder ve şüpheli bir durum fark ederse bizlere yansıtır. Eğer, iyi bir şekilde ayarlanmış ise aynı şekilde saldırıları da engelleyebilir. Hem saldırı tespit sistemi (IDS) hem de saldırı önleme sistemi (IPS) olarak çalışır.
Suricata; tehdit tespidi, ağ izleme, saldırı önleme ve adli inceleme gibi faydalar sağlar. Diğer ürünlerin çoğunluğuna göre kabiliyetleri, pratik kullanımı öndedir. Bunu bir görselle ifade edelim.
Resimde de görüldüğü üzere kabiliyetlerini 6 ana başlığa ayırabiliyoruz. Bunlar; anamoli tabanlı tespit, imza tabanlı tespit, kural motorunu özelleştirme, protokol desteği ve çoklu iş parçacığı desteğidir. Protokol desteğinde 6 adet destek verdiği protokol bulunmaktadır. Bunlar; TCP, UDP, HTTP, SMTP, FTP ve DNS protokolüdür.
Pratik kullanımına baktığımızda yukarıda da bahsettiğim Network Güvenliği İzleme, Olay Müdahalesi ve Tehdit Müdahalesini görebiliriz. Ağ trafiğini izlememize olanak sunarken tespit ettiği tehditleri eğer düzgün bir şekilde yapılandırma yapıldıysa olay müdahalesini bile kendisi gerçekleştirebiliyor.
Suricata'nın Özellikleri
Saldırı Tespit ve EngellemeSuricata, ağ trafiğini inceler. Zararlı yazılımlar, saldırılar ya da şüpheli hareketlerin tespidini yapar. Eğer, düzgün bir şekilde yapılandırılmış ve engelleme moduna alındıysa bu tür tehditleri otomatik olarak durdurabilir de.
Ağ Tradiği İzleme
Ağda neler olup bittiğini anlık olarak görmemizi sağlar. Örneğin, hangi cihazın ne kadar veri gönderdiğini, hareketlerini kolaylıkla görebiliriz.
Protokolleri Anlama
Suricata, ağdaki, HTTP, DNS, FTP, SMTP, TCP, UDP gibi protokolleri inceleyebilir. Örneğin, bir web isteğinde şüpheli bir durum varsa bunu tespit edebilir.
Hızlı ve Etkin
Multi-threading desteği sayesinde yoğun trafikte bile hızlı bir şekilde çalışabilir.
Esnek Kural Sistemi
Suricata, özelleştirilebilen bir kural motoruna sahiptir. Bu sayede belirli kurallara göre analiz yaptırabiliriz. Bu kurallar, şüpheli durumları tanımlamamıza yardımcı olur. İsterseniz hazır, isterseniz özel kurallar kullanabilirsiniz.
Veri ve Dosya Çıkarma
Suricata, ağ üzerinden geçen dosyaları tutabilir. PCAP formatında adli bilişim için yedekleme yapabilir. Bu durum zararlı yazılım analizi için de yarar sağlar.
Suricata'nın Avantajları
Açık kaynak kodlu olduğu için ücretsizdir.
Performansı yüksek olduğu için büyük ağlarda bile etkili çalışabilir.
Esnektir. Hem saldırı tespiti hem de saldırı engellemesi yapabilir.
Suricata Kurulum Gereksinimleri
Suricata'nın kurulum gereksinimleri
Minimum Gereksinimler:
2 CPU Çekirdeği
2 GB Ram
Ubuntu 22.04
30 GB Depolama
Kurulumda Kullanılan Gereksinimler:
4 CPU Çekirdek
8 GB RAM
Ubuntu 22.04 - 24.04
50 GB Depolama
Suricata Kurulumu
Suricata'nın kurulumunu yapabilmemiz için öncelikle PPA (Personel Package Archive) kullanarak repository eklememiz gerekiyor. Hemen ekleyelim.
Bash:
sudo add-apt-repository ppa:oisf/suricata-stable
Kurulumu yaparken bizden devam etmek için cevap bekliyor. Enter tuşuna basıp devam ediyoruz. Hiçbir şey yazmadan devam edildiğinde otomatik olarak "Yes" seçeneği seçilmiş oluyor.
İleride curl komutu kullanacağız. Bunun için hemen curl package kurulumunu gerçekleştirelim.
Bash:
sudo apt-get install curl
Evet, repository'i ekledik ve curl kurduk. Şimdi sistemimize update atalım.
Bash:
sudo apt-get update
Repository içeriğini güncelledik. Şimdi suricata'yı indirelim.
Bash:
sudo apt-get install suricata -y
Şimdi Suricata Ruleset'ini indirmemiz ve dışa aktarmamız gerekiyor. "/tmp/" dizinine girelim ve buraya indirelim. Daha sonra da rule dosyalarını "/etc/suricata/rule" dizinine taşıyalım.
Bash:
cd /tmp/ && sudo curl -LO https://rules.emergingthreats.net/open/suricata-6.0.8/emerging.rules.tar.gz
Evet, kurallarımızı indirdik. Şimdi dışa aktaralım ve daha sonradan gerekli dizine taşıma işlemini yapalım.
Bash:
sudo tar -xvzf emerging.rules.tar.gz
sudo mv rules/ /etc/suricata/rules/
Gerekli işlemleri gerçekleştirdik ancak şimdi dosya yetkisini ayarlamamız gerekiyor. Hemen ayarlayalım.
Bash:
sudo chmod 640 /etc/suricata/rules/*.rules
Gerekli yetkilendirmeyi de yaptık. Şimdi sıra gerekli konfigürasyonları yapmaya geldi. Bunun için "/etc/suricata/suricata.yml" dosyasını nano ile açmamız gerekiyor. Burada dikkat etmemiz gereken yerler var. Altta vereceğim yerleri terminal ekranında CTRL + W tuşu ile arayarak bulabilirsiniz.
HOME_NET = Ubuntu makinemizin IP adresini girmemiz gerekiyor.
EXTERNAL_NET = "any" olan şeçeneğin başındaki # işaretini kaldırıp "!$HOME_NET" olan kısmın başına ekliyoruz.
default-rule-path = Rule path olarak /etc/suricata/rules dizinini tanımlamamız gerekiyor.
rule-files = "*.rules" olarak değiştirmemiz gerekiyor.
af-packet = Burada ifconfig'de çıkan network interface bilgisini yazmanız gerekiyor. Çoğumuzda eth0 olarak gözükür.
Bu ayarların yapılmış halini resimlerde bulabilirsiniz. Resimler küçük olacaktır ama "open image in new tab" dediğinizde büyük halini görebilirsiniz.
Bash:
sudo nano /etc/suricata/suricata.yml
Gerekli ayarlarımızı yaptık. Şimdi suricata'nın servisini yeniden başlatalım.
Bash:
sudo systemctl restart suricata.service
Servisimizi tekrardan başlattık. Şu an suricata aktif olmuş olması gerekiyor. Bunu hemen deneyelim.
Bash:
tail -f /var/log/suricata/fast.log
Logların tutulduğunu buradan görebilirsiniz. Deneme amaçli git kurulumu gerçekleştirdim ve burada görmüş olduğunuz gibi TCP protokol işlemini yakaladı ve IP adresi karşımıza çıktı.
Son düzenleme:


