Ağ TeknolojileriGüvenlik Teknolojileri

Snort’un Saldırı Tespit Detayları ve Parametreleri nelerdir?

Saldırı Tespit Sistemleri (STS)

Hızla büyüyen siber dünya, işlerimizi kolaylaştırması sebebiyle değişik formlarda yaşantımıza girmeyi başardı. E-devlet, e-ticaret, e-imza gibi kavramlar hız ve verimliliği sebebiyle çok fazla duyulmaya başlandı ve beraberinde de ağ ve bilgi güvenliği kavramlarına da teknolojik ve hukuki katkıda bulundu.

Teknolojik olarak bilginin tehdit ve saldırılara karşı korunması için güvenlik duvarları, STS ve SES araçlar geliştirildi. Bu araçları doğru şekilde yapılandırarak ağ ve bilgi güvenliğimizi büyük ölçüde sağlayabiliriz.

Peki, büyüyen siber dünya ile beraber gelen bu STS nedir? STS yani saldırı tespit sistemleri, bilginin elektronik ortamlarda taşınırken, işlenirken veya depolanırken başına gelebilecek tehlike ve tehditlerin ortadan kaldırılması veya bunlara karşı tedbir alınması amacıyla, bilgiye yetkisiz erişim ve bilginin kötüye kullanılması gibi internet veya yerel ağdan gelebilecek çeşitli paket ve verilerden oluşan girişimleri tespit edebilme, bu tespitleri sms, e-posta veya SNMP mesajları ile sistem güvenliğinden sorumlu kişilere iletebilme ve gerektiğinde paketi/erişimi düşürebilme özelliğine sahip yazılımsal ve/veya donanımsal güvenlik araçları olarak tanımlanabilir. 

STS’ler aşağıdaki kriterler başta olmak üzere değişik ölçütlere göre sınıflandırılabilir:

  • Veri İşleme Zamanına Göre
    • Gerçek Zamanlı (REAL TIME)
    • Gerçek Zamanlı Olmayan (BATCH)
  • Mimari Yapısına Göre
    • Çok sayıda STS’den veri toplayıp bir yerde verileri işlemek
    • Tek kaynaktan veri toplayıp aynı yerde verileri işlemek
  • Bilgi Kaynağına Göre
    • Ağ temelli
    • Sunucu temelli
    • Uygulama temelli
  • Veri İşleme Yöntemine Göre
    • Anormallik tespiti temelli
    • İmza Temelli

En çok tercih edilen sınıflandırma kriteri veri işleme yöntemine göre sınıflandırmaktır. Veri işleme yöntemi de kendi içinde Anormallik tespiti temelli ve imza temelli olmak üzere ikiye ayrılır. Anormallik tespitinde normal davranışlar belirlenir ve bu belirlenen davranışlar dışındaki tüm davranışlar tehdit olarak algılanır. Bu yöntem bizi yeni geliştirilen saldırı tekniklerine karşı korumaya alabilirken, diğer taraftan da çok fazla yanlış alarm üretmektedir. İmza temelli ise her davranışın kendine has karakterini temel alır. Daha önceden saldırı imzası sisteme tehdit unsuru olarak kaydedilmiş ise sistem tekrar aynı imza ile karşılaşınca tehdidi tespit edebilir. Eğer yeni geliştirilmiş bir saldırı tekniği ise sistem bunu tehdit unsuru olarak algılamaz.

 

Saldırı Tespit Sistemlerinde Kullanılan Yöntemler

STS’lerin geliştirilmesinde günümüze kadar istatistiksel yöntemlerin dışında, kural tabanlı (rule based), eşik değeri belirleme (threshold value), durum geçiş diyagramları (state transition diagrams), yapay sinir ağları (artificial neural networks), veri madenciliği (data mining), yapay bağışıklık sistemi (artificial immune system), bulanık mantık (fuzzy logic) gibi farklı birçok yaklaşım uygulanmıştır.

Kaçak Giriş Tespit ve Engelleme Sistemleri (IDS/IPS)

IDS genel olarak saldırı tespit sistemidir. Bu sistemde ağ trafiği dinlenir ve daha önceden belirlenmiş güvenlik kurallarıyla uyuşmayan paketleri tespit edilir. Şüpheli olarak tespit edilmiş paket için IDS gerekli yerlere uyarı verebilir. IDS, şüpheli davranışların tespiti, kayıt altına alınması ve analizinde kullanılır.

IPS genel olarak saldırı engelleme sistemidir. IDS gibi çalışır ama şüpheli davranışları kayıt altına almadan ve analiz yapmadan engelleme yapar. Paketlerin sistemdeki hedef makinaya ulaşmasını engeller.

IDS ve IPS genellikle tek başlarına kullanılmaz. IDPS olarak saldırı tespit ve engelleme sistemi olarak beraber kullanılır. Bunun için en iyi örnek ‘SNORT’ olarak gösterilebilir. Yazının ilerleyen kısımlarından bundan bahsedeceğiz ama şimdi IDS türlerinden, saldırı tespit sistemlerinin daha verimli çalışması için ağ topolojisinde bulunması gereken konumundan ve yanlış alarm üretmemesi için yapılması gerekenlerden bahsedelim.

İki temel IDS türü vardır. Bunlardan ilki NIDS yani Network tabanlı IDS. Bütün ağı dinler ve tüm sistemlere gelen – giden paketleri inceleyerek analiz yapar. HIDS (Host tabanlı IDS) ise diğer IDS türüdür. HIDS herhangi bir istemci ya da sunucuya kurulur sisteme gelen – giden saldırılardan haberdar olunmasını sağlar.

Saldırı tespit sitemlerinin konumu tamamen kendi network topolojimize bağlıdır. İstersek birden fazla yerde de konumlandırabileceğimiz gibi aynı zamanda iç ağda mı yoksa dış ağda mı saldırıları belirleyeceğimize de bağlıdır. Örneğin sadece dış saldırı hareketlerini belirleyeceksek ve tek bir routerımız varsa IDS için en uygun yer routerın içi veya firewalldur. Eğer birden fazla internet girişimiz olsaydı her girişe bir IDS kutusu konulması gerekecekti.

IDS, sistemimizi yapılan saldırılara karşı korurken aynı zamanda sistemin güvenliği için kendisini de korumalıdır. Saldırgan sisteme atak yapmadan önce saldırı tespit sistemimizi kapatabilir, yanlış alarm ya da hiç alarm üretmeyecek şekilde ayarlarını bozabilir. Böyle bir durumla karşılaşmamak için aşağıdaki adımları IDS sisteminize uygulayarak sistemin güvenliğini daha da artırabiliriz:

* IDS sensör üzerinde başka hiçbir servis çalıştırılmamalıdır. * Yeni açıklıklar bulunup güncelleştirmelerle kapatıldığı zaman Snort’un üzerinde çalıştığı makinaya da bu güncelleştirmeler yüklenmelidir. * IDS makinasının yapılandırılması ping isteğine yanıt vermeyecek şekilde yapılandırılmalıdır. * Eğer snort, linux makine üzerinde çalışıyorsa, netfilter/iptable ile istenmeyen paketler engellenir. * IDS sadece saldırı tespit için kullanılmalı başka işlemler için kullanılmamalıdır.

Snort ve Bileşenleri

Snort, açık kaynak ağ tabanlı bir IDS’tir. 4.000.000’dan fazla indirme ve yaklaşık olarak 500.000 civarında kayıtlı kullanıcı sayısı ile en fazla tercih edilen saldırı tespit sistemidir. Gerçek zamanlı ağ trafik analizi ve paket loglaması yapabilir. Ağdan dinlediği paketlerde protokol ve içerik analizi yaparak saldırıları tespit eder. Buffer overflow, port tarama, CGI saldırı gibi hareketleri tespit edebilir.

Snort farklı bileşenlerden oluşur ve bu bileşenler beraber çalışarak saldırıları belirler ve çıktı üretirler. Snort tabanlı IDS sistemleri başlıca şu bileşenlerden oluşur:

  • Packet Decoder
  • Preprocessors
  • Detection Engine
  • Logging and Alerting System
  • Output Modules

Bu bileşenlerin çalışma mimarisi aşağıdaki resimdeki gibidir.

Packet Decoder:

Ağ ara yüzünden çeşitli tiplerdeki paketleri alır ve bir sonraki snort bileşeni için hazırlar.

Preprocessors:

Detection Engine’ den önce paketleri ona hazırlar ve paket başlıklarındaki anormalliklere göre saldırı belirlemeye çalışır. Preprocessor genellikle parça parça gelen büyük veri parçalarını bir araya getirmek için çalışır.

Detection Engine:

Snort’un en önemli bileşenlerinden birisidir. Paket içindeki saldırı türlerini belirlemekten sorumludur. Bu saldırıları tespit etme noktasında da snort kurallarını kullanmaktadır. Snort kurallarında belirtilmiş bir saldırı işareti ile preprocessor bileşeninden gelen paket içeriği karşılaştırılır ve tehlikeli bir durum varsa kural başlığında yer alan eylem gerçekleştirilmek için bir sonraki modüle geçilir.

Logging and Alerting System:

Detection engine bileşeni paket içeriğinin hangi kural ile örtüştüğünü tespit etikten sonra kural başlığında belirtilen eyleme göre loglama, uyarı verme gibi işlemler yapar. Loglar tcpdump veya daha başka bir dosya formatında basit bir yazı dosyasına kaydedilebilir. Snortun çalışması için verilen komutta -l parametresi ile loglama yapılacak dizin de belirtilebilir.

Output Modules:

Detection engine bileşeninin çıktılarını yönlendirmemizi veya başka şekillerde kullanmamızı sağlar. Başlangıç olarak genellikle çıktılar /var/log/snort dizinine kaydedilir. Bu modül kullanılarak elde edilen çıktı başka bir hedefe de gönderilebilir.

Output veya ‘Logging and alerting system’ bileşenleri sayesinde üretilen çıktı aşağıdaki şekillerde kullanılabilir.

• Veri Tabanına Kayıt Etmek:

Snort loglarını veri tabanda sistematik bir şekilde tutabiliriz. Örneğin snort çıktılarını bir MySQL veri tabanında tutacağız. Veri tabanın ismi snort olsun kullanıcı adı ‘snort’, şifresi de ‘test’ olsun ve veri tabanı yerel makinada bulunsun. Bu durumda snort.conf dosyasında aşağıdaki gibi bir bildirim bulunmalıdır.

output database: log, mysql, user=snort password=test dbname=snort host=localhost

• SMB pop-up olarak Windows’ a göndermek:
output alert_smb: workstation.list
• Hem SMB Windows’ a göndermek hem de veri tabanına kayıt etmek:

Bazen çıktıların birden fazla yere bildirilmesi gerekebilir. Böyle bir durumda ruletype anahtar kelimesiyle eylemimizi belirleyebiliriz. Örneğin snort.conf dosyasında *’smb_db_alert’* olarak belirlediğimiz bir eylem tipi hem veri tabanına kayıt yapıp hem de SMB pop-up uyarısı verecektir. Bunun için aşağıdaki gibi bir bildirim yapılmalıdır.

 ruletype smb_db_alert

   {

        type alert

        output alert_smb: workstation.list

        output database: log, mysql, user=snort password=test dbname=snort host=localhost

   }

Bu belirlenen aksiyon tipini snort kurallarında kullanırken de aşağıdaki şekilde kullanılır.

smb_ddb_alert icmp any any -> 192.168.1.0/24 any (fragbits: D; msg: “Dont Fragment bit set”;)

 

Snort Platformları

Snort birçok işletim sistemi ve donanım üzerinde çalışabilir. Aşağıdakiler de bunlardan bazılarıdır:

  • Linux
  • OpenBSD
  • FreeBSD
  • NetBSD
  • Solaris
  • HP-UX
  • AIX
  • IRIX
  • MacOS
  • Windows

Çalışma Şekilleri

 

Snort şu üç faklı şekilde çalışması için yapılandırılabilir:

  • Paket İzleme Modu (Packet Sniffing): Ağdan almış olduğu paketleri olduğu gibi tcpdump formatında konsol ekranında gösterir. Bunun için komut olarak “snort -v ” kullanılır.
  • Paket Günlükleme Modu (Packet Logger): Ağdan almış olduğu paketleri belirtilmişş olan dizine kaydeder. Bunun için “snort -dev -l /var/log/snort” komutu kullanılır ve paketler belirtilen dizine kaydedilir.
  • Ağ Sızma Tespit/Engelleme Sistemi Modu (NIDS/NIPS): Snortun en karmaşık modudur. Snort ağı dinlerken daha önceden belirlenmiş kuralları da uygular. “snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf ” komutu ile snort.conf dosyasında belirtilen kurallara göre işlem yapar. (Bir Ağ Güvenlik Aracı Olarak SNORT, -)

Snort İle Kullanılan Eklentiler

 

BARNYARD: Snort’ un ağ dinlerken tuttuğu kayıtların belirli bir şablon dahilinde veri tabanına yazılmasını sağlar.
ADODB: Veri tabanı ile BASE arasındaki bağlantıyı sağlar.
BASE: Barnyard’ın veri tabanına yazdığı snort kayıtlarını, bir web ara yüzünden daha anlaşılır şekilde grafiksel tablolar ile kullanıcıya sunulmasını sağlar.
OINKMASTER: Snort kurallarını düzenlemek için hazırlanmış kullanıcıların işini kolaylaştıran bir araçtır.
PULLEDPORK: Snort kuralları güncellendiği zaman sistemimizdeki snort kurallarını da güncelleyen kullanıcıların işini kolaylaştıran bir araçtır.
SNORTSAM: Güvenlik duvarında otomatik olarak IP engellemesi yapılmasını sağlayan bir snort eklentisidir.
ACID: Saldırı tespit sistemleri tarafından veri tabanına yazılmış verileri alıp işleyip bir web ara yüzünde kullanıcıya sunmayı sağlayan bir PHP tabanlı analiz aracıdır.
SNORBY: Güvenlik durumunu izlemeyi sağlayan ruby on rails ile geliştirilmiş bir web uygulamasıdır. Populer IDS’ler ile beraber çalışabilir.

 

Snort Kuralları ve Yazım Kuralları

Snort’u başarılı bir şekilde kurduktan sonra Snort önceden belirlenmiş kuralları temel alarak sisteme gelen giden paketleri inceler ve buna göre alarm üretip loglama yapar. Snort tarafından üretilen bu alarmların doğrularının yanında yanlış olarak verilmiş alarmlar da vardır. Gerçek saldırılar bu şekilde gözden kaçabilir böyle bir durumla karşılaşmamak için snort kuralları yazılırken çok dikkatli olunmalıdır.

Source Fire tarafından yayınlanan güncel kurallar www.snort.org sitesinden takip edilerek sistem güncel tutulmalıdır. Source Fire firması yeni bulunan herhangi bir saldırı yöntemi, sistem açığı gibi güvenliğimizi tehdit eden durumlarda derhal yeni kurallar yazıp abone olan snort kullanıcılarını bu durumdan haberdar eder. Firmanın yayınlamış olduğu kuralları bedavaya kullanmak isteyen kayıtlı kullanıcılar ise yaklaşık olarak her ay güncellenen kuralları indirip kullanabilir. Bu şekilde kayıtlı kullanıcılar güncel kural takibinde 30 gün geriden gelmektedir.

Snort, çok fazla yanlış alarm üretiyorsa sağlıklı bir saldırı tespiti yapmak için kuralları gözden geçirmek gerektir. Kuralları kendi sistemimize göre ayarlarken sistemimizde açık oluşturmamaya dikkat etmeliyiz ve bu kural düzenleme işinde Oinkmaster aracını kullanarak işimizi kolaylaştırabiliriz.

Kural yazması hem çok kolay hem de saldırıları tespit etmede başarılıdır. Kural yazmaya başlamadan önce örnek bir snort kuralı inceleyerek snort kurallarının genel yapısı hakkında bilgi sahibi olalım. Örnek olarak aşağıdaki gibi bir kuralı inceleyebiliriz.


Snort kuralları kural başlığı ve kural seçeneği olmak üzere iki kısımdan oluşur. Kural başlığı kural eylemi, kural protokolü, hedef ve kaynak ip adresleri ile hedef ve kaynak port bilgilerini bulundurur. Diğer kısım ise hangi durumda belirlenen eylemin gerçekleşeceğini ve alarm mesajı ile ilgili özelliklerin tanımlandığı alanları içerir. Parantez işaretine kadar olan kısım kural başlığını (rule header) oluşturur ve her kuralda bulunması gereken kısımdır. Parantez içerisindeki kısım ise kural seçeneğini (rule options) oluşturur.

Kural Başlığı

Kural eylemi kuralın en başında bulunan, belirlenen durumla karşılaşılınca ne yapılacağını belirleyen kısımdır. Snortta bunun için kullanılabilecek başlıca eylemler şunlardır:

alert:
 belirlenen şekilde alarm üretir ve paketi loglar.
log: paketi direk olarak loglar.
pass: paketi geçirir paket için herhangi bir alarm ya da loglama işlemin de bulunmaz.
drop: paketi engeller ve kaydeder.
reject: paketi engeller, kaydeder ve protokole göre hata mesajı üretir. Örneğin, UDP protokolü kullanılıyor ise ICMP porta ulaşılamadı hata mesajı gönderir.
sdrop: paketi engeller ve kaydetmez.

Ayrıca, Snort’un output modülünde de anlatılmış olan ruletype ile kendimize göre kural eylemleri üretebiliriz.

  • Protokoller

Hangi protokole sahip paketlerin incelemeye alınacağını belirlemek için kullanılır, kural başlığında ikinci sırada bulunur. Snort’ un şu anda güncel olarak saldırı belirlemesi yapabildiği dört protokol vardır. Bunlar TCP, UDP, ICMP ve IP protokolleridir. İlerleyen zamanlarda belki de ARP, IGRP, GRE, OSPF, RIP, IPX gibi protokolleri de kullanabiliyor olacağız.

  • IP Adresleri

Örnek kuralda *$EXTERNAL_NET* ve *$HOME_NET* yazan kısımlardır ve bu kısımlar aşağıdaki gibi olabilir hatta buralara 192.168.1.5 veya 192.1.0/24 gibi IP adresi ve CIDR blok da yazılabilir. Ayrıca, hariç tutmak için kullanılan ‘!’ operatörü de bu kısımlarda kullanılabilir.

alert tcp !192.168.1.0/24 any -> 192.168.1.0/24 any (content: “ICERIK”; msg: “DIŞ AĞDAN”;)

  • Port Adresleri

Port adreslerini, özel olarak belli bir yolu dinlemek için kullanırız. Port numaraları için ayrılmış olan kısımlar daha önceden yazmış olduğumuz kural örneklerinde “any” olarak yazdığımız bölümlerdir. Bu kısımlara 80, 21, 22 gibi port numaraları girerek daha spesifik kurallar da oluşturabiliriz. Çeşitli şekillerdeki kullanımlarını görmek için aşağıdaki kural örneklerini inceleyebiliriz.

KURAL

FONKSIYONU

log udp any any -> 192.168.1.0/24 1:1024

Belirlenen IP aralığındaki herhangi bir makinenin 1 ile 1024 arasında değişen numaralı portlarına gönderilmiş udp protokolünü kullanan herhangi bir IP adresi ve portundan gelen bütün paketleri loglar

log tcp any any -> 192.168.1.0/24 :6000

TCP protokolünü kullanan ve belirlenen IP aralığında 6000 ve daha düşük numaraya sahip portları hedef alan herhangi bir IP ve porttan gönderilmiş bütün paketleri loglar

log tcp any :1024 -> 192.168.1.0/24 500:

Herhangi bir IP den belirlenen IP aralığına giden, TCP protokolünü kullanan ve 1024 numaralı porta kadar olan herhangi bir porttan 500 numaralı ve üzerindeki portları hedef alan paketleri loglar

log tcp any any -> 192.168.1.0/24 !6000:6010

TCP protokolünü kullanan herhangi bir porttan ve herhangi bir IP’ den belirlenen IP aralığına ve 6000 hariç 6010 numaralı porta kadar olan portları hedef alan paketleri loglar

(Writing Snort Rules , -)

 

 

  • Yön Operatörü

İncelenecek olan paketlerin iletim yönünü belirlemek için kullanılır. Bizim sistemimizden çıkan paketleri mi yoksa bizim sistemimize gönderilen paketlerimi inceleceğimizi belirleyebilmek için kullanırız. Üç faklı yön belirleme yöntemi bulunur. Bunlar ‘->’, ‘<-‘, ‘<>’ şeklindedir.

 

Kural Seçenekleri

 

Kural seçenekleri, Snort kurallarına esneklik ve güç kazandırır aynı zamanda bu kuralların en önemli parçasıdır. Kural seçenekleri kısmı oluşturulurken her yazılmış parametreden sonra ‘;’ karakteri konulur. Genellikle snort kurallarında kullanılan başlıca kural seçenekleri aşağıdakilerden oluşmaktadır:

  • msg: alarma ve kaydedilen paket için mesaj yazar.
  • logto: standart log tutulan dosya yerine özel belirlenmiş dosyaya paketi kaydetmek için kullanılır.
  • ttl: IP başlığındaki TTL değerini test etmek için kullanılır.
  • id: IP başlığındaki ID değerini test etmek için kullanılır.
  • content: paket içeriğindeki değeri incelemek için kullanılır.
  • offset: content parametresinin neresinden incelenmeye başlayacağını söylemek için kullanılır.
  • depth: içeriğin ne kadar derinlemesine inceleneceğini düzenlemek için kullanılır.
  • within: ilk content parametresinden sonra ne kadar byte içerisinde diğer content parametresi aranacağını söylemek için kullanılır.
  • flags: TCP bayraklarını kesin değer için test eder.
  • seq: TCP sequence number kısmını test etmek için kullanılır.
  • ack: TCP acknoledgement alanını test etmek için kullanılır.
  • itype: ICMP type alanı için karşıt bir değer belirlemekte kullanılır.
  • icode: ICMP code alanı için karşıt bir değer belirlemekte kullanılır.
  • session: uygulama katmanı için kullanılır.
  • sid: eşsiz, tek snort kuralı tanımlaması yapabilmek için kullanılır. Genellikle ‘rev’ ile kullanılır. * 100’den küçük sayılar gelecekte kullanılmak için ayrılmıştır. * 100-999,999 Aralığını snort dağıtımı ile beraber gelen kurallar kullanır. * 1,000,000 ve yukarısı yerel kurallar için kullanılır.
  • rev: snort kuralı revizyonlarının sayısıdır. Sid ile beraber kullanılır.
  • classification: kuralı snıflandırmak için kullanılır.
  • priority: kurala önem derecesi tanımlamak için kullanılır.
  • resp: udp ve tcp bağlantısı sonlandırmak amaçlı kullanılır.

Yukarıda verilmiş olan kural seçenekleri, sıklıkla kullanılan kural seçeneklerinin bir kısmıdır. Snort kuralları oluşturulurken yazılmak istenen kurala göre kural seçenekleri değişiklik gösterir bu yüzden faklı seçeneklere ihtiyaç duyabilirsiniz. Bu seçeneklerin daha fazlasına erişmek ve örnek kullanımlarını görmek için. http://manual.snort.org/node27.html bağlantısını kullanabilirsiniz.

 

Aktif & Dinamik Kurallar

 

Aktif ve Dinamik kurallar snortun güçlü yönlerinden birisidir. Bu anahtar kelimeler sayesinde çalışan herhangi bir kural başka bir kuralı aktifleştirebilir. ‘activate’ eylem başlığı kullanan bir aktif kural aynı alarm kuralı gibi davranır, sadece tanımlanırken ek olarak kural seçeneği kısmında ‘activates’ parametresi bulunmak zorundadır. Dinamik kural ise ‘dynamic’ eylem başlığını kullanır ve aynı loglama yapan kurallar gibi davranır. Tanımlanırken kural seçeneği kısmında ‘activated_by’ parametresi kullanılmak zorundadır.

activate tcp !$HOME_NET any -> $HOME_NET 143 (flags: PA; content: “|E8C0FFFFFF|/bin”; activates:1; msg: “IMAP buffer overflow!”;)
dynamic tcp !$HOME_NET any -> $HOME_NET 143 (activated_by:1; count:50;)

Bu örnekte Snort’a ‘eğer ev ağı dışından bir IP’den 143 numaralı porta paket gelirse ve IMAP taşması olursa sonraki 50 paketi al ve daha sonra analiz etmek için sakla’ komutunu veriyor. (Snort Rules – Activate/Dynamic Rules, n.d.)

 

Kendi Kurallarımızı Oluşturmak

Snort kuralları oluşturup bu kurallar ile sistemi korumak oldukça kolaydır. Fakat profesyonel seviyede snort kuralları oluşturup saldırı tespit sisteminizi yönetmek için aynı zamanda da TCP/IP, OSI modeli gibi ağ iletişimi, mimarisi ve protokollerini de ileri düzeyde kavramış olmak gerekmektedir.

Basit seviyede snort kuralları yazalım ve bu kuralı sisteme tanıtıp sistemin kuralımıza nasıl cevap verdiğini görelim. Öncelikle kuralımızı yazacağımız kural dosyasını diğer kural dosyalarının olduğu dizine oluşturalım ardından kural başlığı kısmı ile devam edebiliriz.
# nano /etc/snort/rules/zzz.rules

1.Kural Başlığı

  • Eylem -> log
  • Protokol -> TCP
  • Dış ağ -> !IP -> !192.168.2.182
  • Kaynak port -> any
  • Yön -> ‘->’
  • İç ağ -> 192.168.2.182
  • Hedef port -> any

2. Kural Seçeneği için herhangi bir parametre girmemize bu kural için gerek yok. Aşağıdaki kuralı dosyaya yazdıktan sonra kaydedip çıkabiliriz.

log TCP !192.168.2.182 any -> 192.168.2.182 any
Şimdi de kural dosyamızı snort.conf dosyasında yer alan diğer kural dosyalarının arasına ekliyoruz
# nano /etc/snort/snort.conf
‘include $RULE_PATH/zzz.rules’ satırını ekleyip snort.conf dosyasından çıkıyoruz. Snort’u başlattığımızda 192.168.2.182 adresine, 192.168.2.182 dışındaki tüm IP adreslerinden gelen TCP paketleri kaydeder.

Simgeler ve Kısaltmalar

Bu çalışmada kullanılan kısaltmaların, açıklamaları aşağıda verilmiştir.

Kısaltmalar

Açıklama

STS

Saldırı Tespit Sistemi

SES

Saldırı Engelleme Sistemi

IDS

Intrusion Detection System

IPS

Intrusion Protection System

ACID

Analysis Console for Intrusion Databases

NIDS

Network Based Intrusion Detection Systems

HIDS

Host Based Intrusion Systems

RAM

Random Access Memory

IP

Internet Protocol

CDIR

Class Inter-Domain Routing

ISP

Internet Service Provider

LAN

Local Area Network

PDP

Packet Data Protocol

TCP

Transmission Control Protocol

DMZ

DeMilitarized Zone

SNMP

Simple Network Managment Protokol

ICMP

Internet Control Message Protocol

CGI

Common Gateway Interface

IDPS

Intrusion Detection and Prevention System

BASE

Basic Analysis and Security Engine

SMB

Server Message Block

3 Comments

Bir cevap yazın

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