330 likes | 577 Views
P2P İLE MÜCADELE VE KSU-NET ÖRNEĞİ. Ali ÇAYLI, Adil AKYÜZ, Ercan EFE, Sait ÜSTÜN Akademik Bilişim – 2007, Kütahya. P2P Nedir ?. Peer to Peer Dosya Paylaşım Sistemi İlk Olarak 1999’da Napster Müzik Dosyaları Paylaşımı
E N D
P2P İLE MÜCADELE VE KSU-NET ÖRNEĞİ Ali ÇAYLI, Adil AKYÜZ, Ercan EFE, Sait ÜSTÜN Akademik Bilişim – 2007, Kütahya
P2P Nedir ? • Peer to Peer Dosya Paylaşım Sistemi • İlk Olarak 1999’da Napster Müzik Dosyaları Paylaşımı • 2000 Yılında Napster Kapatıldı ve Yeni Nesil Yazılımlar Kullanılmaya Başlandı
Napster’da Merkezi sunucu üzerinde indeksler tutuluyordu. • Sonraki yazılımlarda ise indeksler birden fazla sunucu üzerinde tutulmaya başlandı.
P2P Sunucu Peer Peer
Trafiğin Tespit Edilmesi • Paket Analiz Programları • Mrtg • Tcpdump • Ntop • snort • vb
Çözüm • Bant Genişliğini Sınırlandırmak • Belli Zamanlarda İzin Vermek • Standart Bilinen Portları Tamamen Engellemek • Farklı Port ve Yöntem Kullananları Engellemek
Araçlar • Linux veya BSD işletim sistemi • Snort veya Snortsam
Snortsam • Snortsam, Snort Saldırı Tespit Sistemi için yazılmış bir eklentidir. • Kurallarına uyan paketler tespit edildiğinde bu ip adreslerinden gelen-giden trafiği belirli bir süre engellemek için firewall yazılımınızda ilgili kuralları çalıştırır.
Bir çok güvenlik duvarı yazılımı ile beraber çalışabilir. • Checkpoint Firewall-1 • Cisco PIX firewalls • Cisco Routers (using ACL's or Null-Routes) • Former Netscreen • Juniper firewalls • IP Filter (ipf) • Linux IPtables
Snortsam iki temel parçadan oluşur. • Snort çıktı eklentisi • Güvenlik duvarı ile haberleşen ve komutlar gönderen aracı yazılım.
Otomatik olarak çalışan bu sistem, snort çıktı eklentisinden aldığı IP adres bilgisi ile güvenlik duvarı yazılımına gerekli komutları göndererek o IP adresi için trafiğin engellenmesini sağlar.
Snortsam Kurulumu • Kaynak kodlar http://www.snortsam.net/ adresinden indirilebilir. • İndirilen paketler bir klasor içerisine açılır. # tar zxvf snortsam-src-2.50.tar.gz • Klasor içinde make script’te çalışma izni verildikten sonra çalıştırılır. # chmod +x makesnortsam.sh # ./makesnortsam.sh
Derleme işleminden sonra derlenmiş program çalıştırılabilir dosyaların bulunduğu dizine kopyalanır. (/usr/local/bin)
Snort’un Snortsam yama paketleri ile derlenmesi • Snort programınına snortsam yaması yapılması gereklidir. • Bu işlem için gerekli dosya snortsam-patch.tar.gz snortsam sitesinden indirilebilir.
Snortsam yama dosyalarının bulunduğu klasördeki patchsnort.sh dosyasına çalışma izni verildikten sonra script çalıştırılır. • Script’e parametre olarak snort kaynak kodlarının bulunduğu klasörün yolu verilir. # chmod +x patchsnort.sh#./patchsnort.sh /usr/local/src/snort
Daha Sonra snort programı da derlenerek sisteme yüklenir. # cd /usr/local/src/snort # ./configure # make # make install
Snortsam Ayarlarının Yapılması • Snortsam örnek konfigürasyon dosyası “snortsam.conf.sample” kaynak kod klasörü içerisinde bulunabilir. • Bu dosyayı etc klasörü altına kopyalayabiliriz (/etc/snortsam.conf)
/etc/snortsam.conf • accept accept 10.0.0.1/8 Hangi Ağdan gelen isteklere cevap vereceğini belirler • defaultkeydefaultkey parola Bağlantı parolası • port port 898Bağlantı portu • Logfile/var/log/sam.loggünlük dosyası • DaemondaemonServis olarak çalıştır • Emailemail localhost enformatik@ksu.edu.tr snortsam@avsar.ksu.edu.tr • İpfipf fxp0(iptables eth0)Güvenlik duvarı seçimi
Snort Ayarlarının Yapılması • Snort çalıştırılmadan önce snort.conf dosyası içerisinde de yapılması gereken bazı ayarlamalar vardır. • output alert_fwsam: <snortsambox> • output alert_fwsam: <snortsambox>:<port>/<password>
Başlangıç Parametreleri (FreeBSD) • snort_enable="YES“ • snort_interface="fxp0" • snort_flags="-D -A fast“ (Çalışmaz) • snort_flags= “-D -b” (D: Daemon, b: Binary Log File)snort_conf="/usr/local/etc/snort/snort.conf"
Snort Kural Paketleri • snort kural paketleri içerisinde de snortsam ip bloklama eklentisini çalıştıracak kodları yazmak gerekiyor. • Bu dosyalar; • /etc/snort/rules veya • /usr/local/share/snort • Klasöründe bulunabilir.
Kural Satırı Sonuna; • “fwsam: <who>, <duration>” formatında eklemeler yapıyoruz. • Burada; • fwsam, eklentinin adı, • who, ne yöne doğru engelleme yapılacağını (src,dst) • duration, ne kadar süre ile engelleme yapılacağını göstermektedir.
Örnek Kural • alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg: "BLEEDING-EDGE P2P Ares GET"; flow: established; content:"ares"; nocase; pcre:"/(GET |GET (http|https)\:\ /\/[-0-9a-z.]*)\/ares\//i"; reference:url,www.aresgalaxy.org; classtype: policy-violation; sid: 2001060; rev:6; fwsam: src, 5 minutes;)
Güncel snort kural dosyaları www.snort.org sitesinden indirilebilir. • Bu işlemi oinkmaster ile otomatik olarakta yapmak mümkündür. (http://oinkmaster.sourceforge.net/) • snort’un web sitesinden kendinize özel bir id numarası alarak oinkmaster.conf içine yazıp çalıştırmanız gerekir.
oinkmaster -o /etc/snort/ -b /etc/snort/eski/ komutuyla yeni kurallar /etc/snort/rules klasörü altına konulmadan önce bu dizin /etc/snort/eski dizini altına sıkıştırılarak alınır. • Yeni çekilen kurallar da rules klasörü altına yerleştirilir. • Ancak bu işlem sonunda fwsam için tekrardan düzenleme yapılmalıdır.
Sonuç ve Öneriler • Son zamanlarda P2P yazılımlarla dosya paylaşımının yanında doğrudan dosya indirilebilen sunucularda yaygın olarak kullanılmaktadır. (Rapidshare) • Bu tür P2P dışında dosya indirme sunucuları için engelleme güvenlik duvarı yazılımlarından yapılabilir.
P2P dışında istenmeyen diğer trafiğinde (Virus, DoS, backdoor, porno, shellcode, malware vb.) burada bahsedilen yazılımlar kullanılarak engellenmesi mümkündür. • Bilinen kurallar dışında kalan diğer yazılımların oluşturduğu trafiğin de tespit edilmesi için tcpdump gibi programlarla paket içeriklerine göz atıp gerekli kurallar oluşturulabilir.
Alınacak her türlü önlem hiçbir zaman yeterli olmayacaktır. • Bu tür önlemlere karşı programcılarda karşı önlem alarak yazılımların kurallara takılmasını engellemeye çalışmaktadırlar. • (Tek merkezi sunucu, Değişken Port,Şifreli Bağlantı)
Bu noktada kullanıcıların bilinçlendirilmesi ve içinde bulundukları ağın amacına uygun kullanılması gerekliliği anlatılmalıdır.