
Windows Server'da Port Açma: Güvenlik Duvarı Kuralı
Windows Server üzerinde gelen ağ trafiğini yönetmek için gelişmiş güvenlik duvarı port açma ve kural yapılandırma adımlarını öğrenin.
Windows Server işletim sisteminde dışarıdan gelen ağ isteklerinin bir servise ulaşması için yerel güvenlik duvarı üzerinde ilgili porta izin verilmesi gerekir. Varsayılan sistem ayarlarında Windows, yetkisiz erişimleri engellemek adına gelen trafiğin büyük kısmını filtreler. Bir web sunucusu, veritabanı veya özel bir TCP/UDP uygulaması çalıştırırken gelen istekleri karşılamak adına doğru kural tanımları yapılmalıdır. Bu kapsamda Windows Server kurulu VDS üzerinde windows server port açma işlemlerini grafik arayüzden veya PowerShell komut satırından birkaç adımda tamamlayabilirsiniz.
Kısa cevap:
- Gelişmiş Güvenlik Özellikli Windows Defender Güvenlik Duvarı konsolunu açın.
- Gelen Kuralları (Inbound Rules) bölümünden yeni kural başlatın.
- Kural türü olarak Port seçeneğini, ardından ilgili protokolü ve port numarasını belirleyin.
- Bağlantıya izin ver seçeneğini işaretleyip etkin ağ profilini seçerek kuralı kaydedin.
Port açmadan önce bilinmesi gerekenler
Ağ trafiğini sunucunuzdaki bir servise yönlendirmeden önce uygulamanızın hangi aktarım protokolünü ve hangi yerel port numarasını kullandığını netleştirmeniz gerekir. Yanlış protokol seçimi, güvenlik duvarı kuralı aktif görünse bile dış dünyadan servise erişilememesine yol açar. Örneğin web servisleri için HTTP (port 80) ve HTTPS (port 443) ile ilişkisel veritabanı bağlantıları neredeyse her zaman TCP protokolünü kullanır. Buna karşılık DNS sorguları, ses aktarımı ve bazı çok oyunculu oyun sunucuları daha düşük gecikme sağlayan UDP protokolünü tercih eder. Bazı özel uygulamalar ise her iki protokolü aynı anda dinleyebilir.
Windows Server üzerinde üç farklı ağ profili bulunur: Domain (Etki Alanı), Private (Özel) ve Public (Ortak). Sunucu ağ bağdaştırıcınız yerel ağ yapılandırmanıza göre bu profillerden birinde etkin durumda çalışır. Oluşturduğunuz güvenlik duvarı kuralının çalışması için kuralın, ağ bağdaştırıcınızın o anki etkin profiliyle doğrudan eşleşmesi gerekir. Örneğin ağ kartınız Public profildeyken kuralı yalnızca Private profile tanımlarsanız trafik engellenmeye devam eder. Sunucu üzerindeki mevcut ağ servislerini ve temel yapılandırmaları incelemek isterseniz Windows Server 2022 kurulumu ve ilk gün yönetim rehberi içeriğimizden faydalanabilirsiniz. Güvenlik prensipleri gereğince yalnızca aktif kullanılan servislerin portları açılmalı, ihtiyaç duyulmayan portlar kapalı tutulmalıdır.
Güvenlik duvarı arayüzünden kural ekleme
Grafik yönetim arayüzü, gelen kurallarını adım adım yapılandırmak ve ayarları görsel olarak denetlemek için kullanışlı bir yöntemdir. Gelişmiş Güvenlik Özellikli Windows Defender Güvenlik Duvarı yönetim konsoluna erişmek için Çalıştır penceresini kullanabilirsiniz.
- Klavyeden
Win + Rtuş kombinasyonuna basarak Çalıştır kutusunu açın, ekranawf.mscyazıp Enter tuşuna basın. - Açılan konsolun sol menüsünde bulunan Inbound Rules (Gelen Kuralları) seçeneğine sağ tıklayın ve New Rule (Yeni Kural) bağlantısını seçin.
- Kural türü (Rule Type) ekranında Port seçeneğini işaretleyip Next butonuyla ilerleyin.
- Protokol alanında uygulamanızın gereksinimine göre TCP veya UDP seçimini yapın. Ardından Specific local ports kutucuğuna açmak istediğiniz port numarasını (örneğin 8080) yazın.
- Eylem (Action) adımında Allow the connection (Bağlantıya izin ver) seçeneğini işaretleyin.
- Profil (Profile) adımında, PowerShell üzerinden
Get-NetConnectionProfilekomutuyla tespit ettiğiniz etkin ağ profilini seçin ve gereksiz profilleri işaretlemeyin. - İsim (Name) adımında kurala amacını belirten anlaşılır bir ad verin ve Finish düğmesine basarak kuralı kaydedin.
Eklenen kural listenin en üst kısmında yerini alır ve anında çalışmaya başlar. Değişikliklerin devreye girmesi için sunucuyu yeniden başlatmanız gerekmez.
PowerShell ile tek satırda port açma
Sunucu yönetimini komut satırından gerçekleştirmek hem zamandan tasarruf sağlar hem de tekrarlayan kurulum adımlarını otomatikleştirmenize olanak tanır. PowerShell, yerel güvenlik duvarı kurallarını yönetmek için gelişmiş cmdlet komutları sunar. Yönetici haklarıyla başlatılmış bir PowerShell oturumunda New-NetFirewallRule komutunu kullanarak port kuralını tek adımda tanımlayabilirsiniz.
Aşağıdaki komut, 8080 numaralı yerel TCP portunu dışarıdan gelen bağlantılara açar:
New-NetFirewallRule -DisplayName "Web-Servisi-TCP-8080" -Direction Inbound -LocalPort 8080 -Protocol TCP -Action Allow
UDP protokolüyle çalışan bir ses veya oyun servisi için kural oluşturmak istediğinizde protokol parametresini değiştirmeniz yeterlidir:
New-NetFirewallRule -DisplayName "Oyun-Servisi-UDP-27015" -Direction Inbound -LocalPort 27015 -Protocol UDP -Action Allow
Oluşturduğunuz kuralın sistemdeki durumunu ve parametrelerini doğrulamak için şu komutu çalıştırabilirsiniz:
Get-NetFirewallRule -DisplayName "Web-Servisi-TCP-8080"
Oluşturulan kurala ileride ihtiyaç kalmadığında ve erişimi tamamen kaldırmak istediğinizde şu komutla silebilirsiniz:
Remove-NetFirewallRule -DisplayName "Web-Servisi-TCP-8080"
PowerShell üzerinden tanımlanan kurallar anında sisteme yansıtılır. Bir web platformu barındırmayı planlıyorsanız Windows Server 2019 IIS kurulumu içeriğindeki adımları izlerken de benzer komut satırı tekniklerinden yararlanabilirsiniz.
Portun açık olduğunu test etme
Güvenlik duvarında kural oluşturulduktan sonra trafiğin hedefe ulaşıp ulaşmadığını iki aşamalı olarak doğrulamak gerekir. İlk aşamada ilgili portun sunucu içinde bir servis tarafından dinlenip dinlenmediği incelenmelidir. İkinci aşamada ise dış istemciden sunucuya doğru bir ağ sorgusu gönderilmelidir.
Sunucu içinde komut istemcisini (CMD) yönetici olarak açıp şu komutla portun dinleme durumunu kontrol edin:
netstat -ano | findstr :8080
Bu komutun çıktısında LISTENING ifadesi yer alıyorsa, ilgili uygulama yerel porta başarıyla bağlanmış ve gelen istekleri bekliyor demektir. Çıktı boş dönüyorsa servis çalışmıyor olabilir.
Dış bir istemci bilgisayardan sunucunun ilgili portuna ağ erişimini test etmek için PowerShell üzerinden Test-NetConnection komutunu çalıştırabilirsiniz:
Test-NetConnection -ComputerName sunucu_ip_adresi -Port 8080
Komut çıktısında yer alan TcpTestSucceeded : True ifadesi, ağ paketlerinin güvenlik duvarını geçerek ilgili porta ulaştığını ve servisin yanıt verdiğini gösterir.
Port açık ama erişilemiyor: 5 neden
Güvenlik duvarı kuralı tanımlanmış ve kural aktif görünse bile dış istemciler servise bağlanırken sorun yaşayabilir. Bu durumun en sık karşılaşılan beş nedeni aşağıda özetlenmiştir:
| Neden | Açıklama | Çözüm |
|---|---|---|
| Servis Çalışmıyor | Portu dinleyen uygulamanın kapalı olması. | Hizmetler panelinden veya Görev Yöneticisi üzerinden servisi başlatın. |
| Ağ Profili Uyuşmazlığı | Kuralın ağ bağdaştırıcısının etkin profiliyle eşleşmemesi. | Ağ kartının etkin profilini kontrol edip kural profiliyle eşleştirin. |
| Altyapı Güvenlik Filtresi | Veri merkezi ya da sanallaştırma panelindeki harici güvenlik duvarı. | Hizmet sağlayıcı panelindeki ağ kurallarını ve port izinlerini denetleyin. |
| Protokol Uyuşmazlığı | Servisin UDP dinlemesine rağmen kuralın TCP olarak açılması. | Uygulama yapılandırmasını kontrol ederek kural protokolünü düzeltin. |
| Çakışan Engelleme Kuralı | Aynı porta yönelik öncelikli bir engelleme (Block) kuralının bulunması. | Çakışan engelleme kuralını tespit edip diğer servisleri etkilemeyecek şekilde kapsamını daraltın. |
Yeni nesil işletim sistemi özelliklerini yapılandırırken Windows Server 2025 yenilikler ve kurulum başlığı altındaki güvenlik değişikliklerini göz önünde bulundurmanız faydalı olur.
Yalnız belirli IP'lere izin verme
Açık bırakılan bir port tüm internet erişimine açıldığında yetkisiz giriş denemelerine maruz kalabilir. Özellikle uzak yönetim portları, veritabanı bağlantıları veya kurum içi yönetim panelleri için port açılırken erişimin yalnızca yetkili kaynak IP adresleriyle sınırlandırılması önerilir.
Mevcut bir kuralı daraltmak veya yalnızca belirli bir IP adresine izin vermek için grafik arayüzde kural özelliklerini açın. Scope (Kapsam) sekmesine gelin. Remote IP address alanında These IP addresses seçeneğini işaretleyerek izin verilecek sabit istemci IP adresini ekleyin.
PowerShell ile belirli bir kaynak adrese kural tanımlamak için RemoteAddress parametresi kullanılır. Ancak New-NetFirewallRule komutu mevcut kuralları daraltmaz, yeni bir kural ekler. Dolayısıyla aynı portu herkese açık bırakan başka bir kural varsa bu kısıtlama etkisiz kalır. Kısıtlamanın geçerli olması için aynı porta tanımlı geniş kapsamlı kuralların silinmesi veya kapsamının daraltılması gerekir:
New-NetFirewallRule -DisplayName "Ozel-Veritabani-3306" -Direction Inbound -LocalPort 3306 -Protocol TCP -Action Allow -RemoteAddress 198.51.100.25
Yukarıdaki komutta yer alan 198.51.100.25 adresi örnek bir dokümantasyon IP adresidir. Bu değeri, sunucunuza bağlanacak olan istemcinin gerçek ve sabit dış IP adresiyle değiştirmeniz gerekir.
Güvenlik duvarı izinlerinizi yapılandırdıktan sonra sunucu ortamınızı uzaktan güvenle idare etmek için VDS üzerinde Windows Server kurulumu ve RDP bağlantısı adımlarını uygulayabilirsiniz. Ağ trafiği yoğun projelerinizde kaynak yönetimi sağlamak amacıyla Windows VDS sunucu paketleri arasından gereksiniminize uygun kaynakları belirleyerek yapılandırmanızı hemen tamamlayabilirsiniz.
Sık Sorulan Sorular
Windows Server'da port açtıktan sonra sunucuyu yeniden başlatmak gerekir mi?
Hayır, Windows Defender Güvenlik Duvarı üzerinde tanımlanan kurallar kaydedildiği andan itibaren işletim sistemi çekirdeği tarafından işlenir. Yeni kural anında devreye girdiği için sunucuyu veya üzerinde koşan servisleri yeniden başlatmaya gerek kalmadan bağlantı sağlayabilirsiniz.
Port açtığım halde dışarıdan erişim neden sağlanamıyor?
Sunucuda ilgili portu dinleyen aktif bir servis yoksa port açık görünse bile bağlantı kurulamaz. Ayrıca ağ bağdaştırıcısının etkin profili ile kural profili uyuşmadığında veya sunucu önündeki harici bir altyapı güvenlik duvarı trafiği engellediğinde erişim kesilir.
Gelen kuralı ile giden kuralı arasındaki fark nedir?
Gelen kuralı (Inbound Rule), dış ağlardaki istemcilerin sunucunuzdaki bir servise başlattığı bağlantıları denetler. Giden kuralı (Outbound Rule) ise sunucunuzun dış dünyadaki harici bir sunucuya veya servise veri göndermek üzere başlattığı oturumları filtrelemek için kullanılır.
Birden fazla portu tek kuralda nasıl açabilirim?
Grafik arayüzdeki port alanına veya PowerShell komutundaki LocalPort parametresine değerleri virgülle ayırarak yazabilirsiniz. Örneğin 80, 443, 8080 şeklinde ayrı ayrı belirtebilir ya da ardışık portlar için 5000-5050 şeklinde port aralığı girebilirsiniz.
Linux & Windows Sistemleri İlgili Hizmetlerimiz
Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin
Etiketler:



