Windows Güvenlik Duvarını Yapılandırma ve Port Yönetimi
Windows'ta güvenlik duvarı, çoğu kullanıcının yalnızca "bir uygulama ilk kez internete çıkmak istediğinde çıkan uyarı penceresi" olarak tanıdığı bir bileşen. Oysa arka planda çalışan yapı, gelen (inbound) ve giden (outbound) trafiği ayrı ayrı, üç farklı ağ profili altında ve yüzlerce kuralla değerlendiren bir paket filtreleme motorudur. Varsayılan davranışı özetlemek gerekirse: gelen bağlantılar açıkça izin verilmedikçe reddedilir, giden bağlantılar açıkça engellenmedikçe serbest bırakılır. Bu asimetri, doğru firewall yapılandırma alışkanlıkları edinildiğinde büyük bir güvenlik kazancına; yanlış yapılandırıldığında ise "neden bu program çalışmıyor" tipi saatlerce süren sorun giderme oturumlarına dönüşür.
Önce profilleri anlamak: Etki Alanı, Özel, Genel
Kural yazmadan önce hangi profilde olduğunuzu bilmeniz gerekir, çünkü aynı kural farklı profillerde farklı sonuç üretir. Windows, bağlandığınız her ağı sınıflandırır ve o sınıfa ait kural setini uygular.
| Profil | Tipik ortam | Ağ keşfi | Önerilen sıkılık |
|---|---|---|---|
| Etki Alanı (Domain) | Şirket ağı, aktif dizin | Açık | Politika tarafından yönetilir |
| Özel (Private) | Ev ağı, ofis modemi | Açık | Orta – dosya/yazıcı paylaşımı serbest |
| Genel (Public) | Kafe, otel, havalimanı | Kapalı | En yüksek – gelen her şey kapalı |
Pratik bir alışkanlık: ev ağınızı "Özel", tanımadığınız her kablosuz ağı "Genel" olarak işaretleyin. Aynı SSID'ye bağlanıp da paylaşım sorunları yaşıyorsanız, ağın profilinin yanlış atanmış olması ilk şüpheli olmalı. Ayarlar → Ağ ve İnternet → bağlı ağ → ağ profili türü kısmından değiştirilebilir.
Hangi menüyü açmalı?
- Basit izin/engel: Denetim Masası → Windows Defender Güvenlik Duvarı → "Bir uygulamaya izin ver".
- Gelişmiş kural yönetimi: Çalıştır penceresine wf.msc yazın. Gelen/giden kurallar, bağlantı güvenliği kuralları ve izleme burada.
- Toplu iş ve otomasyon: Yükseltilmiş PowerShell veya netsh advfirewall komutları.
Uygulama bazlı izin: tek portu değil, tek programı hedefleyin
Bir oyun sunucusu, yedekleme aracı veya yerel geliştirme ortamı çalıştırıyorsanız iki seçeneğiniz var: portu herkese açmak ya da yalnızca ilgili yürütülebilir dosyaya izin vermek. İkincisi belirgin şekilde daha güvenlidir, çünkü aynı porta bağlanmaya çalışan başka bir süreç kuraldan faydalanamaz.
wf.msc içinde Gelen Kurallar → Yeni Kural → Program adımını izleyin, tam yolu (örneğin C:\Program Files\...\app.exe) seçin, ardından profil kısmında yalnızca Özel'i işaretleyin. Bu üçlü kısıtlama — program + protokol + profil — tek başına port açmaya kıyasla saldırı yüzeyini ciddi biçimde daraltır.
| Yaklaşım | Kapsam | Risk | Ne zaman |
|---|---|---|---|
| Program kuralı | Sadece o exe | Düşük | Masaüstü uygulamaları |
| Port kuralı | Portu dinleyen her süreç | Orta | Servis/konteyner senaryoları |
| Port + kaynak IP kısıtı | Belirli IP aralığı | Çok düşük | Sunucu, NAS, uzak erişim |
Port açma, kapama ve kaynak kısıtlama
Port kuralı yazmadan önce o portu gerçekten hangi sürecin dinlediğini doğrulayın. Komut isteminde netstat -ano | findstr :3389 çıktısındaki PID değerini Görev Yöneticisi'ndeki Ayrıntılar sekmesiyle eşleştirin. Dinleyen bir süreç yoksa portu açmanın hiçbir faydası olmaz; sorun uygulamanın kendisindedir.
- wf.msc → Gelen Kurallar → Yeni Kural → Port.
- TCP veya UDP seçin, port numarasını girin (aralık için 8000-8010 yazımı geçerlidir).
- "Bağlantıya izin ver" yerine mümkünse "güvenliyse izin ver" seçeneğini değerlendirin.
- Profil adımında Genel'i kesinlikle işaretlemeyin.
- Kurala anlamlı bir ad verin: NAS-SMB-445-LAN gibi. Altı ay sonra "Yeni Kural (2)" adlı kuralın ne işe yaradığını hatırlamazsınız.
- Kural oluştuktan sonra çift tıklayıp Kapsam sekmesinden uzak IP adresini 192.168.1.0/24 gibi daraltın.
Komut satırını tercih edenler için: New-NetFirewallRule -DisplayName "Dev-8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -RemoteAddress 192.168.1.0/24 -Action Allow -Profile Private. Kapatmak için kuralı silmek yerine Disable-NetFirewallRule -DisplayName "Dev-8080" ile devre dışı bırakmak daha isabetli; ihtiyaç halinde tek komutla geri açılır.
Öncelik sırası ve çakışmalar
Windows'ta engelleme kuralları izin kurallarını ezer. Bir uygulama açıkça izinli olsa bile aynı portu kapatan bir "Engelle" ku