|
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
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" 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" 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" 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 – BASE'in yapılandırılması
Birinci Adım:
“ADOdb” yolu “/var/www/adodb” olacak şekilde düzenlenir.
Ş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 – 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 – 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 – 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 – 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 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” 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" 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" 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" 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" 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" 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ı
Şekil 39 – Barnyard ile ikazların görüntülenmesi
Ş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 – BASE'e oturum açılır
Şekil 42 – BASE'de ikazların gözlemlenmesi
Ş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
Sadece kayıtlı kullanıcılar yorum yazabilir. Lütfen sisteme giriş yapın veya kayıt olun. |