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 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 Daemon daemon Servis olarak çalıştır accept Hangi Ağdan gelen isteklere cevap vereceğini belirler defaultkey defaultkey parola Bağlantı parolası port port 898 Bağlantı portu Logfile /var/log/sam.log günlük dosyası Daemon daemon Servis olarak çalıştır Email email localhost enformatik@ksu.edu.tr snortsam@avsar.ksu.edu.tr İpf ipf 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.
Yeni çekilen kurallar da rules klasörü altına yerleştirilir. 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.
Teşekkürler…