Upload
cunyor
View
118
Download
1
Embed Size (px)
DESCRIPTION
Yasin Kılıç'ın Proje Raporu
Citation preview
BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ
MÜHENDİSLİK FAKÜLTESİ
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
SNORT SALDIRI TESPİT SİSTEMİ
PROJE 2
Danışman: Öğr. Gör. Murat ÖZALP
YASİN KILIÇ
OCAK - 2013
BİLECİK
ÖZET
SNORT SALDIRI TESPİT SİSTEMİ
YASİN KILIÇ
Bilecik Şeyh Edebali Üniversitesi
Mühendislik Fakültesi
Bilgisayar Mühendisliği Bölümü
Danışman: Öğr. Gör. Murat ÖZALP
(2013, 34 Sayfa)
Jüri Üyeleri İmza
Yrd. Doç. Dr. Cihan KARAKUZU …………………..
Yrd. Doç. Dr. Salim CEYHAN …………………..
Öğr. Gör. Murat ÖZALP …………………..
Bu proje, snort saldırı sistemi kurulumu yapıp, trafik analizini gerçekleştirmek ve snortu test etmek için
yapılmıştır.
Anahtar Kelimeler: Snort, IDS, IPS, Test
ABSTRACT
SNORT INTRUSİON DETECTİON SYSTEM
Yasin KILIÇ
Bilecik Şeyh Edebali University
Faculty of Engineering
Department of Computer Engineering
Supervisor: Öğr. Gör. Murat ÖZALP
(2013, 34 Pages)
Members of the Jury Sign
Yrd. Doç. Dr. Cihan KARAKUZU …………………..
Yrd. Doç. Dr. Salim CEYHAN …………………..
Öğr. Gör. Murat ÖZALP …………………..
Bu proje, snort saldırı sistemi kurulumu yapıp, trafik analizini gerçekleştirmek ve snortu test etmek için
yapılmıştır.
Keywords: Snort, IDS, IPS, Test
TEŞEKKÜR
Proje çalışmalarım süresince gerek pratikte, gerekse araştırmalar konusunda
yardımlarını esirgemeyen saygı değer Öğr. Gör. Murat ÖZALP hocama çok teşekkür ederim.
ŞEKİLLERİN LİSTESİ
Şekil Sayfa
Şekil 1. IDS – Intrusion Detection System ....................................................................... 3
Şekil 2. IPS – Intrusion Protection System ....................................................................... 3
Şekil 3. Basit bir ağ topolojisinde Snort STS’nin konuşlandırılması ............................... 6
Şekil 4. NIDS – Network Based Intrusion Detection Systems ............. Hata! Yer işareti
tanımlanmamış.
Şekil 5. WinPcap Uygulamasının Kurulumu ................................................................. 10
Şekil 6. Snort Programı Kurulum Ekranı ........................................................................ 11
Şekil 7. snortrules-snapshot-2922.tar.gz Dosyasının İçeriği ......................................... 11
Şekil 8. snort.conf Temel İçeriği .................................................................................... 12
Şekil 9. Kural Başlığı Ayrıntılı Açıklama ....................................................................... 13
Şekil 10. snort.conf Dosyasının Bulunduğu Dizin .......................................................... 14
Şekil 11. "snort.conf" dosyasının "Notepad++" içerisinden görünümü .......................... 14
Şekil 12. Snort.conf yapılandırma dosyası - 1 ................................................................ 15
Şekil 13. Snort.conf yapılandırma dosyası - 2 ................................................................ 15
Şekil 14. Snort.conf yapılandırma dosyası - 3 ................................................................ 16
Şekil 15. Komut İstemi Penceresi ................................................................................... 16
Şekil 16. Snort.conf yapılandırma dosyası - 4 ................................................................ 17
Şekil 17. Snort.conf yapılandırma dosyası - 5 ................................................................ 17
Şekil 18. Snort.conf yapılandırma dosyası - 6 ................................................................ 18
Şekil 19. Snort.conf yapılandırma dosyası - 7 ................................................................ 18
Şekil 20. Snort kayıtlarının kaydedileceği dosyanın yapılandırılması ............................ 19
Şekil 21. Snort.conf yapılandırma dosyası - 8 ................................................................ 19
Şekil 22. Snort.conf yapılandırma dosyası - 9 ................................................................ 20
Şekil 23. Dosya Uzantısı Gizle Ekranı ............................................................................ 20
Şekil 24. white_list.rules Dosyasını Oluşturduk ............................................................. 21
Şekil 25. Snort.conf yapılandırma dosyası - 10 .............................................................. 21
Şekil 26. Snort.conf yapılandırma dosyası - 11 .............................................................. 22
Şekil 27. Snort.conf yapılandırma dosyası - 12 .............................................................. 22
Şekil 28. Yardım Penceresi ............................................................................................. 23
Şekil 29. “cd” komutu ile yerel dizine geçilir. ................................................................ 24
Şekil 30. interface no ...................................................................................................... 24
Şekil 31. Akan Trafik ...................................................................................................... 25
Şekil 32. Ayrıntılı Trafik ................................................................................................. 26
Şekil 33. Daha Ayrıntılı Trafik ....................................................................................... 26
Şekil 34. Uygulama Katmanı .......................................................................................... 27
Şekil 35. Çalışır durumda Snort ekran görüntüsü ........................................................... 28
Şekil 36. Log Kısmı ........................................................................................................ 28
İÇİNDEKİLER
ÖZET I
ABSTRACT .................................................................................................................... II
TEŞEKKÜR ................................................................. Hata! Yer işareti tanımlanmamış.
ŞEKİLLERİN LİSTESİ .............................................................................................. III
İÇİNDEKİLER ............................................................................................................. IV
1. GİRİŞ .................................................................... Hata! Yer işareti tanımlanmamış.
2. SALDIRI TESPİT VE ENGELLEME SİSTEMLERİ ......................................... 2
2.1. Genel Bilgi ......................................................................................................... 2
2.1.1. Anormallik tespiti ...................................................................................... 2
2.1.2. Kötüye kullanım tespiti ............................................................................. 2
3. IDS – Intrusion Detection System ........................................................................... 2
4. IPS – Intrusion Protection System .......................................................................... 3
5. IDS/IPS YERLEŞİMİ .............................................................................................. 3
6. SNORT ...................................................................................................................... 4
6.1. TCP/IP Protokolü Nedir? ................................................................................ 4
6.2. Snort Bileşenleri ................................................................................................ 6
6.3. Snort Çalışma Modları ..................................................................................... 6
6.3.1. Sniffer modu .............................................................................................. 6
6.3.2. Paket kaydedici modu ............................................................................... 6
6.3.3. NIDS – Network Based Intrusion Detection Systems ............................ 7
6.4. Gerekli Araçlar ................................................................................................. 7
6.5. Snort’u Kurulduğu Bilgisayarın İşletim Sistemi ve Özellikleri ................... 8
6.6. Snort Kurulumu İçin Gerekli Olan WinPcap Programının Kurulması .... 8
6.7. Snort Kurulumu İçin İzlenecek Adımlar ....................................................... 9
7. TEMEL SNORT YAPILANDIRMASI ................................................................ 11
7.1. Ön İşlemciler (Preprocessors) ....................................................................... 11
7.2. Kural Başlığı ve Kural Seçenekleri .............................................................. 12
7.3. snort.conf Yapılandırması ............................................................................ 12
8. SNORT TEST ......................................................................................................... 24
9. SONUÇLAR ........................................................................................................... 33
KAYNAKLAR ............................................................................................................... 34
ÖZGEÇMİŞ ................................................................................................................... 35
SİMGELER VE KISALTMALAR
Bu çalışmada kullanılmış simgeler ve kısaltmalar, açıklamaları ile birlikte aşağıda
sunulmuştur.
Kısaltmalar Açıklama
STS Saldırı Tespit Sistemi
IDS Intrusion Detection System
IPS Intrusion Protection System
NIDS Network Based Intrusion Detection Systems
HIDS Host Based Intrusion Systems
RAM Random Access Memory
IP Internet Protocol
ISP Internet Service Provider
LAN Local Area Network
PDP Packet Data Protocol
TCP Transmission Control Protocol
DMZ DeMilitarized Zone
1. GİRİŞ
Günümüz modern insanının hayatı iki farklı dünyadan oluşmaktadır. Bu dünyalardan biri
fiziksel olarak yaşadığımız sosyal hayatımız diğeri de en az sosyal hayat kadar vakit
geçirdiğimiz ve bağımlı olduğumuz siber dünyadır. Siber dünyanın sunduğu olanaklar
arttıkça, gerçek hayattaki bir çok işlev siber/sanal versiyonuyla yer değiştirmektedir ki bu da
insanların siber dünyaya daha fazla bağımlı olmasına sebep olmaktadır. Siber dünya kavramı
detaylı olarak incelenirse bu dünyanın iki farklı profilde insanlara olanak sağladığı ortaya
çıkacaktır. Profillerden biri işlerini daha rahat yapabilmek için siber dünyanın olanaklarını
kullanan masum vatandaş, diğeri de bu dünyayı kötü amaçlı kullanmak isteyen suç şebekeleri.
2000’li yıllardan itibaren işlenen suçlar yakından incelenirse siber dünyanın -dolayısıyla da
bilişimin- suç örgütleri tarafından ciddi bir şekilde kullanıldığı görülecektir
Bu dokümanın amacı bir tür Saldırı Tespit Sistemi (Intrusion Detection System) olan Snort.
2.9.2.3’nın Windows 7 Home Premium işletim sistemi üzerine kurulabilmesini sağlamaktır.
2. SALDIRI TESPİT VE ENGELLEME SİSTEMLERİ
2.1. Genel Bilgi
Sisteme değişik amaçlarla dışarıdan sızan veya sızmaya çalışan saldırganları ve sistem
kaynaklarını uygunsuz ya da yetkilerini aşan biçimde kullanan kullanıcıları tespit etmeyi
amaçlayan sistemlerdir.
Ağ bazındaki saldırıları tespit eden sistemlere: Ağ Tabanlı Saldırı Tespit Sistemleri(Network
Based Intrusion Detection Systems – NIDS)
Tek bir bilgisayar sistemine yapılan saldırıları tespit eden sistemlere ise Bilgisayar Tabanlı
Saldırı Tespit Sistemleri (Host Based Intrusion Systems – HIDS) denir.
Saldırı tespit sistemleri çalışma mantığına göre ikiye ayrılır;
2.1.1. Anormallik tespiti
Normal ve anormal davranış mantığına göre çalışır. Normal koşullar altında belirli bir süre
öğrenmesi için çalıştırılması gerekir. Sistem öğrendiği dışında meydana gelen olaylarda alarm
verir. Günümüzde bu model çok sayıda yanlış alarm ürettiği için ve Normal davranış
tanımlama evresinin çok zahmetli ve saf olmadığından tercih edilmez [1]
2.1.2. Kötüye kullanım tespiti
Bu modelde saldırılar önceden sisteme tanıtılmıştır. Devamlı olarak akan ip trafiğini dinler,
Paketleri kendi elinde tanımlanmış saldırı kuralları ile karşılaştırır. Eğer aksi bir durum
meydana gelirse alarm üretir. Tabi ki saldırı kurallarının da devamlı olarak takip edilip
güncellenmesi gerekir.[2]
3. IDS – Intrusion Detection System
IDS gelen ve giden trafiği inceler. Güvenlik duvarlarının yetersizliği sonrası IDS kavramı
ortaya çıktı. Alarm sistemlerinde öncelikli hedef saldırının belirlenmesidir, saldırının
engellenmesi değil. Hattı sadece dinlediği için hatta bir yavaşlığa yol açmamaktadır.
Şekil 1. IDS – Intrusion Detection System
4. IPS – Intrusion Protection System
IDS yeteneği vardır. Sadece belirlemek yetmez, engellemek lazım düşüncesinin ve piyasanın
istekleri sonucu ortaya çıkmış bir teknoloji. Yeterli önem verilmediği takdirde etkisiz eleman
rolünü iyi oynar. Karmaşık web ataklarına karşı yeterli koruma sağlayamıyor.
Şekil 2. IPS – Intrusion Protection System
5. IDS/IPS YERLEŞİMİ
Günümüzde güvenlik duvarları bütünleşik olarak IDS/IPS mekanizmalarına sahip oldukları
gibi, bu sistemler ayrı olarak da kurulabilmektedir. İyi yapılandırılmış bir IDS/IPS sistemi;
ağı pek çok kötü yazılımdan izole edebileceği gibi, sorunun kaynağını tespitini de
hızlandırmaktadır. Ancak bu sistemlerin iyi bir şekilde ayarlanmaması ve devamlı takip
edilmemesi, yanlış tespitler sonucu sorununu da çıkarabilmektedir. Bu sistemler için, ticari
çözümler kullanabileceği gibi Snort gibi açık kaynak koduna sahip çözümler de kullanılabilir.
[3]
Ağın durumuna göre yerleşim önemli
• Firewall Önü
– Yüklü miktarda uyarı, gereksiz trafik
– Tehditleri daha iyi belirler
• Firewall arkası
– Sadece firewall’an geçen paketler, trafik yoğunluğu az
– Tehditleri daha az belirleyebilir.
6. SNORT
Snort dünyada en fazla tercih edilen açık kaynak kodlu IDS/IPS yazılımıdır. Snort’u kişisel
bilgisayarda ve gigabit ağlara kadar her ortamda kullanabiliriz. Snort eğer iyi yapılandırılırsa
iş ortamlarında en az diğer rakipleri kadar başarılı olur. Günümüzde Snort’un kullanımı
genelde IPS olarak değil IDS olarak yaygındır. Snort yüksek trafiklerde iyi bir şekilde
konfigüre edilmelidir.
İlk aşamada saldırı tespit ve engelleme sistemlerinin temeli olan TCP/IP bilgisi iyi değil ise
ileri seviyeye taşımak gerekiyor. [4]
6.1 TCP/IP Protokolü Nedir?
TCP/IP, her geçen gün değişen, gelişen ve içinde birçok ağlararası iletişim (internetworking)
protokolleri barındıran bir protokol yığıtıdır. Amerikan Savunma Bakanlığı tarafından nükleer
savaş durumunda bile çalışabilecek bir sistem olarak tasarlanmıştır. Daha çok akademik
ortamlarda geliştirilen bu protokol, firmalardan bağımsız olduğu için dünya çapında farklı
sistemler arasında iletişim için (yani Internet’te) en yaygın kullanılan protokoldür. TCP/IP,
Internet’i yaratan protokoldür dersek yanlış olmaz. TCP/IP Protokol yığıtı, OSI modelin 7
katmanına karşılık gelen 4 katmandan oluşmaktadır:
• Uygulama: OSI’nin son üç katmanlarına (5-6-7) karşılık gelir
• Transport: Güvenilirlik, akış (flow) kontrolü ve hata düzeltme gibi servis
kalitesini belirleyen parametrelerle uğraşır. Bağlantılı (TCP) ve bağlantısız (UDP)
servisleri içerir.
• Internet: Amaç izlenen yollardan ve ağlardan bağımsız olarak hedef cihaza veri
iletiminin sağlanmasıdır. Yol (path) belirleme ve veriyi o yola yönlendirmek
(routing) için paket anahtarlama bu seviyede yapılır. IP protokolü kullanılır.
• Network Access: OSI’nin ilk iki katmanına (1-2) karşılık gelir. [5]
Şekil 3. Basit bir ağ topolojisinde Snort STS’nin konuşlandırılması
6.2. Snort Bileşenleri
Libpcap : Snort’un Ethernet kartından ham verileri almasına yarayan bileşen.
Decoder: Libpcap’in gönderdiği 2. katman verisini ayrıştırarak(2.katman için Ethernet,
802.11, 3. katman için IP, ICMP ,4. katman için tcp/udp gibi) ve bir üst katmana sunar.
Preprocessor: Çözümlenmiş paketleri Snort’un anlayacağı daha anlamlı parçalar haline
getirir. Snort yapılandırma dosyasından aktif edilebilir ya da devre dışı bırakılabilir. Mesela
port tarama aktif hale getirilirse Snort port tarama işlemlerini başarı ile yakalayacaktır.
Detection Engine: Snort’un kalbi olarak da nitelendirilebilecek bu bileşen paket decoder ve
prep. bileşenlerinden gelen paketleri detection pluginlerini ve önceden belirlenmiş saldırı
imzalarını kullanarak 4. katman ve üzerinde işleme sokar.
Output: Snort tüm bu işlemler sonucu bir uyarı verir ve bu uyarıyı kaydeder. Output plugini
bu uyarının nasıl olacağı ve nereye kaydedileceği konusunu yönetir. Çeşitli output pluginler:
Mysql, Oracle , syslog , ikili dosya formatı ve text dosyadır. [6]
6.3. Snort Çalışma Modları
6.3.1. Sniffer modu
Ağ trafiğini izleme modudur. Bu modda çalıştırmak için aşağıdaki
komutlar kullanılabilir;
Snortu, sadece geçen paketleri izlemek üzere sniffer modda çalıştırabiliyorsunuz. Bu şekilde
network aktivitelerini inceleme şansınız oluyor. [7]
6.3.2. Paket kaydedici modu
Kayıt işlemlerini kütük dosyası şeklinde yapan çalışma şeklidir. Paketleri diske loglamak için
kullanılan mod.
Çeşitli formatlarda paket kaydetme
Örnek,
– snort -dev -l ./log -h 192.168.0.0/24
Loglama seçenekleri
– -d paketin veri kısmını da kaydetmek için
– -e Layer2 başlıklarını kaydetmek için
– -l Loglamanın hangi dizine yapılacağını belirtir
6.3.3. NIDS – Network Based Intrusion Detection Systems
Olay kaynağı olarak ağ üzerinden akan paketler kullanılır. Genel geçer kullanım alanı olan,
sızma girişimlerini tespit etme modu. Bu modda, snort veri akışını analiz ederek daha
önceden tanımlanmış kurallarla eşleştirme işlemi yapıp ilgili kurallarda belirtilmiş
aksiyonların uygulanmasını sağlıyor. [8]
Şekil 4. Ağ Tabanlı Saldırı Tespit Sistemleri
6.4. Gerekli Araçlar
Gerekli uygulamaları indiriyoruz.
Snort_2_9_2_3_Installer.exe http://www.snort.org
Snortrules-snapshot-2922.tar.gz http://www.snort.org
WinPcap_4_1_2.exe http://www.winpcap.org
6.5. Snort’u Kurulduğu Bilgisayarın İşletim Sistemi ve Özellikleri
Windows 7 Home Premium
32 Bit
3GB RAM
6.6. Snort Kurulumu İçin Gerekli Olan WinPcap Programının Kurulması
WinPcap Win32 platformunda paket yakalama ve ağ analizi için açık kaynak kodlu bir
kütüphanedir. Bazı uygulamaların ağdaki paketlere direk erişmesi gerekir. WinPcap'in amacı
da bu tip erişimi Win32 uygulamalarına sağlamaktır. Örnek olarak ağ trafiği hakkında
istatistiki bilgi toplama [9]
WinPcap sürüm 4.1.2 yüklemek için izlenecek adımlar:
WinPcap_4.1.2.exe üzerine çift tıklayın
WinPcap ekran>Sonraki
>Sonraki ekran Hoşgeldiniz.
Lisans ekran> l düğmesine Agree üzerine tıklayın> tıklayın Son’u.
Şekil 5. WinPcap Programı Kurulum Ekranı
6.7. Snort Kurulumu İçin İzlenecek Adımlar
Snort’u C:\Snort dizinine kuruyoruz.
” Snort_2_9_2_3_Installer.exe”çift tıklıyoruz.
Lisans Sözleşmesi ekranı , Kabul Ediyorum düğmesine tıklayın
Bileşenleri seçin ekranı
o 1.Tüm bileşenler kontrol edip İleri’yi tıklayın.
Yükleme konumunu seçiyoruz.
o 1.Varsayılan yükleme konumu not edin ve Kabul>İleri’yi tıklayın.
Kapat’ı tıklatın>Tamam’ı tıklatın.
Şekil 6. Snort Programı Kurulum Ekranı
Kurulum sonrası Snortrules-snapshot-2922.tar.gz sıkıştırılmış dosyanın içindeki rules
dosyasının içeriğini
C:\Snort\rules içine kopyalıyoruz.
Şekil 7. snortrules-snapshot-2922.tar.gz Dosyasının İçeriği
7. TEMEL SNORT YAPILANDIRMASI
Tüm yapılandırmayı tek dosyadan: Snort.conf (C:\Snort\etc)
İçerisinde bulunan kısımlar:[10]
Değişkenler
Ön İşlemciler
Çıkış Eklentileri
Harici Eklemeler
Kurallar
Şekil 8. snort.conf Temel İçeriği
7.1. Ön İşlemciler (Preprocessors)
Packet Decode -->Preprocessors -->Detection Engine
Amaç: Paket normalleştirme
– Ip defragmentation
– Portscan Algılama
– Web trafik normalleştirme vs
Temel Kullanımı
– preprocessor <name>: <options>
Sık Kullanılan Ön işlemciler: Frag3, Stream4, Portscan, Telnet Decode, HTTP Inspect, SSH,
DNS vs.
7.2. Kural Başlığı ve Kural Seçenekleri
Snort kural tanımlama dilinde her bir kural iki kısımdan oluşur: Kural başlığı ve Kural
seçenekleri. Kural başlığı beş bölümdür; kural tepkisi (saldırı tespit edildiğinde verilecek
tepki), uçlar arasındaki kaynak ve hedef bilgisi (protokole özgü kaynak ve hedef IP adresleri
ve port numaraları), trafik akış yönü bilgisi ve protokol türü (TCP, UDP veya ICMP).
Şekil 9. Snort Kural Yapısı
Kural başlığı: paketin nerden gelip nereye gittiğine ,çeşidine(tcp, udp, icmp, ip vs.) ve kurala
uyan paketlerin akibetine karar verir.
Kural seçenekleri, belirtilen kötüye kullanım işleminin gerçekleşip gerçekleşmediğine karar
vermede kullanılan çeşitli koşullardan oluşur. Örnek bir Snort kuralı Şekil-9’de verilmektedir.
Her kuralın ilk alanı eylemdir. Şekil-9’daki kuralda seçilen eylem ‘alert’tir. Bunun anlamı
kuralda belirtilen kriterle eşleşen bir giriş geldiğinde, bir alarm oluşturulacağıdır. Sonraki alan
protokol bilgisini göstermektedir. Örnek kuraldaki protokol TCP’dir. Üçüncü ve dördüncü
alanlar kaynak adreslerden oluşur; ilk kısım IP adresi, ikinci kısım kaynak port numarasıdır.
Eğer bu alanda “any any” şeklinde değerler bulunuyorsa bu, paketlerin herhangi bir IP
adresinden ve herhangi bir TCP portundan gelebileceğini gösterir. Beşinci alan bilgi akış
yönünü göstermektedir. Altıncı ve yedinci alanlar hedef adreslerden oluşur. Örnek kuraldaki
hedef IP adresi 10.1.2.0/24 olarak verilmiştir ve ilgili bir ağdaki bütün IP adreslerini eşler. Bu
örnekte TCP hedef portu 25 olarak ayarlanmıştır. 25 numaralı port, Simple Mail Transfer
Protocol (SMTP) için kullanılmaktadır [6]. Hedef adresi takiben parantez içinde seçenekler
listesi bulunmaktadır. Her seçenek bir seçenek ismi, varsa seçenek değeri ve seçeneğin bitişini
gösteren bir noktalı virgülden oluşur. Şekil- 9’da gösterilen kuralda ilk seçenek ‘msg’dir ve
eylem mesajını belirtmek için kullanılmıştır. İkinci seçenek olan ‘content’, bir şablon eşleşme
kriterini belirtmektedir. Örnekte girişin veri alanı kısmında ‘expn root’ karakter dizisi
aratılmaktadır. TCP veri alanında bu karakter dizisine rastlandığı zaman, koşul gerçekleşmiş
olur. Bu kriterlerden birinin bile sağlanmaması halinde alarm üretilmez. [11]
7.3. snort.conf Dosyasının Yapılandırması
Snort ile ilgili tüm ayarlamalar "snort.conf " dosyasından yapılmaktadır. "snort.conf"
dosyasında ilk olarak ağ ayarlarının yapıldığı bölüm bulunmaktadır. Bu bölümde mümkün
olduğunca ayrıntılı yapılandırılma yapılmasında yarar vardır. Snort ağ yapısını ne kadar iyi
bilirse o kadar performanslı çalışacak ve daha az “false positive” üretecektir.
"snort.conf" dosyasında IP adresleri "ipvar", port adresleri "portvar", genel bir değişken ise
"var" anahtar sözcüğü kullanılarak tanımlanmaktadır. Korumaya çalıştığımız ağ
“HOME_NET”, saldırı beklediğimiz ağ “EXTERNAL_NET” olarak tanımlanmıştır.
Korumaya çalıştığımız sunucularımız için gerekli değişkenler de burada tanımlanmıştır.
Bir varlık veya ağ adresi için IP adresi tek başına veya liste olarak tanımlanabilir. Ağ adresleri
için CIDR notasyonu da kullanılabilir. Liste veya CIDR notasyonu kullanılması durumunda
bu yapılandırma “[]” arasında ifade edilir. Bir ağ veya IP listesinin dışındakiler ifadesi için “!”
sembolü kullanılabilir.
ipvar HOME_NET [1.1.1.1, 192.168.1.0/24, ![192.168.1.10, 192.168.1.11] ] .
Bu örnekte ev adresimiz 1.1.1.1 IP adresinden ve 192.168.1.0/24 ağından oluşmaktadır ancak
192.168.1.10 ve 192.168.1.11 IP adresleri ev ağımıza dahil değildir denilmiş olunur. [11]
Şekil 10. snort.conf Dosyasının Bulunduğu Dizin
Şekil 11. "snort.conf" dosyasının "Notepad++" içerisinden görünümü
Aşağıda “ipvar”lar “var” haline getiriliyor. Değiştirmek zorunda değiliz.”ipvar” İPv6 ‘yı ve
İPv4 destekliyor. İPv4 kullandığımızdan dolayı “var” yeterli.
Şekil 12. snort.conf Yapılandırma Dosyası - 1
Kuralların bulunduğu yerin yapılandırma dosyasında tanımlanması gerekmektedir.
Yapılandırma dosyasında "RULE_PATH”, “SO_RULE_PATH” ve
“PREPROC_RULE_PATH” değişkenleri kuralların bulunduğu dizine göre düzenlenir.
Şekil 13. snort.conf Yapılandırma Dosyası - 2
Slaş’ların tersini alıyoruz. Windows üzerinde yaptığımızdan dolayı uygulamayı.
"WHITE_LIST_PATH" ve "BLACK_LIST_PATH" değişkenlerinin de ayarlanması
gerekmektedir. Yapılandırma dosyasında “WHITE_LIST_PATH” ve
“BLACK_LIST_PATH” değişkenleri whitelist.rules ve blacklist.rules dosyalarının içinde
bulunduğu dizini göstermelidirler. Bu dosyalar C:\Snort\rules dizini altında olacaktır.
Şekil 14. snort.conf Yapılandırma Dosyası - 3
Komut İstemi penceremizden ekranda işaretli kısmı kopyalık. Kopyaladığımız kısmı bir altta
belirtilen kısma yapıştırdık.
Şekil 15. Komut İstemi Penceresi
Şekil 16. snort.conf Yapılandırma Dosyası - 4
Zaman ve boyut kısımlarını sildik.
Şekil 17. snort.conf Yapılandırma Dosyası – 5
247. satırı ‘#’ karakteri ve ‘directory’ kısımlarını silip, kalan kısmı ise kopyalayıp aşağıda
belirtilen satırlara ekliyoruz. snort.conf ‘da yer alan ön işlemciler(Preprocessors) kısmında ki
düzenlemeyi ifade ediyor.
Şekil 18. snort.conf Yapılandırma Dosyası - 6
Aşağıda da belirtilen satırlarda ki ön işlemciler satır başına “#” karakteri eklenerek aktif
durumdan pasif durumuna aldık.
Şekil 19. snort.conf Yapılandırma Dosyası - 7
Yapılandırma dosyasında ilk olarak ayarlanması gereken bölümlerden birisi de çıktı (output)
ayarlarının yapıldığı bölümdür. Snort farklı formatlarda çıktı üretme yeteneğine sahiptir. Bu
formatlar kısaca şöyledir:
alert_fast: Tek satırdan oluşan, IP başlıkları gibi ayrıntılı bilgiler içermeyen kısa formatta
çıktılardır
alert_full: IP başlıklarını da içeren ayrıntılı formatta çıktılardır.
log_tcpdump: tcpdump formatında çıktılardır.
alert_syslog: Çıktılar bir syslog sunucuya gönderilebilir.
database: Snort çıktıları veritabanına yazabilir. Ancak performans nedenlerinden dolayı
Snort’un kayıtlarını veritabanına yazması tavsiye edilmemektedir. Veritabanına yazma işlemi
barnyad2 uygulaması ile yapılabilir.
unified: Snort’un hızlı bir şekilde logları kaydetmesi için geliştirilmiş, binary formattaki çıktı
türüdür.
unified2: unified formatının yerine geliştirilmiştir. unified formatındaki çıktılar ile aynı
performansta çalışır ancak kayıt formatı birazcık farklıdır. Barnyard2 unified2 formatını
kullanır.
Belirtilen çıktı formatlarından bizim kullanacağımız çıktı formatı Snort’un performanslı
çalışabilmesi için geliştirilmiş alert_fast formatıdır. [11]
Snort tüm bu işlemler sonucu bir uyarı verir ve bu uyarıyı kaydeder. Output plugini bu
uyarının nasıl olacağı ve nereye kaydedileceği konusunu yönetir.543. satırda uyarının fast
olacağını ve alerts.ids’ye kaydedeceğimizi ifade ediyor.
Şekil 20. Snort kayıtlarının kaydedileceği dosyanın yapılandırılması
Şekil 21. snort.conf Yapılandırma Dosyası - 8
Şekil 22. snort.conf Yapılandırma Dosyası – 9
C:\Snort\rules dizininde white_list.rules kural dosyasını oluşturuyoruz. Oluştururken dosya
uzantılarını gizlemeliyiz aksi durumda metin belgesi (.txt ) uzantılı olarak algılıyor.
Şekil 23. Dosya Uzantısı Gizle Ekranı
Bu işlemlerden sonra “C:\Snort\rules “ dizini altında white_list.rules ve black_list.rules
dosyalarının bulunup bulunmadığı test edilir. white_list.rules dosyası burada olmadığı için bu
dosya oluşturulur.
Şekil 24. white_list.rules Dosyasını Oluşturduk
Yapılandırma dosyasında yapılabilecek bir başka ayar kuralların yazılı olduğu alt kısımda
istenen kuralların aktif edilmesi, istenmeyen kuralların da kapatılmasıdır. Basit olarak bir
kuralın, örnek olarak ICMP ile ilgili kuralların tamamı kapatılmak istenirse kuralın tanımlı
olduğu satırın başına “#” koymak yeterli olacaktır.
Şekil 25. snort.conf Yapılandırma Dosyası - 11
Bu durumda ICMP ile ilgili kuralların tamamı kapatılmış olur. ICMP başlığı altındaki tüm
kuralların kapatılması yerine bazı kuralların kapatılması istenirse ICMP kurallarının tanımlı
olduğu dosya içerisinde (örneğin "C:\Snort\rules\ icmp.rules" dosyası) istemediğimiz kuralları
kapatmak için kuralın başına “#” eklemek, istediğimiz kuralları açmak için kuralın başındaki
“#” ı kaldırmak yeterlidir. Bu durumda snort.conf dosyasında ICMP ile ilgili kuralın aktif
olması gereklidir.
Şekil 26. snort.conf Yapılandırma Dosyası – 12
Şekil 27. snort.conf Yapılandırma Dosyası - 13
SNORT TEST
C:\>Snort\bin\snort ve C:\>Snort\bin\snort -? Yardım penceresini görüntüler.
Şekil 1
Genel olarak kullanılan komutlar.
Seçenekler Anlamı
-c ana yapılandırma dosyasını belirtir
-l log dosyası
-v Verbose modu
-i İnterface numarasını belirtir
• Komut İstemi penceresi açın ve şunu yazın:
cd c:\snort\bin
Şekil 26 “cd” komutu ile yerel dizine geçilir.
• Interface Numarası
snort –W
Şekil 27
• snort-v-i 2 (2 bizim interface numaramız.)
Snort servisinin çalıştığını test etmek amacıyla Snort sniffer modunda çalıştırıldığında
aşağıdaki gibi bir çıktı olacak ve Snort'un dinlediği trafik görünecektir. [12]
Şekil 28
Snort dışına çıkın:
• ctrl + c
Daha ayrıntılı dinleme için şu komut kullanılır
C:\>snort -vd –i 2
C:\snort\bin>snort – d
-d=Uygulama katmanındaki paketlerin verilerini göstermek için.Snort dinleyicisi
Şekil 29
-e=bağlantı katmanı içinde paket verilerini görüntülemek için
-v=verbose mode
-V Ayrıntılı saldırı verileri vurgulamak ve tüm verileri gösterir
IDS Modunda Snort
Burada “-c” parametresi ile hangi yapılandırma dosyasının kullanılacağı belirtiliyor.
C:\Snort\bin>snort -c c:\snort\etc\snort.conf -l c:\snort\log -K ascii
-c =Yapılandırma dosyasını kullanıyoruz(kural dosyasını kullanmak için)
-l =Dizin rehberi.
-K =Logging mode.
Eğer tüm adımları doğru tamamlamışsanız gördüğünüz ekran aşağıdaki gibi olmalıdır.
Şekil 30 Çalışır durumda Snort ekran görüntüsü
C:\Snort\bin>snort -c c:\snort\etc\snort.conf -l c:\snort\log -i 2
ayrıntılı modda Snort çalışır ve Snort kurulum dizini altında günlük olarak adlandırılan
dizinin tüm bulguları kaydeder.
Şekil 37 alerts.ids
T ve –e parametreleri kullanılarak yakalanan paketlere ait sadece belirli alanların ekrana
basılması sağlanabilir( kaynak_ip hedef_ip port_numarası vs).
9. SONUÇLAR
Bu dökümünda snort Windows işletim sistemi üzerine kurulumu test kısmı ve saldırı tespit
sistemleri ile ilgili genel bilgiler içermektedir..İlk aşamada saldırı tespit ve engelleme
sistemlerinin temeli olan TCP/IP bilgisi iyi değil ise ileri seviyeye taşımak gerekir.
KAYNAKLAR
[1] http://www.bga.com.tr/calismalar/ip_forensic.pdf [Ziyaret Tarihi: 05 Ocak 2012]
[2] www.uyarer.com/linux/snort.odp [Ziyaret Tarihi: 05 Ocak 2012]
[3] http://web.itu.edu.tr/~akingok/ab08/ZararliYazilimlarlaMucadele_AB08.pdf [Ziyaret
Tarihi: 05 Ocak 2012]
[4] http://web.itu.edu.tr/~akingok/ab08/ZararliYazilimlarlaMucadele_AB08.pdf [Ziyaret
Tarihi: 05 Ocak 2012]
[5] http://web.itu.edu.tr/~akingok/ab08/ZararliYazilimlarlaMucadele_AB08.pdf [Ziyaret
Tarihi: 05 Ocak 2012]
[6] http://seminer.linux.org.tr/wp- tent/uploads/senlik07_acikod_saldiri_tespit_engelleme.pdf
[Ziyaret Tarihi: 05 Ocak 2012]
[7] http://www.syslogs.org/snort_inline-kurulumu/ [Ziyaret Tarihi: 05 Ocak 2012]
[8] http://seminer.linux.org.tr/wp-content/uploads/snort.pdf [Ziyaret Tarihi: 05 Ocak 2012]
[9] http://www.sorsana.co/132/winpcap-nedir#axzz2HWFXgLzE [Ziyaret Tarihi: 05 Ocak
2012]
[10] http://security.metu.edu.tr/Documents/linuxguvenligi.txt [Ziyaret Tarihi: 05 Ocak 2012]
[11] http://www.bilgiguvenligi.gov.tr/saldiri-tespit-sistemleri/snort-2.9.2-kurulumu-1.html
[Ziyaret Tarihi: 05 Ocak 2012]
[12] http://www.cozumpark.com/blogs/gvenlik/archive/2010/11/28/tshark-kullanarak-paket-
analizi.aspxv [Ziyaret Tarihi: 05 Ocak 2012
ÖZGEÇMİŞ
KİŞİSEL BİLGİLER
Adı Soyadı : Yasin KILIÇ
Uyruğu : T.C
Doğum Yeri ve Tarihi : Yıldızeli 11.09.1991
Adres :
BEŞİKTAŞ MAH. MAVİ KENT SİTELERİ C BLOK
DAİRE NO:6
MERKEZ/BİLECİK
Telefon : 507 591 03 40
e-mail : [email protected]
EĞİTİM
Lise : AKDAĞMADENİ LİSESİ
Üniversite : BİLECİK ÜNİVERSİTESİ
İLGİ ALANLARI: C# ve C programlama
YABANCI DİLLER: Orta düzey İngilizce