Bu Yazıda DHCP Snooping Nedir, Nasıl Çalışır, Hangi Saldırıları Önler (DHCP Exhaustion Attack, DHCP Poisoning Attack), DHCP Mesajları, DHCP Snooping Yapılandırması, DHCP Rate Limiting ve DHCP Option 82 Hakkında Bilgi Edineceğiz.
DHCP Snooping, Cisco Switch'de Bulunan ve DHCP Saldırılarına Karşı Koruma Sağlayan Güvenlik Özelliğidir.
DHCP Snooping
- Untrusted Portlardan Alınan DHCP Mesajlarını Filtrelemek için Kullanılır.
- Yalnızca DHCP Mesajları Filtrelenir, Diğer Trafik Etkilenmez.
- Varsayılan olarak Tüm Portlar Untrusted Durumdadır.
- Genellikle Uplink Portlar Trusted Port olarak Yapılandırılır ve Downlink Portlar Untrusted olarak Kalır.
Topoloji
R1, DHCP Server veya DHCP Relay Agent olabilir. Sonuç olarak Hostlar, DHCP ile IP Adresi Almak için R1'i Kullanacaktır.
Switch'deki Downlink Portlar (Hostlara Doğru Bakan Portlar) Untrusted Port olmalıdır.
Ağ Yöneticisinin Hostlar Üzerinde Doğrudan Kontrolü Yoktur. Kötü Niyetli Bir Kullanıcı, Cihazların Birinden DHCP Tabanlı Saldırı Başlatabilir, Bu Nedenle Bu Portları Varsayılan olarak Untrusted Durumda Bırakmak En İyisidir.
Switch'deki Uplink Portlar, Ağ Yöneticisinin Kontrol Ettiği Cihazları İşaret Eder. Örneğin R1'in Bir Tür DHCP Tabanlı Saldırı Başlatmayacağından oldukça Emin olabiliriz. Böylece Bu Portları Trusted Port olarak Yapılandırabiliriz.
DHCP Snooping, Trusted Portlardaki Hiçbir DHCP Mesajını İncelemez, Switch Bunları Normal Şekilde İletir.
Örnek
PC1, Bir DHCP Mesajı Gönderiyor. SW1 Mesajı Untrusted Portundan Aldı, Bu Nedenle Mesajın Uygun olup olmadığını Kontrol eder. Mesajın İyi olduğunu Belirler, Bu Nedenle Normal Şekilde İletir.
SW2 de Mesajı Untrusted Portundan Aldı, Bu Nedenle Mesajı Kontrol Eder ve Uygun olduğunu Belirler, Bu Yüzden onu R1'e İletir.
R1, DHCP Mesajının Tanıtını Gönderir ve Mesaj, SW2 ve SW1 Tarafından Denetlenmeden Doğrudan PC1'e İletilir.
Örnek 2
Bu Sefer PC2 Bir DHCP Mesajı Gönderiyor. SW1, Mesajı Untrusted Portundan Aldığından Dolayı Mesajı İnceler. Ancak Bu Sefer Uygun olmadığını Belirler ve Mesajı Çöpe Atar.
DHCP Snooping'in Koruyabileceği DHCP Tabanlı Saldırı Örneklerine Bakalım.
DHCP Starvation / DHCP Exhaustion
- Saldırgan, Sahte Kaynak MAC Adresler Kullanarak Ağa Sürekli olarak DHCP Discover Mesajları Gönderiyor.
DHCP Mesajında Client'in MAC Adresini Belirtmek için CHADDR (Client Hardware Address) Alanı Kullanılır. DHCP Server Frame'in Source MAC Adresine Bakabiliyorken Bu Alana Neden İhtiyaç Duyuyor?
DHCP Server Yerel Ağda (LAN) olduğu Zaman Bir Sorun Yoktur. Ancak DHCP Server Uzak Bir Ağdaysa ve DHCP Mesajları DHCP Relay Agent Tarafından İletilirse DHCP Server, Client'in Gönderdiği Frame'i Aldığında Source MAC Adres, Client'in MAC Adresi olmayacaktır. Bu Nedenle Client'i Tanımlamak için CHADDR Alanı Kullanılır. Genellikle Source MAC Adres ile CHADDR Alanının Değeri Aynıdır.
DHCP Discover Mesajları, DHCP Server'ın DHCP Havuzunun (DHCP Pool) Dolmasına Neden olur. Bu Durum Diğer Cihazlar için DoS ile Sonuçlanır, IP Adres Alamazlar.
DHCP Poisoning / DHCP Spoofing (Man-in-the-Middle)
ARP Poisoning Saldırısına Benzer Şekilde DHCP Poisoning, Man-in-the-Middle Saldırısı Gerçekleştirmek için Kullanılabilir.
Sahte DHCP Server, Client'lerin DHCP Discover Mesajlarına Yanıt Verir ve Onlara IP Adres Atar. Böylece Client'ler, Default Gateway olarak Sahte DHCP Server IP'sini Kullanır.
R1, Gerçek DHCP Server ve Ayrıca Default Gateway'dir.
DHCP Server'ların Her İkisi de Client'lerin DHCP Discover Mesajlarına Yanıt Verir, Ancak Client'ler Genellikle Aldıkları İlk DHCP Offer Mesajını Kabul Eder.
Gerçek DHCP Server Uzak Bir Ağdaysa ve R1 Yalnızca DHCP Relay Agent olarak Hareket Ediyorsa, Yerel Ağda olduğu için Büyük İhtimalle Saldırganın DHCP Offer Mesajı Client'lere Daha Önce Ulaşır.
Client'ler Default Gateway olarak Saldırganı Kullanırsa Dış Ağlara Gönderilmek İstenen Trafik Gerçek Default Gateway (R1) Yerine Saldırgana Gönderilecektir.
Saldırgan Trafiği Gerçek Default Gateway'e İletmeden Önce İnceleyebilir ve Değiştirebilir. Örneği Daha Ayrıntılı İnceleyelim.
PC1, DHCP Discover Mesajı (Broadcast) Gönderiyor. Switch Mesajı Aldığı Port Dışında Tüm Portlarından Gönderir (Flood). Böylece Saldırgan Dahil olmak Üzere Yerel Ağdaki Tüm Cihazlar Mesajı Almış olur.
Hem Saldırgan Hem de R1, PC1 için DHCP Offer Mesajı Gönderir. Ancak Bu Örnekte Önce Saldırganın DHCP Offer Mesajı PC1'e ulaşıyor.
PC1, R1'e DHCP DECLINE Mesajı Gönderecektir. Bu Mesaj Türünün Amacını Tahmin Edebileceğinizi Düşünüyorum.
PC1, Saldırgan ile DHCP D-O-R-A Sürecini Tamamlar. PC1'in IP Adresi: 172.16.1.10 ve Default Gateway Adresi: 172.16.1.2 (Saldırgan).
PC1, İnternet gibi Bir Dış Ağa Trafik Göndermek İsterse Trafik Saldırgana Gönderilir. Saldırgan Gelen Trafiği İnceleyebilir veya Değiştirebilir, Sonunda Onu Dış Hedefe Gönderecek olan Gerçek Default Gateway'e Gönderir. Trafik Hedefine ulaştığı için PC1 Muhtemelen Trafiğinin Saldırgan Tarafından Ele Geçirildiğini Fark Etmeyecektir.
DHCP Mesajları
DHCP Snooping Mesajları Filtrelerken DHCP Server Mesajları ile DHCP Client Mesajları Arasında Ayrım Yapar.
Untrusted Portlardan Alınan DHCP Server Mesajları, Herhangi Bir Kontrol Yapılmadan Her Zaman Reddedilir. DHCP Client Mesajları ise İncelenecek ve Ardından Switch Frame'i İletmeye veya Silmeye Karar Verecektir.
DHCP Server Tarafından Gönderilen Mesajlar
- OFFER
- ACK
- NAK = ACK Mesajının Tersidir. Client'in REQUEST Mesajını Reddetmek için Kullanılır.
DHCP Client Tarafından Gönderilen Mesajlar
- DISCOVER
- REQUEST
- RELEASE = Client'in DHCP Server ile Öğrendiği IP Adresi Bırakması için Kullanılır.
- DECLINE = REQUEST Mesajının Tersidir. DHCP Server Tarafından Sunulan IP Adresi Reddetmek için Kullanılır.
DHCP Snooping İşlemleri (DHCP Mesaj Filtreleme)
Trusted Portta DHCP Mesajı Alınırsa Switch Mesajı İncelemeden Normal Şekilde İletir.
Untrusted Portta DHCP Mesajı Alınırsa Switch Mesajı İnceler.
- Bu Bir DHCP Server Mesajıysa Switch Mesajı Siler. Untrusted Portta Alınan Herhangi Bir OFFER, ACK, NAK Mesajı Reddedilecektir.
- Bu Bir DHCP Client Mesajıysa Switch Aşağıdaki Kontrolleri Gerçekleştirir:
- DISCOVER / REQUEST Mesajları
- Frame'in Source MAC Adresi ile DHCP Mesajının CHADDR Alanının Eşleşip Eşleşmediğini Kontrol Eder. Eşleşirse Mesaj İletilir, Eşleşmezse Mesaj Silinir.
- Saldırgan DHCP Mesajının CHADDR Alanını Değiştirdiğinde Bu Kontrol Saldırılara Karşı Koruma Sağlayabilir. Ancak Bu Kontrol Tam Koruma Sağlamaz, Çünkü Saldırgan Frame'in Source MAC Adresini de Değiştirebilir.
- RELEASE / DECLINE Mesajları
- Paketin Source IP Adresi ile Mesajı Alan Portun DHCP Snooping Binding Tablosundaki Girişine Bağlı IP Adresin Eşleşip Eşleşmediğini Kontrol Eder. Eşleşirse Mesaj İletilir, Eşleşmezse Mesaj Silinir.
- DHCP Snooping Etkinleştirildiğinde ve Client, DHCP Server'dan Bir IP Adres Kiraladığında Switch, DHCP Snooping Binding Tablosunda Yeni Bir Giriş oluşturur.
DHCP Snooping Yapılandırması
Topoloji
DHCP Snooping Etkinleştirme Komutları:
- ip dhcp snooping
- ip dhcp snooping vlan vlan-id
İlk olarak ip dhcp snooping Komutu ile Global olarak DHCP Snooping Etkinleştirmeniz ve Ardından ip dhcp snooping vlan vlan-id Komutu ile Gerekli olan Her VLAN'da Etkinleştirmeniz Gerekir. Bu Ağda Tek VLAN olduğundan VLAN 1 için Etkinleştirdim.
no ip dhcp snooping information option
Her Komut Zaman Gerekli Değildir, Ancak Ağ Tasarımına Bağlı olarak Bu Komuta İhtiyacınız olabilir.
DHCP Snooping Trusted Port Yapılandırma Komutu (config-if): ip dhcp snooping trust
Switch'in Varsayılan olarak Tüm Portları Untrusted Porttur, Bu Nedenle Hangi Portları Trusted Port olarak Ayarlayacağımızı Manuel Belirlememiz Gerekir. SW2 G0/0 Portu Bu ağdaki DHCP Server olan R1'e Bağlı, Bu Yüzden Trusted Port olarak Yapılandırdık.
SW1 Yapılandırması
DHCP Snooping Binding Table Görüntüleme Komutu: show ip dhcp snooping binding
PC1, PC2 ve PC3, DHCP Server Üzerinden IP Adres Aldı. Bu Tablo MAC Adresini, IP Adresini, Kira Süresini, VLAN Numarasını ve Port Bilgisini Gösterir.
RELEASE / DECLINE Mesajlarında Paketin Source IP Adresi ile Mesajı Alan Portun DHCP Snooping Binding Tablosundaki Girişine Bağlı IP Adresin Eşleşip Eşleşmediği Kontrol Edilir. Böylece Saldırganların Ağdaki Diğer Cihazlar Adına RELEASE / DECLINE Mesajları Göndermeleri Önlenir.
DHCP Snooping Rate-Limiting
DHCP Snoping Rate-Limiting, Untrusted ve Trusted Portlarda Varsayılan olarak Devre Dışıdır. Etkinleştirilirse Porta Giren DHCP Mesaj Hızını Sınırlar. DHCP Mesaj Hızı Yapılandırılmış Sınırı Aşarsa Port err-disable Duruma Gelir.
Port Security ile Aynı Şekilde Portu shutdown ve no shutdown Komutları ile Yeniden Açabilir veya Errdisable Recovery ile Otomatik olarak Portun Etkinleştirilmesini Sağlayabilirsiniz.
DHCP Snooping Rate Limit Yapılandırma Komutu (config-if): ip dhcp snooping limit rate dhcp-packets-per-second
Limiti Saniyede 1 DHCP Mesajı olarak Ayarlarsanız Normal DHCP Mesajları Bile Switch Portunu Devre Dışı Bırakabilir (err-disable). Bu Örnekte SW1 G0/1 Portunu Kolayca Devre Dışı Bırakabilmek için 1'e Ayarladım.
Bu Syslog Mesajları, G0/1 Portunun İzin Verilenden Daha Fazla DHCP Mesajı Aldığını, Dolayısıyla err-disable Durumda Geldiğini Belirtiyor.
Portu Manuel olarak Yeniden Etkinleştirebiliriz, Ancak Bu Örnek için Errdisable Recovery Kullanalım.
DHCP Rate Limiting için Errdisable Recovery'nin Nasıl Etkinleştirileceği Aşağıdaki Resimde Gösterilmiştir.
DHCP Rate Limiting, DHCP Exhaustion Saldırısına Karşı Yararlı olabilir.
Saldırganlar, DISCOVER ve REQUEST Mesajlarının DHCP Snooping Filtrelemesini Atlatmak için Hem Frame'in Source MAC Adresini Hem de DHCP Mesajının CHADDR Alanını Değiştirebilir.
Ancak DHCP Rate Limiting Sayesinde DHCP Server'ın Sahte DHCP DISCOVER Mesajları Almasını Önleyebiliriz. Saldırgan DHCP Server'ın DHCP Havuzunu (DHCP Pool) DHCP DISCOVER Mesajları ile Doldurmaya Çalışırsa Port Devre Dışı Bırakılır.
DHCP Option 82 (Information Option)
Option 82, DHCP Relay Agent Information Option olarak Bilinir.
DHCP Yazısında DHCP Mesajında Bulunan ve Farklı İşlevler Sağlayan Option'ların olduğundan Bahsetmiştim. Option 82 Bunlardan Biridir.
Option 82, DHCP Relay Agent'in Client Mesajını Hangi Portta, Hangi VLAN'da Aldığı, vb. Hakkında Ek Bilgi Sağlar. DHCP Relay Agent, Uzak DHCP Server'a Gönderdiği Mesajlara Option 82 Ekleyebilir.
DHCP Snooping Etkinleştirildiğinde Cisco Switch, Client'den Aldığı DHCP Mesajına DHCP Relay Agent olarak Hareket Etmese Bile Varsayılan olarak Option 82 Ekler. Bu Sorunlara Neden olabilir. İşte Onlardan Biri:
Varsayılan olarak Cisco Switch, Untrusted Portta Alınan Option 82'ye Sahip DHCP Mesajlarını Reddeder.
PC1 Bir DISCOVER Mesajı Gönderiyor ve SW1 Buna Option 82 Ekleyerek SW2'ye İletir. SW2 Bunu Untrusted Portundan Aldığı için Mesajı Reddeder. Option 82'ye Sahip olduğu için Mesajın Reddedildiğini Belirten Syslog Mesajını Yukarıdaki Resimde Görebilirsiniz.
Bu Nedenle Daha Önce Gösterdiğim Bu Komutu Kullandım: no ip dhcp snooping information option
Şimdi Ne olacağını Görelim.
PC1 Bir DISCOVER Mesajı Gönderiyor ve SW1 Bunu SW2'ye İletir. SW1 Bu Sefer Option 82 Eklemiyor. Ancak Henüz SW2'de no ip dhcp snooping informotion option Komutunun Kullanılmadığını Varsayalım. SW2, Mesaja Option 82 Ekleyecektir. R1 Gelen Bu Mesajı Reddedecektir. R1'deki Syslog Mesajını Yukarıdaki Resimde Görebilirsiniz. Bu Syslog Mesajının Anlamı, Mesajın DHCP Relay Agent Tarafından Gönderilmediği ve Mesajın Option 82'ye Sahip olduğu için R1 Tarafından Reddedildiğidir. Bir DHCP Mesajı, DHCP Relay Agent Tarafından Gönderilmediyse Option 82'ye Sahip olmamalıdır. Bu Yüzden Komutu SW2'de de Uyguladım.
Bu Sefer Ne SW1 Ne de SW2, DISCOVER Mesajına Option 82 Eklemeyecektir. Bu Nedenle, R1 Mesaja Güvenir ve Normal Şekilde Yanıt Verir.
DHCP Snooping Komutları Özet
DHCP Snooping Hakkında Bilgi Görüntüleme Komutu: show ip dhcp snooping
Quizs
Cevaplar (Sırası ile):
- c, d, g
- d
- a, c
- a, b
- b
LAB Çözümü sonradan eklenecektir.
Okuduğunuz için teşekkürler.
Yorum Gönder
Yorum Gönder