Suricata Kurulum ve Kural ekleme

Huseyin Hazar
4 min readOct 6, 2020

--

Suricata ücretsiz ve açık kaynak kodlu, olgun, hızlı ve sağlam bir ağ tehdidi algılama motorudur. Suricata motoru, gerçek zamanlı saldırı algılama (IDS), satır içi saldırı önleme (IPS), ağ güvenliği izleme (NSM) ve çevrimdışı pcap işleme yeteneğine sahiptir. Suricata, güçlü ve kapsamlı bir kurallar ve imza dili kullanarak ağ trafiğini inceler ve karmaşık tehditlerin tespiti için güçlü Lua komut dosyası desteğine sahiptir. Mevcut SIEM’ler, Splunk, Logstash / Elasticsearch, Kibana ve diğer veritabanları gibi araçlarla YAML ve JSON entegrasyonu gibi standart giriş ve çıkış formatları ile zahmetsiz hale gelir. Suricata’nın hızlı tempolu topluluk odaklı gelişimi, güvenlik, kullanılabilirlik ve verimliliğe odaklanır. Suricata projesi ve kodu, Suricata’nın gelişimini ve açık kaynaklı bir proje olarak sürdürülebilir başarısını sağlamayı taahhüt eden kar amacı gütmeyen bir kuruluş olan Open Information Security Foundation (OISF) tarafından sahiplenilmiş ve desteklenmiştir.

Not: Kurulum ubuntu 18.04 üzerinden gerçekleşti.

Kurulum

$sudo apt update
$sudo apt-get install libpcre3-dbg libpcre3-dev autoconf automake libtool libpcap-dev libnet1-dev libyaml-dev libjansson4 libcap-ng-dev libmagic-dev libjansson-dev zlib1g-dev pkg-config rustc cargo -y

Gerekli paketlerin kurulumu tamamlanınca suricata web sitesinden https://www.openinfosecfoundation.org/download/ 5.0.0 versiyonu indiriyoruz.

$wget https://www.openinfosecfoundation.org/download/suricata-5.0.0.tar.gz
$tar -xvzf suricata-5.0.0.tar.gz
$cd suricata-5.0.0
$./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var

IPS’li Suricata (İzinsiz Giriş Önleme)

Suricata’nın İzinsiz Giriş Önleme Sistemini (IPS) etkinleştirmek için birkaç ek pakete ihtiyacımız var. IPS özelliği, algılanan saldırıları engellemek için sistemin dinamik olarak güvenlik duvarı kuralları eklemesine olanak tanır.

$sudo apt install libnetfilter-queue-dev libnetfilter-queue1 libnfnetlink-dev

— Enable-nfqueue ile yapılandırıp oluşturuyoruz.

$./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var$make
$make install
$make install-conf

Ubuntu Paketlerinin Kurulumu

Kaynaktan kurmak yerine, güncelleme ve kurulum Suricata Ubuntu paketleri kullanılarak basitleştirilebilir.

$sudo add-apt-repository ppa:oisf/suricata-stable
$sudo apt update
$sudo apt install suricata

Suricata kurulumu tamamlandı.

Suricata kural yapısı ile çalıştığı için güncel kural listesini http://rules.emergingthreats.net/open/suricata/ adresinde bulabilirsiniz. Şimdi denemek için kendi kural yapımızı oluşturacağız.

Öncelikle suricata’in çalıştığı konfigürasyon dosyasını düzenlememiz gerekiyor.

$sudo nano /etc/suricata/suricata.yaml

HOME_NET kısmını kendi ağımıza göre ayarlıyoruz. (0/24, 0–255 arasını kapsamaktadır.)

EXTERNAL_NET: “!$HOME_NET” şeklinde ayarlıyoruz.

Daha sonra kullandığımız ağın adı ens33 olduğu için konfigürasyon dosyasında default eth0 olan kısmı ens33 olarak değiştiriyoruz.

  • pcap: -interface: eth0 << pcap: -interface: ens33
  • pfring: -interface: eth0 <<pfring: -interface: ens33
  • af-packet: -interface: eth0 << af-packet: -interface: ens33

Gerekli düzenleme yapıldıktan sonra kural dosyamızın çalışması için konfigürasyon dosyasında konumunu ve ismini tanıtmamız gerekiyor.

Kural dosyalalarının olduğu dizini default-rule-path kısmında görüyoruz. İstersek değiştirebiliriz.

Rule-files kısmında ise tanımlı olan kuralları görüyoruz. Kullanmadığımız kuralların # ile yorum satırı yapıyoruz ve bizim oluşturacağımız test.rules ekliyoruz.

Tüm ayarlar yapıldıktan sonra suricata.yaml dosyasını kayıt edip kapatıyoruz.

$sudo mkdir /var/lib/suricata
$sudo mkdir /var/lib/suricata/rules
$sudo nano /var/lib/suricata/rules/test.rules

Test.rules dosyamızı oluşturmak için nano komutu ile boş bir sayfa açıyoruz.

alert icmp any any -> $HOME_NET any (msg:"ICMP connection attempt"; sid:1000002; rev:1;) 
alert tcp any any -> $HOME_NET 23 (msg:"TELNET connection attempt"; sid:1000003; rev:1;)

Örnek kuralımızı içerisine yerleştirdikten sonra kayıt edip çıkıyoruz.

Son olarak suricata’i çalıştırıyoruz.

$sudo suricata -c /etc/suricata/surita.yaml -i ens33

Daha sonra farklı bir teminal ekranından log kayıtlarının tutulduğu fast.log dosyasını anlık olarak görüntülüyoruz.

$sudo tail -f /var/log/suricata/fast.log

Sonuç olarak makinamıza gönderdiğimiz ping belirlediğimiz kural alanına girdiği için fast.log dosyasında kayıt altına alınıyor.

--

--