🌐 Azure VM Inbound & Outbound Traffic Yönetimi (NSG Kuralları)
Bu doküman, Azure üzerindeki bir Virtual Machine (VM) için Inbound (İçeri doğru) ve Outbound (Dışarı doğru) portlarının nasıl açılıp/kapatılacağını (Allow/Deny) anlatan temel Network Security Group (NSG) adımlarını içerir.
⚙️ 1. İlgili VM'in Network Ayarlarına Erişim
- Azure Portal üzerinden Virtual Machines menüsüne gidin.
- İşlem yapmak istediğiniz VM'i seçin.
- Sol menüdeki Networking sekmesine, ardından Network Settings bölümüne tıklayın.
- Bu ekranda, VM'in Network Interface Card'ına (NIC) veya bağlı olduğu Subnet'e atanmış olan mevcut (Default) NSG kurallarını göreceksiniz.
🧱 2. Inbound Port Rule (İçeri Trafik Kuralı) Oluşturma
Web sunucusu gibi dışarıdan istek alacak bir VM için "Inbound port rule" oluşturmanız gerekir:
- Source (Kaynak): Traffic'in nereden geleceğini seçersiniz.
Any: İnternetteki veya ağdaki herkesten.IP Addresses: Sadece belirli bir Public IP veya IP bloğundan.Service Tag: Azure'un belirli servislerinden (Örn: Azure Load Balancer).
- Source Port Ranges: Genellikle
*(Asterisk) olarak bırakılır. Çünkü client'lar (tarayıcılar vb.) size gelirken rastgele bir ephemeral port (örn: 9999, 45123) kullanır. - Destination (Hedef):
Anyolarak bırakılırsa, bu kuralın atandığı VM veya Subnet hedeflenir. - Destination Port Ranges: Açmak veya kapatmak istediğiniz spesifik portlar.
- Örnek: Web traffic (HTTP/HTTPS) için buraya
80, 443yazılır.
- Örnek: Web traffic (HTTP/HTTPS) için buraya
- Protocol: Sadece TCP, sadece UDP veya
Anyseçilebilir. Web trafiği içinTCPseçilmelidir. - Action: Traffic'e izin vermek için
Allow, engellemek içinDenyseçilir.
🔢 3. Priority (Kural Önceliği) Mantığı
NSG kurallarındaki en kritik yapılandırma Priority (Öncelik) değeridir.
- Öncelik numaraları 100 ile 4096 arasında bir değer alır.
- Kural: Düşük rakam (Lower number), Yüksek Önceliğe (Higher priority) sahiptir.
- Çakışma Senaryosu: Eğer 80 portu için
Priority: 300olan birDenykuralınız vePriority: 350olan birAllowkuralınız varsa, sistem 300'ü önce okuyacağı için Traffic engellenir. (Bu yüzden kuralları 10'ar veya 100'er atlayarak yazmak, araya yeni kurallar eklemek için Best Practice'tir).
📝 4. Naming (İsimlendirme)
Kural isimlerinde boşluk (space) bırakılamaz. Örneğin Allow Web Traffic yerine Allow-Web-Traffic şeklinde yazmalı ve açıklama (Description) kısmına detayını eklemelisiniz.
💡 Azure Architect Best Practice Notu
- Video'da yapılan hata/eksik: Videoda NSG kuralı direkt olarak VM'in NIC (Network Interface) ayarlarından yapılıyor. Ancak bir Azure Architect olarak Best Practice; yönetimi kolaylaştırmak ve Security Baseline'ı korumak adına NSG'leri tek tek NIC'lere bağlamak yerine, VM'lerin bulunduğu Subnet seviyesine atamaktır. Böylece o Subnet'e yeni bir VM eklendiğinde aynı kurallar (Örn: 80, 443 port izni) otomatik olarak geçerli olur.