arpwatch

Jan 16th, 2008

Bildiğiniz gibi MAC adresleri IP adresleri gibi değiştirilebilmektedir. Normal olarak MAC adresleri tektir. Yani bir benzeri daha olmaması için tasarlanmıştır. 48 bit’ten oluşan bu adreslerin yazılımı genelde değişmektedir. Mesela; 00:11:22:33:44:55, 00-11-22-33-44-55,0011.2233.4455 gibi.

MAC adreslerini eskiden güvenlik elemanı olarak görmekteydik. Ama son zamanlarda MAC adresi değiştirilmesi kolaylaşmıştır. Bu yüzden kullanıcı tabanlı güvenlik elemanları kullanılmaktadır (IEEE 802.1X gibi). Yerel ağlarda MAC adreslerinin takibi için bazı olanaklar mevcuttur. Bunların bir kısmı, önemli bir kısmı, cihaz tabanlıdır. Pekçok cihaz, yönetilebilir cihazlar, MAC adreslerinin kayıtlarına ulaşmamıza izin vermektedir. Hatta bu kayıtlar üzerinde bazı değişiklikler de yapılabilmektedir.

Burada MAC ve ARP kavramlarını açıklamakta yarar var. Address Resolution Protocol (ARP) olarak kısaltılmıştır. Media Access Control (MAC) ise adaptörler üzerindeki tekil adrestir. ARP işlemi ile mantıksal adres olan ağ (IP) adresinden fiziksel adres olarak nitelendirlen MAC adresi bulunur. Bunun için MAC adresini öğrenmek isteyen cihaz ARP Request paketi gönderir. Bu paket tüm ağa gönderilir. Yani, hedef MAC adresi broadcast, FF:FF:FF:FF:FF:FF, adresidir. Eğer bu IP adresin sahibi varsa sadece o ARP Reply ile cevap döner. Bazı durumlarda yönlendirici cihazlarda bu isteğe cevap verebilirler.

ARP tabanlı pekçok saldırı çeşidi mevcuttur. Bunlara karşı bazı önlemler de alınabilmektedir. Arpwatch vb. uygulamalar bize bu önlemlerde yardımcı olabilecek açık kaynak kodlu yazılımlardır. Bunun gibi arpalert, arpscan, arping uygulamalarıda genelde bu sorunların bulunması ve giderilmesinde yardımcı olmaktadır.

Arpwatch uygulaması açık kaynaklı olup yerel ağda bulunan ARP faaliyetlerinin takip edilmesinde kullanılmaktadır (bkz http://en.wikipedia.org/wiki/Arpwatch). Uygulama pekçok sürümle beraber gelmektedir. Debian sistemlerinde;

# aptitute install arpwatch

kurulumun gerçekleşmesini sağlayacaktır. Tüm uygulamaların genel özelliği (hemen hemen) en az bir adet kullanım klavuzuna (manual) sahip olmasıdır.

# man arpwatch

Kullanım klavuzları pekçok bilgi ile doludur. Klavuzun en altında ilgili dosya ve komutların listesi de işlevseldir. Mesela arpwatch komutunun arp kayıtlarını tuttuğu varsayılan dosyanın ismini ve yerini buradan öğreniriz.

Kurulumdan sonra (root hakkıyla kurulmalı) debian sistemlerinde otomatik çalışmaya başlamaktadır. İstenirse elle de çalıştırılabilmektedir. /etc/defaults/arpwatch dosyası içerisinde varsayılan başlatma değerleri mevcuttur. Kısaca;

-u <kullanıcı ismi> : Uygulamayı başka bir kullanıcı adına çalıştırmanızı sağlar.

-N : Bogon ağlarının raporlanmasını engeller.

-p : Promiscuous kipte çalışmasını engeller.

-i <arayüz> : Hangi arayüzü dinleyeceğini belirtir.

-f <path/dosya ismi> : ARP kayıtlarını hangi dosyada tutacağını belirtir. Varsayılan /var/lib/arpwatch/arp.dat dosyasıdır.

-Q : Uygulamanın eposta ile rapor göndermesini engeller.

Mesela;

# /usr/sbin/arpwatch -u arpwatch -N -Q -f /var/lib/arpwatch/yurtlar.dat -i eth1

Kullanım klavuzuna göz atarsak;

Note that an empty arp.dat file must be created before the first time you run arpwatch.

Buna göre arp.dat dosyasının oluşturulması gerekmektedir. Yani -f opsiyonu ile verilen dosya ismi daha önceden ilgili yerde oluşturulmalıdır.

# touch /var/lib/arpwatch/yurtlar.dat

Tüm mesajlar syslog aracılığı ile kaydedilir. Genelde /var/log/syslog dosyası içerisinde mesajları bulabiliriz.

# less syslog

Jan 1 01:26:38 nbl arpwatch: new station 10.1.13.98 0:e:b0:6b:6a:ba eth1

Jan 5 11:26:39 nbl arpwatch: new station 10.1.13.22 0:0:f5:5b:3d:fd eth1

Jan 5 13:07:11 nbl arpwatch: changed ethernet address 10.1.13.22 0:1:f2:75:d:53 (0:0:f5:5b:3d:fd) eth1

Jan 6 22:28:19 nbl arpwatch: flip flop 10.1.13.250 0:b:24:85:e:39 (0:1:4:79:1a:a2) eth1
..

Burada yeni ARP kayıtlarını, değişiklikleri ve anlık değiştirenleri görmekteyiz. Aynı zamanda tüm ARP reply, request paketlerini de görebiliriz. Herhangi bir ARP-Flooding yaparsa, anahtarlama cihazlarını kandırmaya yönelik bir aktivite, bunların bulunması kolaylaşır. Gelen giden tüm kayıtları arpwatch izler ve not eder.

Burada ağ yöneticisinin yapması gereken bu kayıtları düzgün bir şekilde takip etmek ve gerekli önlemleri almaktır.

Son olarak kullanım klavuzunun sonunda bulunan;

SEE ALSO
arpsnmp(8), arp(8), bpf(4), tcpdump(1), pcapture(1), pcap(3)

arpsnmp komutu ise yönetilebilir anahtarlar için kullanım kolaylığı sağlayan bir uygulamadır. Bu komut ile arpwatch benzeri bir yapıyı anahtarlar üzerinden kurabilirsiniz.

Tags:
  1. msurucu
    Feb 6th, 2008 at 11:31
    Reply | Quote | #1

    Windows kullanıcıları için de XARP programı oldukça faydalı olabilmektedir. http://www.chrismc.de/developing/xarp/XArp_0.1.5_win2000_winxp.zip adresinden freeware versiyonu indirilebilir, http://www.chrismc.de adresinden de gerekli dökümanlara ulaşılabilir.