Umut DOĞAN udogan@etu.edu.tr TOBB ETÜ Üniversitesi
Ağ yönlendirici cihazlarının oluşturduğu ve üzerinden geçen trafiğe ait izleri barındıran NetFlow kayıtlarının depolanması ve incelenebilmesi için yapılması gerekenleri adım adım anlatacağım. Bu kayıtların tutulması ağımızdan dışarı çıkan trafiğin kaynak ve hedeflerinin belirlenmesi konusundaki hukuki sorumlulukları karşılamada yardımcı olacaktır. Ayrıca kurulumunu anlatacağım NfSen ile de bu kayıtların detaylı analizini bir arayüz yardımıyla yaparak ağ trafiğinizi inceleyebilirsiniz.
Adım adım yapılması gerekenlere geçmeden önce NetFlow datasının ne olduğunu açıklayalım:
Cisco tarafından geliştirilmiş açık bir protokol olan NetFlow, IP trafiği kayıtlarının toplanmasını sağlar. NetFlow kayıtları 5 temel içerikten oluşur: Kaynak IP adresi, hedef IP adresi, kaynak kapısı (PORT) ve hedef kapısı (PORT) ve protokol.
Örnek Kayıt:
| Sif | SrcIPaddress | DIf | DstIPaddress | Pr | SrcP | DstP | Pkts | Octets | B/Pk | Ts | Fl |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 00c7 | 193.140.21.18 | 00fd | 88.239.42.161 | 06 | 50 | 446 | 1 | 464 | 464 | 00 | 19 |
Burada Sif trafiğin geldiği arayüzün (interface) yönlendirici üzerindeki tanımlayıcısıdır. Aynı şekilde Dif de trafiğin yönlendirildiği arayüzün tanımlayıcısıdır. Pr trafiğin kullandığı protokolü göstermektedir. ( 6 - > TCP) Diğer alanlarda IP başlık bilgisinde elde edilen bilgilerdir. Ayrıca trafiğin başlangıç ve bitiş zamanlarına da NetFlow kayıtlarından ulaşılabilir.
Yönlendirici cihaza bağlanıp enable moduna geçtikten sonra;
Router#conf t
Router(config)#
Router(config)#ip flow-export version 5 origin-as
Router(config)#ip flow-export destination 192.168.1.10 9996komutları ile NetFlow beşinci nesil flow kayıtlarının 192.168.1.10 nolu makinanın 9996 nolu kapısına yönlendirilmesini sağladım. Şimdi hangi arayüzlerden geçen trafiğin kayıt altına alınacağı belirtmek için ilgili arayüzün altına gidip,
Router(config)#interface FastEthernet0/0
Router(config-if)#ip route-cache flowÖnemli Not: Bu analizlerin yapılacağı bir çok ağda yönlendirici ile kayıtların tutulacağı makine (örneğimizde 192.168.1.10 IP'li) arasında ateş duvarı (firewall) olduğunu düşünmekteyiz. Bu durum sizin ağınız için de geçerli ise, yönlendiricinizin iç ağa bakan arayüzünün IP'sinden kaynaklı ve hedefi kayıtların tutulacağı makinanın yönlendirici ayarlarında girilen kapısı olan UDP trafiğine izin vermeniz gerekmektedir. Bu örnek için yönlendiricinin iç ağa bakan arayüz Ipsi kaynaklı 192.168.1.10:9996 hedefli trafiğin geçişine izin verilmelidir.
Bu kısımda NfSen uygulamasını Pardus üzerine kurduk. Detaylarını aşağıda anlatacağım. Benzer şekillerde herhangi bir Linux dağıtımı ya da BSD işletim sisteminde de rahatlıkla kullanabilirsiniz. (FreeBSD'de nfsen bir port olarak bulunmakta).
ftp://ftp.pardus.org.tr/pub/pardus/kurulan/2007.1 adresinden edineceğiniz kaynak kod ile Pardus kurumunu standart şekilde yapmanız yeterli olacaktır. Sorun yaşamanız durumunda http://www.pardus.org.tr/belgeler/kurulum_nasil.html adresindeki belgeye başvurabilirsiniz.
Pardus Kurumsal 5 sürümünü www.pardus.org.tr adresinden temin edebilirsiniz. DVD oluşturmak için K3b, Brasero, USB oluşturmak için Unetbootin, ISO to USB uygulamalarını kullanabilirsiniz. Bu uygulamalar hakkında bilgi için http://www.pardus.org.tr/belgeler adresindeki Pardus İşletim Sistemi kitabından yardım alabilirsiniz. Kitap'ta Uygulamalar ve Tanıtımları altında Disk Yazma Araçları başlığında bu konuya değinilmiştir.
Yeniden başlayan bilgisayarınız canlı sistem üzerinden açılacaktır. Bu özellik sayesinde kurulum öncesinde, sonrasında ve kurulum esnasında Pardus'un bilgisayarınızdaki performansını ve uygulamalarını test edebilirsiniz.
| 1- Kurulum için ekranda ki Pardus'u Yükle simgesine tıklayarak kuruluma başlayabilirsiniz. |
|---|
![]() |
| 2- Sistem dilini seçerek ilerleyiniz. |
|---|
![]() |
| 3- Zaman dilimini seçerek devam ediniz. |
|---|
![]() |
| 4- Klavye düzeni belirleyerek devam ilerleyiniz. |
|---|
![]() |
| 5- Kullanıcı resminizi, kullanıcı ve makine adınızı belirleyiniz. |
|---|
![]() |
Bu ekranda belirleyeceğiniz parola bilgisayarınızın hem root (Yönetici) parolası hemde tanımlamış olduğunuz kullanıcının parolası olacaktır.
| 6- Açılan pencerede bilgisayarınızda bulunan fiziksel birimlerin listesi gelecektir. |
|---|
![]() |
Hard disk, USB disk, harici disk ve SSD diskler boyutları ile birlikte bu ekranda listelenir.
| Ardından aynı şekilde sağ tıklayarak “home” (Ev Dizini) belirleyiniz.(**) |
|---|
![]() |
(!) Sadece “ / “ (kök) dizin belirleme işlemi yaparak da kurulumu tamamlayabilirsiniz.
(!!) Pardus 2013 de kullanmış olduğunuz ev dizininizi bu ekranda seçerek devam edebilir veya yeni bir birimi ev dizini olarak belirleyebilirsiniz. Ev dizini belirtilmediğinde “/” ve “home” aynı birime kurulacaktır, herhangi bir ev dizini belirlemeden de devam edebilirsiniz.
- adımdaki (/dev/sdb) disk seçimini gözden geçirerek Grub'ı kur onayı veriniz.
| 9- Son olarak bu ana kadar yapılan değişiklikler ekranda görüntülenir. Bu aşamadan sonra geri dönüş olmayacaktır. |
|---|
![]() |
Yapılacak bir değişiklik yoksa “Kur” butonuna tıklayarak kuruluma başlayabilirsiniz. Kurulum bilgisayarınızın hızına göre 15 ile 25 dakika aralığında olacaktır.
Bilgisayarınız yeniden başlarken kurulum ortamını(DVD-USB) çıkarmayı unutmayınız. Aksi taktirde bilgisayarınız tekrar canlı sistem ile açılacaktır.
| Pardus Kurumsal 5 kurulumu tamamlandı, kullanıma başlayabilirsiniz. |
|---|
![]() |
Root erişimine geçtikten sonra:
$ pisi update-repo (depo güncellemesi)
$ sudo pisi it apache mod_php
$service apache on (açılışta apache başlasın)http://oss.oetiker.ch/rrdtool/download.en.html adresindeki herhangi bir yansıdan rrdtool.tar.gz son sürümünü edinebilirsiniz. (rrdtool-1.2.15)
$tar -zxvf rrdtool.tar.gz
$cd rrdtool-1.2.15
$./configure
$make
$make installNOT: Pardus 2007.1 üzerinde sorunsuz derleniyor.
http://sourceforge.net/project/showfiles.php?group_id=119350
$tar -zxvf nfdump-1.5.2.tar.gz
$cd nfdump-1.5.2
$./configure
$make
$make installAdım adım kurulumunu ve ayarlarını anlatacağımız NfSen ile ilgili belgelere http://nfsen.sourceforge.net/ adresinden ulaşabilirsiniz. http://sourceforge.net/project/showfiles.php?group_id=134525
$tar -zxvf nfsen-1.2.4.tar.gz
$cd nfsen-1.2.4/etc
$cp nfsen-dist.conf nfsen.conf
$vi nfsen.conf$HTMLDIR değerini aşağıdaki şekilde değiştirin...
$HTMLDIR= "/var/www/localhost/htdocs/nfsen/";
%sources Netflow bilgisini yollayan kaynakları içermemiz gerekiyor. Buradaki port değeri yönlendirici ayarlarında NetFlow datasının yollandığı portu ifade ediyor.
%sources = (
'deneme' => { 'port' => '9996', 'col' => '#0000ff' },
);:wq (vi dan kaydederek çıkın)
$cd..
$groupadd www
$useradd www -g www
$useradd netflow -g www
$vi /etc/apache2/httpd.confAyarlar dosyasındaki User ve Group değerlerini apache yerine www ile değiştireniz gerekiyor.
User www
Group www$./install.pl etc/nfsen.conf (perl yolu /usr/bin/perl )Bu komutla birlikte NfSen için gerekli klasörleri oluşturacak, nfsen.conf da belirlediğimiz HTMLDIR altına php/html dosyalarını kopyalayacak, live profile 'ı yaratacaktır. Bu komut sonrasında nfsen.conf dosyasının CONFDIR altında da konduğunu bir kontrol edelim.
$ls -la /data/nfsen/etc/nfsen.conf
-rw-r--r-- 1 root root 4451 Mar 28 16:47 /data/nfsen/etc/nfsen.conf$cd /var/www/localhost/htdocs/nfsen
$chmod 755 nfsen.php
$cd /data/nfsen/bin/
$pwd
/data/nfsen/bin
$./nfsen.rc startKullandığınız profile'ın şu an ki durumunu izlemek için:
$./nfsen -l live name live
tstart Wed Mar 28 16:55:00 2007
tend Thu Mar 29 10:15:00 2007
updated Wed Mar 28 16:50:00 2007 filter <none>
expire 0 hours
size 0
maxsize 0 sources deneme type live locked 0
status OKEğer locked değeriniz 1 görünüyor ise aşağıdaki komut ile tekrar analiz prosedürünü başlatabilirsiniz:
$./nfsen -m live -U
$pwd
/data/nfsen/binTüm nfsen komutlarını /data/nfsen/bin altında çalıştırdık. Bu klasörü genel yola eklemek için (PATH):
$EXPORT PATH=$PATH:/data/nfsen/binNfsen ile analizlerin açılışta başlatılması için local.start dosyasını değiştirmeniz gerekmektedir:
$vi /etc/conf.d/local.start
/data/nfsen/bin/nfsen.rc start (Bu satırı dosyanın sonuna eklemeniz yeterlidir)Artık Pardus kurduğumuz makinada Firefox ya da benzeri uygulamalar ile: http://localhost/nfsen/nfsen.php adresini görüntülediğimizde NfSen arayüzü ile karşılaşacağız.
| NFSen Genel Görünüm |
|---|
![]() |
Detail bölümünden ilgilendiğimiz zaman aralığını seçerek (grafik üstünde) ilgili kayıtları ayıklayabiliriz. Bunun için grafiğin altında yer alan Processing bölümünü kullanmanı gerekiyor. Source bölümde ayarlar dosyasında UDP portlarına göre ayırdığımız kaynaklar listeleniyor.
| NFSen Process |
|---|
![]() |
![]() |
Buradan bir kayna seçtikten sonra Filter bölümde özel olarak ilgilendiğimiz bir eleman için (Ip adresi, arayüz, AS, Port v.s) filtreleme yapabiliriz. Bu alanının kullanım şekli Nfdump datasının kullanım şekli ile aynı. (http://nfdump.sourceforge.net/) adresinden Filter bölümünde detaylara ulaşabilirsiniz. Bazı alanlar için filtreleme şeklini aşağıda bulabilirsiniz.
| NFSen Filter |
|---|
![]() |
Başlıkların altında verilen komutları teker teker ya da bir kaçını birden Filters bölümüne yazarak ilgili başlığa göre filtreleme yapabilirsiniz. protokol nesli
Ipv4 için inet yada ipv4
Ipv6 için inet6 ya da ipv6
TCP, UDP, ICMP, GRE, ESP, AH, RSVP yada PROTO <protokol_numarası>
Kaynak Ipsi için: IP a.b.c.d
Kaynak ya da hedef: HOST a.b.c.d
NET a.b.c.d m.n.r.s (m.n.r.s ağ maskesi)
NET a.b.c.d / num (Ya da / gösterimi ile)
PORT [operator] port_no (operator olarak =,>,< kullanılabilir)
[inout] IF arayuz_no (başına eklenecek in ya da out ile trafiğin yönünü de belirtebilirsiniz)
packets [operator] sayı [scale] (scale değeri k,m,g olabilir. Kilo, mega ve giga için)
bytes [operator] sayı [scale]
pps [operator] num [scale]
duration [operator] num
bps [operator] num [scale] .
bpp [operator] num [scale]
[SourceDestination] AS sayı
Kaynağı ve filtreleri hallettikten sonra şimdi NetFlow dökebilir ya da istatistiğini alabilirsiniz. List seçeneğinde dökeceğiniz flowların sayısını ve formatını belirleyebiliyorken, Stat seçeneğinde kaynak IP, hedef Ip, Kapı, AS numarası v.s. için çıkacak istatistikleri byte,paket,pps v.s. için sıralatabilirsiniz.
| NFSen Netflow Processing |
|---|
![]() |
| NFSen Statistics |
|---|
![]() |
![]() |
| NFSen List |
|---|
![]() |
| NFSen Stat |
|---|
![]() |
Önemli Not:
Ağınız ile ilgili tüm trafiğin bilgilerini barındıran Netflow kayıtlarının tutulması ve analiz edilmesi ağ yönetimi için çok önemlidir. Bununla birlikte bu kayıtlar kurum çalışanlarınızın kişisel bilgilerini de içerdiğinden ağ yöneticileri dışında kişilerin erişimine izin verilmemelidir. Bunun için en pratik çözüm olarak .htaccess dosyası yardımı ile web sunucusuna erişimi kullanıcı tabanlı yapmak sayılabilir. Ayrıca sunucuya ssh erişiminin de çok dikkatli yapılması gerekmektedir.





















