SDN Güvenliği
Uygar KÖROĞLU
SDN Nedir
Software Defined Network - Yazılım Tanımlı Ağlar
SDN, ağlarda kontrol düzlemi ile veri düzleminin ayrılması esasına dayanır. Yani, ağdaki paket yönlendirme işleminin nasıl yapılacağını belirleyen karar mekanizmasını, bu yönlendirmeyi yapan cihazlardan fiziksel olarak ayırır.
Faydaları
- Merkezi Ağ Sistemini Sağlama
- Bütünsel Özelleştirilebilir Yönetim
- Daha Ayrıntılı Güvenlik
- Donanım Tasarrufu ve Düşük Sermaye
Ağ kontrolünü merkezi bir programa vermenin faydaları ağ ekipmanlarını basitleştirip ucuzlatmakla sınırlı değildir. Buna ek olarak ağ yönetimini kolaylaştırma, ağ ekipmanlarının davranışını üreticiden bağımsız olarak hızlı biçimde değiştirebilme, yeni mekanizmaların araştırılıp denenmesine yardımcı olma gibi birçok potansiyel faydası vardır.
Çalışma Yapısı
SDN mimarisi, SDN Controller ve fiziksel cihazlar olarak iki temel yapıdan oluşur. Control layer işlevi, SDN Controller üzerinde kalır yani burada; routing/forwarding, path seçimi gibi kararlar verilir ve cihazların erişilebilirliği, durumları hakkında bilgiler tutulur. SDN controller, kendi içinde beyin olan SDN app ile haberleşmesini sağlayan NBI arayüzler, SDN veri yolu ile haberleşmesini sağlayan CDPI(Control Data Plane Interface) arayüz ve SDN kontrol mekanizmasından oluşur.
Mimari

Openflow Protokolü
Openflow yazılım tanımlı ağlarda ağ yöneticilerine ağın topolojisi ve ağdaki paketleri filtreleme değişimlerinde yönetim imkanı sunmaktadır. Openflow protokolü içerisindeki en önemli bileşenler controller ve openflow ağ anahtarlarıdır.
Kısaca ağ paketlerinin yolunu bulması için başka bir sunucuda program çalıştırılması yöntemi denilebilir.
Güvenlik Gereksinimi
- Controller'a Güvenli Erişim: Merkezi karar noktası olan SDN Controller'a erişim sıkı bir şekilde kontrol edilmelidir.
- Controller'ın Korunması: Controller'ın çalışmasını engelleyebilecek herhangi bir saldırı network iletişiminin durmasına neden olaacaktır.
- Güven Kurmak: Ağ boyunca iletişimi korumak önemli. SDN Controller üzerine yüklenen uygulamalar ve bu uygulamaların yönetimi ile ağ üzerindeki iletişimin güveni.
- Güvenlik Politikası: İhtiyaçlara göre sağlam bir güvenlik politikası belirlenmeli.
- Davranış Analizi ve İyileştirme: Ağ üzerindeki olaylar sonucu oluşabilecek durumları tespit edip iyileştirmeler yapabilmek için network takip edilmeli.
Veri Düzlem Katmanı
Saldırgan bu katmanda cihazların ağ trafiğini doğru iletebilmesi için üzerlerinde tuttuğu akış tablolarına (flow-table) müdahale edip ağ trafiğini dinlemeye çalışabilir.
Cihazlara DDoS saldırısı gerçekleştirebilir.
Çözüm: IDS (Intrusion Detection System)
Controller Katmanı
Controller çoğunlukla bir Linux işletim sistemi üzerinde çalışmaktadır. Bu işletim sistemi üzerinde oluşacak bir güvenlik açığı SDN Controller'ın güvenliğini de doğrudan etkilemektedir.
SDN Controller'ı hedef alan bir saldırgan, işletim sistemini de bu yönde kullanabilir.
Çözüm: Sistem güncel tutulmalı, mümkün olduğu kadar dışarıdan erişime kapatılmalıdır. Ayrıca belirlenmiş olan sağlam güvenlik politikaları uygulanmalıdır.
SDN(App) Katmanı
Controller'lar çoğunlukla API üzerinden yönetilmekteler. Python, Java, C, REST, XML, JSON gibi bir çok farklı API çeşidi mevcut.
Eğer saldırgan API üzerinden erişim sağlarsa Controller'ı ele geçirebilir. Ele geçirdikten sonra kendi kurallarını girerek ağ yapısının tamamına müdahale edebilir.
Çözüm: API'ler varsayılan kullanıcı adı parola ile bırakılmamalı. Hatta controller farklı bir ağ üzerinde çalışarak bu ağı kontrol etmeli. (Remote Control)
Sorular
- SDN nedir?
- SDN mimarisinin katmanları nelerdir?
- OpenFlow nedir?
Cevaplar
- Ağlarda kontrol düzlemi ile veri düzleminin ayrılması esasına dayanan Yazılım Tanımlı Ağ'dır.
- Application Layer - Control Layer - Infrastructure Layer
- Yazılım tanımlı ağlarda ağ yöneticilerine ağın topolojisi ve ağdaki paketleri filtreleme değişimlerinde yönetim imkanı sunan protokoldür.
TEŞEKKÜRLER
SDN Güvenliği
By Uygar Köroğlu
SDN Güvenliği
Yazılım tanımlı ağlar için güvenlik
- 1,798