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'nin Kurulması
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.

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

Ş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=128846adresinden 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

"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

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.

Birinci Adım:
"ADOdb" yolu "/var/www/adodb" olacak şekilde düzenlenir.

İkinci Adım:
Database Name = snort
Database Host = localhost
Database User = snort
Database Password = "SeçtiğinizŞifre"
Alanlarına uygun değerler girilir.

Üçüncü Adım:
"Use Authentication System" seçeneği işaretlenir.
Admin User Name = snort
Password = "SizinSeçtiğinizŞifre"
Full Name = snort

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.

Beşinci Adım:
Kullanıcı adı olarak "snort" ve şifre olarak "Test12345" girilerek oturumun açılıp açılamadığı test edilir.

"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.

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

Ş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

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

Barnyard Yapılandırılmasının Tamamlanması Ve Snort'un Başlatılması
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.

İ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.

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

Barnyard'ın Çalıştırılması
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 bilgiyihttp://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



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ı



Yazar ceyhun çamlı
\\ tags: ids, intrusion detection, saldırı tespit sistemleri, snort
Son Yorumlar