« Round robin algoritmasinda onceliklendirme | Home | OpenBSD PF adres araligi destegi »

Firewall/Router’dan Ip-MAC degisimini kontrol etmek

By Huzeyfe ONAL | August 27, 2007

gate_keeper.jpgYerel aglardaki sistem/ag yoneticilerinin en buyuk sorunlarindan biri  IP adresini degistirerek erisim kontrol listelerini asmaya ugrasan calisanlardir. Bunun icin genelde yapilanlar, DHCP araciligi ile IP sabitlemek, MAC adresine gore filtreleme yapmak vs oluyor.

 Cogu ortamda bu yapilanlar basarili olamiyor. DHCP’den yapilan sabitleme, calisan IP Adresini degistirebilecek yetki ve bilgiye sahipse ise yaramiyor. MAC adresine gore filtreleme yapmak ise MAC adresini degistirmeye bilenler icin yine bir onlem olamiyor.

 
Peki bu durumda ne yapilabilir?

Bunun icin cesitli  yontemler dusunulebilir(benim sık rastladığım genelde mac tabanli filtreleme, ip tabanli filtreleme ve her ikisinin birlestirilerek ip-mac karsilastirmasinin dogrulugunun  kontrol edilmesi ediliyor. Boylece ip ya da mac’ini degistiren biri firewallun kurallarina takiliyor).

 Son yontem aslınada en gecerlisidir ama boyle bir ozellik her firewall’da  olmayabilir ve daha da onemlisi  bosu bosuna guvenlik duvarini yorar.

 Bunun yerine her işletim sisteminde standart bulunan ARP komutu ve TCP/IP protokol bilgisini ortaya koyarak kendi cozumumuzu olusturabiliriz ki bence en gecerli yontem olacaktir.

 
Kısaca ARP’ı hatırlayalım:

         ARP, yerel aglarda birbirleri ile haberlesmek isteyen sistemlerde ip-mac eslemesini yapan protokoldur. Iki IP Adresi haberlesmeden once mutlaka birbirlerinin MAC adreslerini ogrenmeleri ve iletisimi bu adresler uzerinden gerceklestirmeleri gerekir.

 
ARP sorgulamaları yapıldıktan sonra belirli muddet isletim sistemi tarafından bellege alınır ve o sure icerisinde tekrar gerekirse sorgulama yapılmadan kullanılabilir.

ARP komutunun sunduğu diğer iki önemli özellik, ARP kayıtlarının statik olarak girilebilmesi(yani X ip adresi icin ARP kayıtı girerek sorgulama yapılmasına gerek bıraktırmamak  ve degistirilemez olarak sabitlenebilmesi) ve  ip-mac ikililerini bir dosyadan okutabilmek(-f).

 

IP adresi sabit ve degistirilemez olarak girilen sistemin normal ARP kayıtlarından farkı

 (192.168.0.20) at 00:0a:a5:ea:98:1b on bge0 [ethernet]

 (192.168.0.15) at 00:12:4b:a4:17:b2 on bge0 permanent [ethernet]

 

ARP komutu ile ip/mac adresini degistirenlerin devre dısı bırakılması

 Basitce yaptigimiz bir arabirimden kullaniciya ip-mac ciftlerini girdirmek ve bunu arkaplanda bir script ile sisteme statik ve değişmez olarak tanimlamak.. Ya da fping/ping/hping/scapy vs ile ile tum agi tarayarak agdaki MAC kayıtlarının toplanmasını sağlamak ve arp –an komutu ile tüm kayıtları almak.

 Bundan sonra bu kayıtları bir dosyaya kaydederek

 #arp –f kayitlarin_bulundugu_dosya

 komutu çalıştırılırsa dosyadaki IP adresleri için sabit ve değişmez ARP kayıtları sisteme girilmiş olur.

 NOT: arp kayıtlarının bulunduğu dosyanın formatı şu şekilde olmalıdır.(FreeBSD icin)

 IP_Adresi  MAC_Adresi

Sonrasında ip-mac eslemesi yapılan ip adresleri icin Firewalldan  gerekli erisim yetkilerini tanımlayarak sadece o ip adreslerine erisim vermek gerekir.

 Boylece IP/MAC adresini degistiren biri,

        ARP kaydını tanımlamadıgımız aralıktan bir ip adresi alırsa: Firewall zaten o ip adresine erisim vermeyecektir.

       ARP kaydını tanımladığımız aralıktan bir ip adresi alırsa: Firewall’daki ip-mac kayıtları statik ve değişmez olacağından dolayı firewall ile erişimi kesilecektir. Nasıl mı?

 Mesela 1.1.1.2 ip adresi için sistemde statik ve değişmez olarak tanımlı mac adresi 00:11:22:33:44:55 olsun.

 İşletim sistemi 1.1.1.2 ip adresli hosta paketleri gönderirken 00:11:11:33:44:55 mac adresli makineye gidecek şekilde hazırlar ve gönderir..

 Ağdaki başka bir makine bu ip adresini uzerine alsa bile MAC adresi 00:11:22:33:44:55 olmadıktan sonra paketler spoof eden hosta geri dönmeyecektir.

 Bu yöntemin bir yararı da yerel ağlardaki MITM atakları kolaylıkla engelleyebilmesidir.

 Biraz karisik gorunsede suana kadar yan etkisini gormedim, gayet iyi calisiyor.

 Ekte Mac adresini degistiren hazin bir kullanicinin sonu gozukuyor.

 

# tcpdump -i fxp0 -tttnn -e icmp

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on fxp0, link-type EN10MB (Ethernet), capture size 96 bytes

000000 00:22:33:44:55:66 > 00:04:23:0c:5d:b8, ethertype IPv4 (0×0800), length 98: 1.2.3.4> 5.6.7.8: ICMP echo request, id 56936, seq 42, length 64

000051 00:04:23:0c:5d:b8 > 00:08:74:db:01:f8, ethertype IPv4 (0×0800), length 98: 1.2.3.5> 1.2.3.4: ICMP echo reply, id 56936, seq 42, length 64

1. 009937 00:22:33:44:55:66 > 00:04:23:0c:5d:b8, ethertype IPv4 (0×0800), length 98: 1.2.3.4> 5.6.7.8: ICMP echo request, id 56936, seq 43, length 64

000055 00:04:23:0c:5d:b8 > 00:08:74:db:01:f8, ethertype IPv4 (0×0800), length 98: 1.2.3.5> 1.2.3.4: ICMP echo reply, id 56936, seq 43, length 64

^C

4 packets captured

16 packets received by filter

 

Topics: Network Security |

3 Responses to “Firewall/Router’dan Ip-MAC degisimini kontrol etmek”

  1. Serdar Says:
    August 28th, 2007 at 12:13 am

    Genel ağda da bu tür sorunlar mevcut. Okullardan internete girişleri denetlemek için MEB yetkilileri TTNET ile protokol yapmış. Pek çok oyun vb siteyi oluşturdukları kara listeye eklemişler. Aslında bu durum öğrencilerin olduğu kadar bizlerin de keyfini kaçırıyor. Neyse ki imdada aşağıdaki vb. proxy sunucular yetişiyor. Bu makaleyi MEB yetkilileri okumasın! :)

    http://www.pagewash.com/ http://www.anonymization.net/ vb….

  2. Ali Says:
    August 28th, 2007 at 10:59 pm

    Meraba,
    Benim anlamadigim nokta, bizim firewall uzerine, networkteki tum hostlarin mac-ip eslesmesini statik olarak girmemizin, firewall’un kendi ozelilgi olan mac-ip binding dedigimiz ozellikten farki nedir. Firewall ilk yontemde, paketi aliyor, yoruluyor, paketin karsiligini gonderiyor ama spoof yapan kisiye donmuyor ve guvenlik saglaniyor. 2. yontemde ise, paketi aliyor, ne tur bi action sergileyecegine karar vermeden once, mac-ip tablosuna bakiyor, eslesme gerceklesmedi ise drop ediyor. Yani ben olayin olceklenebilirlik tarafini anlayamadim. Tabi 2. olaydaki surec gercekten benim dedigim gibimi isliyor.

  3. Huzeyfe ONAL Says:
    August 29th, 2007 at 10:42 am

    Firewall’un kendi ozelligi olan mac-ip binding nasil calisiyor bilmiyorum ama her durumda sisteme statik olarak kayitlarin girilmesi gerekir. yoksa sistem neye gore karar verecek?

    Sistemin kendisine gelen 3-5(300-500) paketi farkli mac adresine yonlendirmesi performans problemine sebep olmaz.

Comments

Anket Köşesi


Teknik bloglarda icerik nasil olmali?
View Results

Archives

Friends

Life(over)IP Network



View my profile on Turk Blog Yazarlari