spacer.png, 0 kB
Bilgi için: bilgi at bilgiguvenligi gov tr   

 

spacer.png, 0 kB
spacer.png, 0 kB
Snort 2.8.6 Saldırı Tespit Sistemi - 2 Yazdır E-posta
Metin Uzuner, TÜBİTAK - UEKAE   
29.07.2010

Bu dokümanda Snort’un daha performanslı çalışabilmesini sağlamak için Snort’un ürettiği ikazları okunabilir hale getiren Barnyard programının kurulum adımları anlatılacaktır. Ayrıca üretilen kayıtların (logs) MYSQL veritabanında saklanması ve bu kayıtların izlenmesinde kullanılan Basic Analysis and Security Engine’in (BASE) uygun şekilde yapılandırılmasından bahsedilecektir.

BASE VE ADODB’NİN KURULMASI

Bu adımda BASE ve ADOdb’nin çalışabilmesi için gerekli “web” ortamı ayarlarını gerçekleştireceğiz. BASE Snort’un ürettiği kayıtları izlememizi ve analiz edebilmemizi sağlayan “web” tabanlı bir programdır. ADOdb ise çeşitli veritabanlarının PHP ile etkileşime geçebilmesini sağlayan veritabanı soyutlama yardımcı uygulamasıdır (Database Abstraction Utility). Yani PHP ile veritabanları arasında çalışan bir katmandır. Bu şekilde PHP’nin tüm veritabanları ile aynı şekilde iletişim kurmasını sağlar. Böylece kullanılan herhangi bir veritabanı PHP’den soyutlanmış olur.

İlk önce aşağıdaki “pear” komutu ile posta ve SMTP desteğini kuruyoruz.

sudo pear install --alldeps Mail
sudo pear install --alldeps Mail_Mime

Paketlerin kurulumu aşamasında “pear.php.net”e bağlanamama gibi bir hata ile karşılaşıyorsanız “aptitude” komutu ile yukarıdaki paketlerin alternatiflerini yükleyebilirsiniz. Yukarıda ki komutlar çalıştırılıp paketler sorunsuz yükleniyorsa aşağıdaki komutların çalıştırılmasına gerek yoktur.

sudo aptitude install php-mail
sudo aptitude install php-mail-mime

Kuruluma devam edip istemediğimiz sorulacaktır. Gelen soruyu “y” ile yanıtlayıp işlemlere devam ediyoruz.

ekil_21__php-mail_ve_php-mail-mime_paketlerinin_kurulumu.jpg

Şekil 21 – "php-mail" ve "php-mail-mime" paketlerinin kurulumu

Ardından “cd” komutu ile yerel dizine geçilir. Burada “mkdir snortinstall” komutu ile “snortinstall” adında bir klasör yaratılır ve sonrasında “cd snortinstall” komutu ile oluşturulan bu klasörün içine girilir.

cd
mkdir snortinstall
cd snortinstall

ekil_22__snortinstall_klasrnn_yaratlmas.jpg

Şekil 22 – "snortinstall" klasörünün yaratılması

Şimdi ise “BASE” ve “ADOdb” paketlerini indireceğiz. Şu anda BASE’in son sürümü olan BASE-1.4.5 paketini aşağıdaki komutu kullanarak ya da elle http://sourceforge.net/project/showfiles.php?group_id=103348&package_id=128846 adresinden indirebilirsiniz.

wget -O base-1.4.5.tar.gz \
http://sourceforge.net/projects/secureideas/files/BASE/base-1.4.5/base-1.4.5.tar.gz/download

“adodb4991.tar.gz” paketini de aşağıdaki komutu kullanarak ya da  http://sourceforge.net/project/showfiles.php?group_id=42718&pacage_id=34890&release_id636415 adresinden doğrudan indirebilirsiniz.

wget -O adodb4991.tgz \
http://sourceforge.net/projects/adodb/files/adodb-php-4-and-5/\
adodb-4991-for-php/adodb4991.tgz/download

Her iki paket de aşağıdaki komutlar kullanılarak açılır. Bu paketler Snort tarafından üretilip MYSQL veritabanına gönderilen kayıtları incelememize yarayan PHP sayfalarını ve veritabanına bağlanmamızı kolaylaştıran yardımcı uygulamaları içerirler.

cd ~/snortinstall
tar -xzvf adodb4991.tgz
tar -xzvf base-1.4.5.tar.gz
sudo mv adodb /var/www
sudo mv base-1.4.5 /var/www

Şimdi ise “php.ini” dosyası aşağıdaki komut yazılarak açılır ve PHP yapılandırma dosyasında gerekli değişiklikler yapılır.

sudo vim /etc/php5/apache2/php.ini

“Dynamic Extensions” satırı bulunur ve altına aşağıdaki satırlar eklenir ve dosya kaydedilerek kapatılır.

extension=mysql.so
extension=gd.so

ekil_23__php.ini_dosyasnn_yaplandrlmas.jpg

Şekil 23 – "php.ini" dosyasının yapılandırılmas

“php.ini” dosyasında satırı yorum satırı haline getiren karakterin “snort.conf” dosyasında kullanılan “#” karakterinden farklı olarak “;” karakteri olduğunu görüyoruz.

Şimdi ise aşağıdaki komut ile “apache2.conf” dosyası açılarak HTTP sunucumuzun yapılandırma dosyasında küçük bir değişiklik yapılır.

sudo vim /etc/apache2/apache2.conf

Aşağıdaki satır, dosyanın en altına eklenir ve değişiklikler kaydedilip dosyadan çıkılır.

servername localhost

ekil_24__apache2.conf_dosyasnn_yaplandrlmas.jpg

Şekil 24 – "apache2.conf" dosyasının yapılandırılması

Yaptığımız değişiklerin etkin hale gelebilmesi için web sunucusu aşağıdaki komut kullanılarak yeniden başlatılır.

sudo /etc/init.d/apache2 restart

Aşağıdaki komutlar kullanılarak “BASE” klasörüne kısayol oluşturulur. Bu sayede yeni güncellemelerin yapıldığı durumlarda sadece oluşturulan kısayolun taşınması yeterli olacaktır.

Ayrıca web sunucusun yapılandırma dosyasını değiştirebilmesi için “BASE” klasörü yazılabilir hale getirilir. Fakat yapılandırma ayarları tamamlandıktan sonra herhangi bir güvenlik açığına neden olmamak için bu klasör tekrar yalnızca okunabilir durumuna döndürülmelidir.

cd /var/www
sudo ln -s base-1.4.5 ./base
chmod a+w base

Sonra herhangi bir tarayıcıdan (browser) http://localhost/base adresi açılır. Bizi “BASE”in yapılandırma sayfası karşılayacaktır. Burada ek MYSQL girdileri ve bağlantılar oluşturularak devam edilir. “continue” ile bir sonraki adıma geçilir.

ekil_25__basein_yaplandrlmas.jpg

Şekil 25 – BASE'in yapılandırılması

Birinci Adım:

“ADOdb” yolu “/var/www/adodb” olacak şekilde düzenlenir.

ekil_26__basein_yaplandrlmas_1.adm.jpg

Şekil 26 – BASE'in yapılandırılması 1.Adım

İkinci Adım:

Database Name    =    snort

Database Host     =    localhost

Database User     =    snort 

Database Password    =    “SeçtiğinizŞifre”

Alanlarına uygun değerler girilir.

ekil_27__basein_yaplandrlmas_2.adm.jpg

Şekil 27 – BASE'in yapılandırılması 2.Adım

Üçüncü Adım:

“Use Authentication System” seçeneği işaretlenir.

Admin User Name    =    snort

Password        =    ”SizinSeçtiğinizŞifre”

Full Name        =     snort

ekil_28__basein_yaplandrlmas_3.adm.jpg

Şekil 28 – BASE'in yapılandırılması 3.Adım

Dördüncü Adım:

“Create BASE AG” tuşuna basıyoruz. “snort” kullanıcısının uygun şekilde yaratıldığı uyarısını alıyoruz ve beşinci adıma tıklayarak devam ediyoruz.

ekil_29__basein_yaplandrlmas_4.adm.jpg

Şekil 29 – BASE'in yapılandırılması 4.Adım

Beşinci Adım:

Kullanıcı adı olarak “snort” ve şifre olarak “Test12345” girilerek oturumun açılıp açılamadığı test edilir.

ekil_30__basein_yaplandrlmas_5.adm.jpg

Şekil 30 – BASE'in yapılandırılması 5.Adım

“Login” tuşuna tıkladığınızda aşağıdaki gibi bir sayfa görüntüleniyorsa “BASE” doğru yapılandırılmıştır.

ekil_31__base_ana_grntleme_ekran.jpg

Şekil 31 – BASE ana görüntüleme ekranı

Son olarak aşağıdaki komut ile “BASE” dizinine verilen okuma yazma hakları geri alınır.

chmod og-w base

BARNYARD’IN YAPILANDIRILMASI

Barnyard Snort üzerindeki kayıt çıktıları işlem yükünü üstlenmesi için yazılmış bir programdır. Snort tespit edilen saldırıları görüntülemeye çalışırken çok fazla zaman ve performans kaybına uğramaktadır. “barnyard2” kullanılarak bu yük Snort’un üzerinden alınır. Böylece Snort ürettiği kayıtları biçimlendirmek için zaman harcamaz ve sadece kendi işi olan saldırı tespit veya engelleme işine daha fazla zaman ayırır. Aşağıdaki komutlar ile yapılandırma ayarlarına başlanır.

cd ~/snortinstall
wget -O barnyard2-1.7.tar.gz \
http://www.securixlive.com/download/barnyard2/barnyard2-1.7.tar.gz
tar zxvf barnyard2-1.7.tar.gz
cd barnyard2-1.7
./configure --with-mysql
make
sudo make install
sudo cp etc/barnyard2.conf /etc/snort
sudo mkdir /var/log/barnyard2

ekil_32__barnyard2_klasrnn_yaratlmas.jpg

Şekil 32 – “barnyard2” klasörünün yaratılması

Şimdi ise “barnyard2.conf” dosyası yapılandırılır.

sudo vim /etc/snort/barnyard2.conf

“#config hostname:  thor” satırı bulunur ve altına aşağıdaki satır eklenir.

config hostname: localhost

“#config interface: eth0” satırı bulunur ve altına aşağıdaki satır eklenir. “eth0” alanını sizin dinlemek istediğiniz arayüz adı ile değiştirmeyi unutmayın.

config interface: eth0

ekil_33__barnyard2.conf_dosyasnn_yaplandrlmas.jpg

Şekil 33 – "barnyard2.conf" dosyasının yapılandırılması

Son olarak “output database” satırı bulunur ve altına aşağıdaki satır size uygun şekilde değiştirilerek eklenir ve yapılan değişiklikler kaydedilip çıkılır.

output database: alert, mysql, user=snort password=Test12345 dbname=snort host=localhost

ekil_34__barnyard2.conf_dosyasnn_yaplandrlmas_devam.jpg

Şekil 34 – "barnyard2.conf" dosyasının yapılandırılması devam...

BARNYARD YAPILANDIRILMASININ TAMAMLANMASI VE SNORT’UN BAŞLATILMASI

Yapılan ayarlamaların doğru olup olmadığı aşağıdaki adımlar takip edilerek test edilir. Aşağıdaki komut ile Snort “snort.conf” dosyasını kullanarak “eth0” arayüzü dinlenecek şekilde başlatılır.

sudo snort -c /etc/snort/snort.conf -i eth0

Snort’un başlaması biraz zaman alacaktır. Aşağıdaki ekran görüntüsünde görüldüğü gibi Snort belirtilen arayüzü dinlemeye başlamıştır.

ekil_35__barnyard_yaplandrlmasnn_tamamlanabilmesi_iin_snortun_altrlmas.jpg

Şekil 35 – "barnyard" yapılandırılmasının tamamlanabilmesi için Snort'un çalıştırılması

İkinci bir komut satırı penceresi (Terminal) açılır ve aşağıdaki komut çalıştırılır.

ls -la /var/log/snort

Gelen ekranda “snort.log” dosyasının sonuna eklenmiş 10 haneli sayı aranır. Eğer birden fazla “snort.log” dosyası varsa, en yeni olan dosyanın sonundaki 10 haneli sayı kopyalanır.

ekil_36__barnyard2_yaplandrlmas.jpg

Şekil 36 – "barnyard2" yapılandırılması

Snort log dizininin içerisine “barnyard.waldo” isminde bir dosya aşağıdaki komut kullanılarak yaratılır. Aşağıdaki komutu çalıştırdığında belirtilen isimde bir dosya varsa “vi” editörü onu açar, yoksa bu isimle bir tane dosya yaratıp onu açar.

sudo vim /var/log/snort/barnyard.waldo

Yaratılan dosyaya aşağıdaki satırlar uygun şekilde değiştirilerek eklenir ve yaptığımız değişiklikler kaydedilip dosyadan çıkılır. “<Yukarıdaki ikinci adımdan kopyalanan 10 haneli sayı>” kısmına yukarda ki adımdan elde edilen “1273834250” sayısı yazılır, siz de kendi elde ettiğiniz sayıyı yazınız.

/var/log/snort
snort.log
<Yukarıdaki ikinci adımdan kopyalanan 10 haneli sayı>
0

ekil_37__barnyard.waldo_dosyasnn_yaplandrlmas.jpg

Şekil 37 – "barnyard.waldo" dosyasının yapılandırılması

BARNYARD’IN ÇALIŞTIRILMASI

Aşağıdaki komut ile “barnyard”ı çalıştırılır.

sudo /usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf \
-G /etc/snort/gen-msg.map -S /etc/snort/sid-msg.map \
-d /var/log/snort -f snort.log -w /var/log/snort/barnyard.waldo 

TEST

Son olarak tüm sistem test edilir. Tüm sistemi test etmenin en iyi yollarından biri “nmap” i kullanmaktır. Bunun için yeni bir komut satırı penceresi açılır ve eğer sistemimizde “nmap” kurulu değilse aşağıdaki komut ile “nmap” kurulur.

sudo apt-get install nmap

Aşağıdaki komut ile port tarama işlemine başlanır. Taranan ağın kendi ağımız olduğuna dikkat edelim çünkü bazı kişiler ağlarının taranmasından hoşnut olmayabilirler. “nmap” in nasıl kullanılacağı hakkında daha fazla bilgiyi http://www.linux.com/learn/tutorials/290879-beginners-guide-to-nmap adresinde bulunan başlangıç öğreticisinde (Tutorial) bulabilirsiniz. Aşağıdaki IP adresinin dinlemek istediğiniz arayüzün IP adresi olması gerektiğini unutmayın.

sudo nmap -PN -v -O 192.168.2.1/24

ekil_38__nmap_ile_port_taramas.jpg

Şekil 38 – "nmap" ile port taraması

ekil_39__barnyard_ile_ikazlarn_grntlenmesi.jpg

Şekil 39 – Barnyard ile ikazların görüntülenmesi

ekil_40__barnyard_nmap_ve_snortun_ayn_anda_alma_an.jpg

Şekil 40 – Barnyard, nmap ve Snort'un aynı anda çalışma anı

Eğer her şey düzgün çalışıyorsa barnyard ekranında kayan ikazları gözlemlemelisiniz. “BASE”e http://localhost/base adresinde oturum açılır ve ikazların buradan gözlenip gözlemlenemediğine bakılır. Eğer ikazlar “BASE” ekranından da takip edilebiliyorsa her şey düzgün olarak yapılandırılmıştı

ekil_41__basee_oturum_alr.jpg

Şekil 41 – BASE'e oturum açılır

ekil_42__basede_ikazlarn_gzlemlenmesi.jpg

Şekil 42 – BASE'de ikazların gözlemlenmesi

ekil_43__basede_ikazlarn_gzlemlenmesi_devam.jpg

Şekil 43 – BASE'de ikazların gözlemlenmesi devam...

KAYNAKÇA

[1 ]    http://www.snort.org/assets/113/Snort_2.8.4.1_Ubuntu.pdf

[2 ]    https://wwwx.cs.unc.edu/~hays/archives/2010/03/entry_23.php


Favori olarak ekle (1) | Görüntüleme sayısı: 1753

Yorumlar (1)
1. 25-09-2010 00:16
 
güzel bir döküman olmuş , teşekkürler...
 
sidar arda

Sadece kayıtlı kullanıcılar yorum yazabilir.
Lütfen sisteme giriş yapın veya kayıt olun.

 
spacer.png, 0 kB
spacer.png, 0 kB
Copyright 2012 TÜBİTAK-BİLGEM. Sitenin teknik altyapısında Joomla kullanılmıştır. Yazar ve site referans gösterilmeden alıntı yapılamaz. Görüşleriniz
spacer.png, 0 kB