Bu yazı dizisinde Bro – IDS ürününden bahsedeceğiz. İlk yazımızda Bro – IDS hakkında genel değerlendirmeler yapıp, devamındaki yazılarda biraz daha teknik konulara değinmeye çalışacağız.

İsmi “Big Brother” teriminden gelen Bro ürünü gelişmiş bir ağ izleme aracıdır denilebilir. 1995 yılında başlanan projenin günümüzde International Computer Science Institute (ICSI) ‘de geliştirilmesine akademik olarak devam edilmektedir.

Çoğu zaman ağ IDS ürünü gibi görülse de aslında gelişmiş bir saldırı tespit sistemi, ağ analizi ve izleme aracıdır. Klasik olarak IDS’ler kural tabanlı çalışır ve bu kurallara göre trafikten bir çıktı oluşur. Bro ise komple bir ağ trafiği analiz aracıdır. Bro sadece kural tabanlı çalışmaz, bağlantı tabanlı da çalışır. Yapılan bağlantıların kayıtlarını tutar ve bu kayıtlara göre yeni bağlantılarda bir anormallik olup olmadığını tespit eder.

Bro açık kaynak kodlu, akademik olarak geliştirilmesine devam edilen bir ürün. Snort ve Suricata gibi IDS ürünlerin yüksek veri işleme (throughput) konusunda problemleri varken, Bro Gb’lerce trafiği analiz etmede oldukça başarılıdır. Diğer klasik IDS cihazlarına göre farklı yetenekleri olmasına rağmen kullanımı çok yaygın değildir.

Bro’nun kendine özgü geliştirilmiş bir Bro betik dili vardır. Bu dil ile yazılacak betikler ile sistemin yetenekleri istenilen şekilde kullanılabilir ve özelleştirilebilir. Bu da ürüne oldukça esneklik katmaktadır. Ancak sadece Bro’ya özgü olması dolayısıyla kullanımının bilinilirliği çok yaygın değildir.

Ürün inline modda çalışmadığı için IPS özelliği yoktur. Zaten ürünün öyle bir iddiası da yok. Ayrıca inline modda IPS çalıştırmanın da bazı sıkıntıları vardır. Bro ağa outline modda bağlanarak kullanılabilir. Tüm trafik bir tap cihazı ile kopyalanarak bro’ya gönderilebilir veya bro cihazı switch üzerinde span portuna bağlanarak veya en basitinden bir hub ile trafiğin bir kopyası bro’ya gönderilerek trafiğin gerçek zamanlı analiz edilmesi sağlanılabilir.

Bro’nun Ağ Topolojisindeki Konumu

Bro bu şekilde trafiği gerçek zamanlı analiz edebileceği gibi offline olarak daha önceden alınmış trafik dosyası bro’ya verilerek analiz etmesi sağlanabilir.

Kurulum

Kurulumdan önce işletim sistemi güncelleştirmelerinin yapılmış olması tavsiye edilir. Bro’yu kurmadan gerekli araçların yüklenmiş olması gerekir. Bunun işletim sistemlerine göre aşağıdaki ilgili komutlar çalıştırılır.

RedHat tabanlı Linux için;

# yum install cmake make gcc gcc-c++ flex bison libpcap-devel openssl-devel python-devel swig zlib-devel

Debian tabanlı Linux için;

# apt-get install cmake make gcc g++ flex bison libpcap-dev libssl-dev python-dev swig zlib1g-dev

FreeBSD için;

# pkg_add -r bash cmake swig bison python perl

IP lokasyonu tespit amaçlı GeoIP veritabanından yararlanılabilir. GeoIP kurulumu için aşağıdaki komutlar kullanılabilir.

# mkdir -p /usr/local/GeoIP
# cd /usr/local/GeoIP
# wget http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# gunzip -q GeoLiteCity.dat.gz
# wget http://www.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
# tar -xzf GeoIP.tar.gz
# cd GeoIP-1.4.5
# ./configure && make && make install

Bro’nun ilgili kaynak kodu Bro’nun kendi sitesinden indirilir. 

Ya da aşağıdaki komut ile git deposu indirilebilir.

# git clone –recursive git://git.bro.org/bro

İndirdip arşivi açtıktan ve ilgili klasöre girdikten sonra aşağıdaki komut çalıştırılır.

# ./configure –prefix=/nsm/bro
# make
# make install


Herhangi bir dizinde bro komutlarını doğrudan çalıştırmak için de son olarak aşağıdaki komut çalıştırılır ve kurulum tamamlanmış olur.

# export PATH=/usr/local/bro/bin:$PATH

Bu yazımızda BRO ürününün nasıl ortaya çıktığından, temel olarak çalışma mantığından, bazı önemli özelliklerinden ve kurulumundan kısaca bahsetmeye çalıştık. Bu yazı dizisinin devamındaki yazılarımızda ise ürünün daha detay özelliklerinden ve kullanımından bahsedeceğiz.

Ana Sayfa