Ağ Güvenliğinde Gözcünüz: Arpwatch ile Yerel Ağ İzleme ve Analizi
ArpWatch, yerel ağ (LAN) üzerindeki IP adresi ↔ MAC adresi eşleşmelerini izleyen bir ağ güvenliği ve izleme aracıdır. Ağdaki cihazların ARP (Address Resolution Protocol) trafiğini takip ederek yeni cihazları, MAC değişikliklerini ve şüpheli hareketleri tespit etmeye yardımcı olur. Özellikle ARP Spoofing / ARP Poisoning, yetkisiz cihaz bağlantıları ve IP-MAC tutarsızlıklarını fark etmek için kullanılır. (Linux Wiki)
1. ARP Nedir?
ArpWatch’i anlamadan önce ARP’yi bilmek gerekir.
ARP (Address Resolution Protocol), bir IP adresinin hangi MAC adresine ait olduğunu öğrenmek için kullanılan protokoldür.
Örnek:
| IP | MAC |
|---|---|
| 192.168.1.10 | 00:11:22:33:44:55 |
Bir cihaz ağdaki başka bir cihaza ulaşmak istediğinde:
IP adresini bilir
MAC adresini öğrenmek için ARP isteği gönderir
Hedef cihaz MAC adresiyle cevap verir
İletişim başlar
Bu işlem ARP tablosunda tutulur.
2. ArpWatch Nedir?
ArpWatch, ağdaki bu IP-MAC eşleşmelerini **sürekli gözlemleyen bir daemon (arka plan servisi)**dir.
Temel görevleri:
Yeni cihazları tespit etmek
MAC adres değişikliklerini izlemek
Aynı IP’nin farklı MAC ile kullanılmasını fark etmek
Ağ envanteri oluşturmak
Güvenlik uyarıları göndermek
ARP Spoofing belirtilerini raporlamak
ArpWatch ilk olarak 1990’larda geliştirilmiş açık kaynaklı bir güvenlik aracıdır. (Vikipedi)
3. ArpWatch Nasıl Çalışır?
Çalışma mantığı oldukça basittir:
Adım 1 – ARP Trafiğini Dinleme
ArpWatch ağ kartını dinler.
Örnek:
192.168.1.1 -> aa:bb:cc:11:22:33
Adım 2 – Veritabanına Kaydetme
Bilgiler genellikle:
/var/lib/arpwatch/arp.dat
dosyasında tutulur.
Adım 3 – Değişiklik Tespiti
Eğer:
192.168.1.1
önceden:
aa:bb:cc:11:22:33
iken daha sonra:
de:ad:be:ef:55:66
olursa ArpWatch bunu olağan dışı kabul eder.
Adım 4 – Alarm / Log
Olay:
syslog
e-posta
terminal çıktısı
olarak raporlanabilir. (Linux Wiki)
4. ArpWatch Kurulumu
Linux sistemlerde yaygın olarak kullanılır.
Ubuntu / Debian
sudo apt update
sudo apt install arpwatch
CentOS / RHEL
sudo yum install arpwatch
veya:
sudo dnf install arpwatch
Kurulum sonrası servis kontrolü:
systemctl status arpwatch
Başlatma
sudo systemctl start arpwatch
Kalıcı başlatma:
sudo systemctl enable arpwatch
5. Temel Kullanım
Belirli Interface İzleme
Ethernet kartı:
sudo arpwatch -i eth0
Kablosuz:
sudo arpwatch -i wlan0
Arka Planda Çalıştırma
sudo arpwatch
Daemon olarak çalışır.
Ön Planda (Debug)
Eğitim ve test için:
sudo arpwatch -D
Bu mod:
anlık çıktı
hata ayıklama
test
için faydalıdır. (Linux Wiki)
6. ArpWatch Logları
Genellikle:
/var/log/syslog
veya:
journalctl
üzerinden izlenir.
Örnek:
journalctl -u arpwatch
Örnek log:
new station 192.168.1.20 44:55:66:77:88:99
Anlamı:
Yeni cihaz ağa bağlandı.
Bir diğer örnek:
changed ethernet address
Bu:
IP’nin MAC adresi değişti
anlamına gelir.
Çoğu zaman:
NIC değişimi
DHCP yenilemesi
sanal makine
veya şüpheli spoofing
nedeniyle görülür.
7. ArpWatch Uyarı Türleri
ArpWatch farklı olaylar üretir.
1. New Station
Yeni cihaz.
Örnek:
new station
2. Changed Ethernet Address
MAC değişimi.
Örnek:
changed ethernet address
3. Flip Flop
En dikkat çekici uyarılardan biridir.
Bir IP kısa sürede:
MAC-A → MAC-B → MAC-A
şeklinde değişirse:
flip flop
uyarısı oluşur.
Bu durum bazen:
ARP Spoofing
MITM girişimi
yanlış ağ yapılandırması
ile ilişkili olabilir. (Linux Wiki)
8. E-posta Bildirimi
ArpWatch yöneticilere e-posta gönderebilir.
Örnek:
sudo arpwatch -m admin@mail.com
Gönderen:
sudo arpwatch -m admin@mail.com -e monitor@mail.com
Bu özellik özellikle:
okul ağı
kurum ağı
veri merkezi
ortamlarında faydalıdır. (Linux Wiki)
9. ARP Spoofing ile İlişkisi
ArpWatch doğrudan saldırıyı engellemez.
Fakat belirtileri tespit eder.
ARP Spoofing’de saldırgan:
Gateway benim MAC adresimdir
şeklinde sahte ARP cevapları yollar.
Sonuç:
trafik yönlendirme
MITM
oturum çalma
veri dinleme
olabilir.
ArpWatch burada:
"Gateway MAC adresi değişti"
uyarısı verebilir.
Bu nedenle güvenlik izleme zincirinde önemli bir araçtır. (TechTarget)
10. Eğitim Amaçlı Güvenli Laboratuvar Testi
⚠️ Sadece size ait veya izinli laboratuvar ortamında uygulanmalıdır.
ArpWatch’in çalışmasını görmek için:
Önce izleme başlatılır:
sudo arpwatch -i eth0 -D
Başka bir cihaz ağa bağlandığında:
new station
çıktısı görülür.
MAC değişimi veya sanal cihaz eklenmesi gibi kontrollü ağ değişiklikleri loglarda izlenebilir.
Bu yöntem:
güvenlik laboratuvarı
ağ eğitimi
SOC eğitimi
için uygundur.
11. Avantajları
Hafif
Düşük RAM ve CPU kullanır.
Kurulumu kolay
Dakikalar içinde devreye alınabilir.
Pasif izleme
Ağ trafiğini bozmaz.
Güvenlik görünürlüğü
Yeni cihaz ve değişimleri gösterir.
Envanter oluşturma
Ağdaki cihazları kaydeder.
12. Sınırlamaları
ArpWatch her şeyi çözmez.
Bazı sınırlamalar:
IPv4 ağırlıklı
ARP yalnızca IPv4 içindir.
IPv6 için:
NDP
addrwatch
andwatch
gibi araçlar tercih edilebilir. (Reddit)
Gürültülü ağlar
Modern ağlarda:
random MAC
telefonlar
misafir cihazlar
VM’ler
çok uyarı üretebilir.
Bu nedenle:
DHCP logları
switch MAC tabloları
NAC / 802.1X
ile birlikte kullanılması tavsiye edilir. (Reddit)
13. ArpWatch ile Kullanılabilecek Araçlar
Birlikte kullanılabilir:
| Araç | Amaç |
|---|---|
| tcpdump | Paket yakalama |
| Wireshark | Görsel analiz |
| arping | ARP testleri |
| Nmap | Ağ keşfi |
| SIEM | Merkezi log analizi |
Sonuç
ArpWatch, küçük ve orta ölçekli ağlarda IP-MAC değişimlerini takip ederek güvenlik görünürlüğü sağlayan hafif ama etkili bir izleme aracıdır.
Özellikle:
yeni cihaz tespiti
ağ envanteri
ARP anomalileri
olası spoofing belirtileri
için değerli bir yardımcıdır.
Tam bir güvenlik çözümü değildir; ancak ağ savunmasında erken uyarı sistemi görevi görebilir. (Linux Wiki)
Yerel ağlarda cihazların birbiriyle iletişim kurabilmesi için IP adreslerinin fiziksel MAC adresleriyle eşleştirilmesi gerekir. Bu görevi üstlenen Address Resolution Protocol (ARP), doğası gereği güvenliğe odaklanarak tasarlanmamıştır. Bu zafiyet, özellikle siber güvenlik laboratuvarlarında ve gerçek dünya senaryolarında sıkça karşılaşılan ARP Zehirlenmesi (ARP Spoofing) gibi Ortadaki Adam (MitM) saldırılarına kapı aralar.
Ağ altyapısını korumak ve savunma mekanizmalarını (Blue Team) güçlendirmek için ağdaki ARP hareketlerini sürekli izlemek kritik bir adımdır. İşte bu noktada Arpwatch devreye girer.
Arpwatch Nedir?
Arpwatch, yerel bir ağdaki Ethernet (MAC) ve IP adresi eşleşmelerini sürekli olarak izleyen, kaydeden ve bu eşleşmelerde anormal bir değişiklik olduğunda sistem yöneticisine uyarı (log veya e-posta) gönderen açık kaynaklı bir ağ güvenlik aracıdır.
Özellikle laboratuvar ortamlarında veya kurumsal ağlarda şu amaçlarla kullanılır:
Ağa yeni bağlanan cihazları anında tespit etmek,
Bir IP adresinin MAC adresinin aniden değişmesini (olası bir ARP Spoofing saldırısı) yakalamak,
Ağdaki cihazların IP-MAC envanterini (veri tabanını) çıkarmak.
Arpwatch Nasıl Çalışır?
Arpwatch, arka planda bir servis (daemon) olarak çalışır ve ağ arayüzüne (örneğin eth0 veya ens33) gelen ARP paketlerini pasif olarak dinler (sniffing). Elde ettiği IP-MAC eşleşmelerini varsayılan olarak /var/lib/arpwatch/arp.dat adlı düz metin tabanlı bir veri tabanı dosyasına kaydeder.
Eğer ağda mevcut bir IP adresi, veri tabanındaki MAC adresinden farklı bir yeni MAC adresiyle ARP yayını yaparsa, Arpwatch bunu bir güvenlik ihlali olarak değerlendirir ve anında log üretir.
Pardus ve Debian Tabanlı Sistemlerde Arpwatch Kurulumu
Arpwatch; Pardus, Debian veya Ubuntu gibi dağıtımların resmi depolarında yer alır. Terminal üzerinden hızlıca kurulabilir:
sudo apt-get update
sudo apt-get install arpwatch
Kurulum tamamlandıktan sonra servisin durumunu kontrol etmek ve başlatmak için:
# Servisi başlatmak için
sudo systemctl start arpwatch
# Sistem açılışında otomatik başlaması için
sudo systemctl enable arpwatch
# Servisin güncel durumunu kontrol etmek için
sudo systemctl status arpwatch
Yapılandırma ve Parametreler (arpwatch.conf)
Arpwatch'ın nasıl davranacağını, hangi ağ arayüzünü dinleyeceğini ve uyarıları nereye göndereceğini /etc/arpwatch.conf dosyası üzerinden ayarlayabilirsiniz.
Dosyayı düzenlemek için:
sudo nano /etc/arpwatch.conf
Örnek bir yapılandırma satırı:
eth0 -a -n 192.168.1.0/24 -m guvenlik@alanadi.com
Sık Kullanılan Parametreler:
-i(Interface): Dinlenecek ağ arayüzünü belirtir (Örn:eth0).-a: Yeni kayıtları mevcut veri tabanı dosyasının üzerine yazmak yerine sonuna ekler (append).-n(Network): Dinlenecek yerel ağın bloğunu ve alt ağ maskesini belirtir (Örn:192.168.1.0/24). Bu, yerel ağ dışındaki (bogon) IP'lerin raporlanmasını engeller.-m(Mail): Olağandışı bir durum tespit edildiğinde uyarı e-postasının gönderileceği adresi belirtir.-f(File): MAC/IP eşleşmelerinin tutulacağı veri tabanı dosyasının yolunu belirtir.
Not: E-posta uyarılarının çalışabilmesi için Proxmox üzerindeki sanal makinenizde veya fiziksel sunucunuzda Postfix ya da Sendmail gibi bir e-posta iletim aracısının (MTA) yapılandırılmış olması gerekir.
Günlüklerin (Logların) İncelenmesi ve Yorumlanması
Arpwatch uyarıları varsayılan olarak sistem günlüklerine yazılır. Tespit edilen olayları gerçek zamanlı incelemek için terminalde şu komutu kullanabilirsiniz:
sudo tail -f /var/log/syslog | grep arpwatch
Sık Karşılaşılan Log Mesajları ve Anlamları:
new station(Yeni Cihaz): Ağa ilk defa bağlanan yeni bir MAC adresi tespit edildiğinde görülür.new station 192.168.1.50 00:1a:2b:3c:4d:5echanged ethernet address(Değişen MAC Adresi): Bir IP adresinin eşleştiği MAC adresi değiştiğinde görülür. Bu durum, bir DHCP yenilemesinden kaynaklanabileceği gibi, ağda aktif bir ARP Spoofing saldırısı olduğunun en net göstergesidir.changed ethernet address 192.168.1.1 00:11:22... -> 00:aa:bb...flip flop: İki farklı MAC adresinin aynı IP adresini çok kısa aralıklarla alması durumudur. Ağda bir IP çakışması olduğunu veya bir saldırganın ağ geçidini (gateway) taklit etmeye çalıştığını gösterir.
Siber Güvenlik Eğitim Senaryolarında (Blue Team) Kullanımı
Siber güvenlik müfredatlarında ve bitirme senaryolarında Arpwatch, savunma takımlarının (Blue Team) ağ anormalliklerini tespit etmesi için harika bir pratik aracıdır.
Öğrenciler laboratuvar ortamında bir simülasyon gerçekleştirdiğinde (örneğin kırmızı takım Kali Linux üzerinden ağı zehirlediğinde), mavi takımdaki öğrenciler Arpwatch loglarını izleyerek saldırıyı anında tespit edebilir ve Olay Müdahale (Incident Response) raporlarını doğrudan bu loglara dayandırarak hazırlayabilirler.
Arpwatch'ın oluşturduğu veri tabanı dosyasını manuel olarak incelemek için:
cat /var/lib/arpwatch/arp.dat
Yorumlar