Network Security Groups (NSG) Nedir ve Neden Önemlidir?

Network Security Groups (NSG), bulut ortamlarında sanal ağ trafiğini kontrol eden bir güvenlik katmanıdır. Temel olarak, bir NSG içinde tanımlanan gelen ve giden kurallar sayesinde belirli IP adresleri, protokoller ve portlar üzerinden veri akışı izin verilir ya da engellenir. Bu yapı, geleneksel donanım tabanlı firewall’ların bulut versiyonu gibi düşünülebilir, ancak çok daha esnek ve ölçeklenebilir bir yönetim sunar.
Özellikle VDS sunucu paketleri kullanan işletmeler, NSG sayesinde sadece gerekli servisleri açarak saldırı yüzeyini %40’a kadar azaltabilir. Yanlış yapılandırılmış bir güvenlik grubu, saldırganların doğrudan sanal makinelerinize erişmesine sebep olabilir; bu da veri sızıntısı, hizmet reddi (DoS) ve maliyetli kesintilere yol açar. Bu nedenle NSG, bulut altyapısının ilk savunma hattı olarak kritik bir rol oynar.
NSG’nin en büyük avantajı, örnekleme (inheritance) ve etkin bölge bazlı (regional) uygulama imkanıdır. Birden fazla subnet ve VM’ye aynı anda aynı kuralları uygulayarak yönetim karmaşasını azaltır ve tutarlı bir güvenlik politikası sağlar.
NSG’nin Temel Bileşenleri ve Çalışma Prensibi
NSG iki ana bileşenden oluşur: Kurallar (rules) ve Öncelik (priority). Kurallar, bir trafik akışının izin verilip verilmediğini belirler; öncelik ise çakışan kurallar arasında hangisinin uygulanacağını tanımlar. Örneğin, 100 öncelikli bir kural “tüm gelen HTTP trafiğini engelle” derken, 200 öncelikli bir kural “10.0.0.0/24 alt ağından gelen HTTP trafiğine izin ver” şeklinde daha spesifik bir istisna tanımlayabilir.
Kurallar dört temel öğe içerir: Kaynak (Source), Hedef (Destination), Protokol (Protocol) ve Port Aralığı (Port Range). Bu öğeler sayesinde, sadece belirli bir IP bloğundan gelen ve belirli bir port üzerinden giden trafiği kontrol edebilirsiniz. NSG ayrıca durum (stateful) bir güvenlik duvarı gibi çalışır; bir bağlantının yanıt trafiği otomatik olarak izinli sayılır, bu da kuralların yönetimini kolaylaştırır.
Azure portalı, PowerShell, Azure CLI ve Terraform gibi araçlarla NSG oluşturabilir ve yönetebilirsiniz. Bu çoklu yönetim seçenekleri, otomasyon ve altyapı‑kod (IaC) yaklaşımlarıyla entegrasyonu mümkün kılar.
NSG Nasıl Oluşturulur ve Uygulanır? Adım Adım Kılavuz
- Kaynak Grubu ve Sanal Ağ Seçimi: Azure portalına giriş yapın, hedef kaynak grubunu ve içinde bulunan sanal ağı (VNet) belirleyin.
- Yeni NSG Oluşturma: “Network security groups” sekmesinden “Add” butonuna tıklayın, isim, bölge ve etiketleri doldurun.
- Kuralların Tanımlanması: “Inbound security rules” ve “Outbound security rules” bölümlerinde “Add” seçeneğiyle yeni kurallar ekleyin. Örneğin,
Source: Any,Destination: VirtualNetwork,Protocol: TCP,Port: 22,Action: Allowgibi bir SSH kuralı oluşturabilirsiniz. - Öncelik Sırasını Düzenleme: Çakışan kurallar varsa, öncelik değerini (100‑4096 arası) düzenleyerek hangi kuralın önce uygulanacağını belirleyin.
- NSG’yi Subnet veya NIC’e Bağlama: Oluşturduğunuz NSG’yi bir subnet’e veya doğrudan bir ağ arayüzüne (NIC) atayın. Subnet seviyesinde atama, aynı subnet içindeki tüm VM’leri kapsar; NIC seviyesinde atama ise tek bir VM’ye özgü kurallar tanımlamanıza olanak verir.
- Test ve Doğrulama: Azure Network Watcher’ın “IP flow verify” özelliğiyle kuralların beklenen trafiği izin verip vermediğini test edin. Gerekirse, log analizi için NSG Flow Logs’u etkinleştirerek Azure Monitor’da izleme yapın.
Bu adımları izleyerek, AMD Ryzen VDS sunucular üzerinde çalışan kritik uygulamalarınız için özelleştirilmiş bir güvenlik politikası oluşturabilirsiniz.
NSG ve Diğer Güvenlik Çözümlerinin Karşılaştırması

| Özellik | Network Security Group (NSG) | Azure Firewall | Web Application Firewall (WAF) |
|---|---|---|---|
| Katman | OSİ seviyesinde (L3/L4) | L3‑L7 tam yönlendirme | L7 (HTTP/HTTPS) uygulama katmanı |
| Yönetim | Kurallar bazlı, öncelik 100‑4096 | Politika bazlı, merkezi yönetim | Kurallar ve imza tabanlı |
| Ölçeklenebilirlik | Her VNet içinde 5000’e kadar NSG | Yüksek trafiğe ölçeklenebilir | Web uygulamaları için ölçekli |
| Maliyet | Ücretsiz (sadece veri aktarımı) | Saatlik ücret + veri çıkışı | Azure Front Door entegrasyonu ile ek maliyet |
| Kullanım Senaryosu | Subnet ve NIC bazlı temel filtreleme | Merkezi güvenlik duvarı, NAT, IDS/IPS | SQL injection, XSS gibi uygulama saldırılarına karşı |
Bu tablo, NSG’nin hafif ve düşük maliyetli bir çözüm olduğunu, ancak daha karmaşık senaryolar için Azure Firewall ya da WAF gibi ek güvenlik hizmetlerinin gerekebileceğini gösterir.
Gerçek Dünya Senaryosu: E‑Ticaret Sitesi İçin NSG Uygulaması
Bir e‑ticaret platformu, e-ticaret hosting hizmetiyle yüksek trafikli bir ortamda çalışırken, hem müşterilerin ödeme sayfalarına güvenli erişimini hem de yönetim panelinin sadece yetkili IP’lerden ulaşılabilir olmasını sağlamalıdır. NSG bu senaryoda şu şekilde konfigüre edilebilir:
- Web Sunucuları (VM): İnternetten gelen HTTP (80) ve HTTPS (443) trafiğine izin verilir. Ancak, SSH (22) sadece şirket içi VPN IP bloğundan (örnek: 203.0.113.0/24) erişime açılır.
- Veritabanı Sunucusu: Sadece web sunucularının bulunduğu subnet (10.1.0.0/24) üzerinden MySQL (3306) ve PostgreSQL (5432) portları açılır. Diğer tüm dış trafik engellenir.
- Yönetim Ağ Geçidi: Azure Bastion üzerinden yönetim trafiği (3389 RDP, 22 SSH) sadece belirli güvenli IP’lerden (örnek: 198.51.100.45) izin verilir.
Bu yapı, dış dünyadan gelen isteklerin sadece gerekli hizmetlere yönlendirilmesini sağlar ve veri tabanı gibi kritik bileşenlerin doğrudan internetten erişilmesini engelleyerek saldırı riskini %70’e kadar azaltır.
NSG’nin Yaygın Hataları ve Maliyeti
NSG konfigürasyonunda yapılan en sık hatalardan biri “allow all” (herkese açık) kuralı eklemek ve ardından daha sıkı kurallar eklemektir. Çünkü NSG kuralları öncelik sırasına göre işlenir; düşük öncelikli “allow all” kuralı, daha yüksek öncelikli “deny” kurallarını geçersiz kılar. Bu durum, istemeden tüm trafiğin geçmesine ve potansiyel bir DDoS saldırısının önlenememesine yol açar. Böyle bir hata, ortalama bir orta ölçekli işletmede aylık $5,000‑$10,000 arasında ek maliyet ve itibar kaybına neden olabilir.
Diğer bir yaygın hata, NSG’yi sadece NIC seviyesinde uygulayıp subnet seviyesindeki trafiği kontrol etmeyi ihmal etmektir. Bu durumda, aynı subnet içinde bulunan diğer VM’ler birbirlerine tamamen açık kalır; iç ağ saldırılarına (lateral movement) zemin hazırlar. Çözüm, kritik subnet’lerde hem subnet hem de NIC bazlı NSG’leri kombinasyon halinde kullanmaktır.
Son olarak, NSG Flow Logs’un devre dışı bırakılması, güvenlik olaylarını tespit ve analiz etme yeteneğini kısıtlar. Logları Azure Monitor veya bir SIEM çözümüne yönlendirerek anormal trafik paternlerini erken aşamada görebilir ve müdahale süresini dakikalar içinde kısaltabilirsiniz.
NSG ile Güvenliği Otomatikleştirme ve En İyi Pratikler
İlk kez NSG yapılandırması yapıyorsanız, aşağıdaki en iyi pratikleri izlemek uzun vadede yönetim yükünü azaltır:
- İsimlendirme Konvansiyonu: Kural isimlerinde “Allow‑SSH‑From‑VPN” gibi açıklayıcı bir yapı kullanın; böylece ekip içinde anlaşma sağlanır.
- Öncelik Yönetimi: Daha genel kurallara (örnek: “Allow‑All‑Outbound”) yüksek öncelik (örnek: 3000) verin, spesifik kurallara ise düşük sayı (örnek: 100‑200) atayın.
- Tag Kullanımı: Azure Resource Tags ile “Environment: Production” gibi etiketler ekleyerek, aynı etiketli kaynaklara toplu NSG ataması yapabilirsiniz.
- IaC Entegrasyonu: Terraform veya Azure Bicep dosyalarıyla NSG kurallarını kod olarak tutun; böylece sürüm kontrolü ve CI/CD pipeline’larıyla otomatik dağıtım mümkün olur.
- Loglama ve İzleme: NSG Flow Logs’u Log Analytics’e gönderin, “Network Security Group – Anomalies” gibi uyarı kuralları oluşturun.
Bu adımları izleyerek, SEO hosting paketlerinizin performansını etkilemeden güvenli bir ağ katmanı oluşturabilirsiniz.
Sıkça Sorulan Sorular
NSG ile Azure Firewall arasındaki temel fark nedir?
NSG, L3/L4 seviyesinde subnet ve NIC bazlı trafik filtreleme yapar ve ücretsizdir; Azure Firewall ise L3‑L7 tam yönlendirme, NAT, IDS/IPS ve merkezi politika yönetimi sunar, ancak ek maliyetlidir.
NSG Flow Logs’u nereden görüntüleyebilirim?
Azure Portal’da “Network Watcher” → “NSG Flow Logs” sekmesinden logları etkinleştirip, Log Analytics workspace’e yönlendirebilir ve burada KQL sorgularıyla analiz yapabilirsiniz.
Bir NSG kuralını silerken dikkat edilmesi gerekenler?
Kural silinmeden önce, o kuralın hangi trafiği engellediği veya izin verdiği kontrol edilmelidir. Özellikle “deny” kurallarını silmek, istenmeyen trafiğin açılmasına sebep olabilir; bu yüzden değişiklikleri test ortamında denemek önerilir.
NSG’yi birden fazla VNet’te aynı anda kullanabilir miyim?
Evet, aynı NSG birden fazla VNet içinde bulunan subnet’lere atanabilir, ancak VNet’ler aynı bölge içinde olmalıdır. Bölgesel sınırların dışındaki VNet’lerde ayrı NSG tanımlanması gerekir.
Sonuç ve Bir Sonraki Adımınız
Network Security Groups, bulut altyapınızın temel güvenlik duvarı olarak görev yapar ve doğru yapılandırıldığında hem maliyet hem de risk açısından büyük tasarruf sağlar. Bu makalede ele aldığımız temel kavramlar, adım adım yapılandırma rehberi ve en iyi pratikler sayesinde NSG’yi hemen uygulamaya koyabilirsiniz.
Bir sonraki adım olarak, mevcut VDS ortamınızda (örnek: Intel i9 VDS sunucular) bir NSG oluşturup, kritik portları sadece güvenilir IP’lerden izin verecek şekilde yapılandırın. Ardından NSG Flow Logs’u etkinleştirerek trafik analizine başlayın; bu sayede olası güvenlik açıklarını erken aşamada tespit edebilir ve altyapınızı daha da güçlendirebilirsiniz.