
RDP port değiştirme, Windows sunucuların internet üzerindeki otomatik taramalardan gelen gürültüyü azaltmak için sık başvurulan bir yöntemdir. Uzak Masaüstü varsayılan olarak 3389 numaralı portu kullanır ve bu port, internete açık Windows sunucuları arayan botların ilk baktığı yerlerden biridir. Portu değiştirmek tek başına bir güvenlik çözümü değildir; ancak doğru sırayla yapıldığında günlüklerdeki başarısız giriş denemelerini ciddi ölçüde azaltır. Yanlış sırayla yapıldığında ise sizi kendi sunucunuzun dışında bırakabilir. Bu rehberde Windows Server 2019 ve 2022'de RDP portunu PowerShell ile nasıl değiştireceğinizi, yeni port için güvenlik duvarı kuralını, servisi yeniden başlatmayı, testi ve gerektiğinde geri almayı adım adım anlatıyoruz.
RDP Portunu Değiştirmeden Önce Bilmeniz Gerekenler
RDP'nin dinlediği port, kayıt defterindeki şu anahtarın altındaki PortNumber değeriyle belirlenir:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
Bu değeri değiştirmek tek başına yeterli değildir. Windows Güvenlik Duvarı'ndaki hazır Uzak Masaüstü kuralları yalnızca 3389 numaralı portu kapsar; yeni port için ayrıca gelen trafik kuralı oluşturmanız gerekir. Ayrıca değişikliğin geçerli olması için Uzak Masaüstü Hizmetleri'nin yeniden başlatılması ya da sunucunun yeniden başlatılması şarttır. Bu adımlardan biri atlandığında sunucuya RDP ile ulaşamazsınız.
Başlamadan önce şu önlemleri alın:
- Konsol erişiminizi kontrol edin. Sunucu panelindeki VNC veya web konsolu, RDP çalışmadığında da sunucuya girmenizi sağlar. Bir sorun çıktığında geri dönüş yolunuz budur.
- Önce güvenlik duvarı kuralını ekleyin, sonra portu değiştirin.
- Ağ tarafındaki kuralları unutmayın. Sağlayıcı panelinde veya ağ cihazlarında ayrı bir güvenlik duvarı varsa yeni portu orada da açın.
Yeni Port Numarasını Seçmek
1024 ile 49151 arasında, sunucuda başka bir uygulamanın kullanmadığı bir port seçin. Windows, giden bağlantılar için varsayılan olarak 49152–65535 aralığındaki dinamik portları kullanır; RDP için bu aralığın dışında kalmak olası çakışmaları önler. Bu yazıda örnek olarak 43389 portunu kullanıyoruz. Seçtiğiniz portun boş olup olmadığını şöyle kontrol edebilirsiniz:
Get-NetTCPConnection -LocalPort 43389 -ErrorAction SilentlyContinue
netsh int ipv4 show dynamicport tcp
İlk komut hiçbir çıktı vermiyorsa port kullanılmıyor demektir. İkinci komut, sunucunuzdaki dinamik port aralığını gösterir.
PowerShell ile RDP Portunu Değiştirme: Adım Adım
Aşağıdaki komutları yönetici olarak açılmış bir PowerShell penceresinde çalıştırın. Başlat menüsünde PowerShell'e sağ tıklayıp Yönetici olarak çalıştır seçeneğini kullanabilirsiniz.
1. Mevcut portu görüntüleyin
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber
Varsayılan kurulumda çıktıdaki PortNumber değeri 3389'dur.
2. Yeni port için güvenlik duvarı kurallarını ekleyin
$port = 43389
New-NetFirewallRule -DisplayName "RDP Ozel Port TCP" -Direction Inbound -Protocol TCP -LocalPort $port -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "RDP Ozel Port UDP" -Direction Inbound -Protocol UDP -LocalPort $port -Action Allow -Profile Any
RDP bağlantıyı TCP ile kurar, koşullar uygunsa görüntü aktarımında aynı port üzerinden UDP'yi de kullanır. UDP kuralı zorunlu değildir, ancak eklendiğinde özellikle gecikmeli bağlantılarda deneyim daha akıcı olur.
3. Kayıt defterinde port numarasını değiştirin
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber -Value $port
PortNumber bir DWORD değeridir; Set-ItemProperty mevcut değerin türünü korur. Değişikliği aynı Get-ItemProperty komutuyla doğrulayın.
4. Uzak Masaüstü Hizmetleri'ni veya sunucuyu yeniden başlatın
Bu adım mevcut RDP oturumunuzu sonlandırır. Açık dosyalarınızı kaydedin. İki seçeneğiniz vardır:
# Seçenek A: Yalnızca Uzak Masaüstü Hizmetleri'ni yeniden başlat
Restart-Service -Name TermService -Force
# Seçenek B (en garantili): Sunucuyu yeniden başlat
Restart-Computer -Force
-Force parametresi, TermService'e bağlı çalışan diğer hizmetlerin de durdurulmasına izin verir. Servis yeniden başlatma bazı sistemlerde takılabildiği için bakım penceresi uygunsa sunucuyu yeniden başlatmak daha öngörülebilir bir sonuç verir. Hangi yolu seçerseniz seçin, bağlantınız kopacaktır; bu beklenen bir durumdur.
5. Yeni port üzerinden bağlanın
Kendi bilgisayarınızda Uzak Masaüstü Bağlantısı'nı açıp bilgisayar alanına IP adresini ve yeni portu iki nokta üst üste ile ayırarak yazın:
mstsc /v:203.0.113.10:43389
Bağlantı adımlarının ve istemci ayarlarının ayrıntıları için Windows VDS'e uzak masaüstü ile bağlanma rehberimize bakabilirsiniz.
Değişikliği Doğrulamak
Sunucuya yeniden bağlandıktan sonra RDP'nin yeni portta dinlediğini kontrol edin:
Get-NetTCPConnection -LocalPort 43389 -State Listen
Get-NetFirewallRule -DisplayName "RDP Ozel Port*" | Select-Object DisplayName, Enabled, Direction, Action
Kendi Windows bilgisayarınızdan portun erişilebilir olup olmadığını PowerShell ile test edebilirsiniz:
Test-NetConnection 203.0.113.10 -Port 43389
Çıktıda TcpTestSucceeded : True görüyorsanız port dışarıdan erişilebilirdir. Aynı kontrolü tarayıcı üzerinden port kontrol aracımızla da yapabilirsiniz.
Eski 3389 Kuralını Devre Dışı Bırakmak
Yeni porttan sorunsuz bağlandığınızdan emin olduktan sonra Windows'un hazır Uzak Masaüstü kurallarını kapatabilirsiniz. Bu kuralların görünen adları sistem diline göre değiştiği için (Türkçe sistemlerde Uzak Masaüstü, İngilizce sistemlerde Remote Desktop), dilden bağımsız grup kimliğini kullanmak daha güvenlidir:
Get-NetFirewallRule -Group "@FirewallAPI.dll,-28752" | Select-Object DisplayName, Enabled
Disable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"
İlk komut gruptaki kuralları listeler; doğru kuralları gördüğünüzü teyit ettikten sonra ikinci komutla kapatın. Port artık 43389 olduğu için 3389'a gelen trafiğe zaten yanıt verilmez, ancak kullanılmayan kuralları kapatmak yapılandırmayı sade ve anlaşılır tutar.
Port değişikliğinden sonra sunucuya bağlanan diğer araçları da güncellemeyi unutmayın: Kayıtlı .rdp dosyaları, uzak masaüstü yönetim uygulamaları, izleme sistemlerinizdeki RDP kontrolleri ve ekibinizin kullandığı bağlantı belgeleri eski portu göstermeye devam edecektir. Yeni portu güvenli bir yerde not etmek, aylar sonra bağlantı kurmanız gerektiğinde zaman kaybetmenizi önler.
Komut İstemi (CMD) ile Alternatif Yöntem
PowerShell yerine klasik komut istemini tercih ediyorsanız aynı işlemi yönetici olarak açılmış CMD'de şu komutlarla yapabilirsiniz:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 43389 /f
netsh advfirewall firewall add rule name="RDP Ozel Port TCP" dir=in action=allow protocol=TCP localport=43389
netsh advfirewall firewall add rule name="RDP Ozel Port UDP" dir=in action=allow protocol=UDP localport=43389
shutdown /r /t 0
Burada da sıra önemlidir: Güvenlik duvarı kuralları eklenmeden sunucuyu yeniden başlatmayın.
Bir Şeyler Ters Giderse: Geri Alma
Yeni porttan bağlanamıyorsanız sunucu panelindeki konsoldan giriş yapıp yönetici PowerShell'de varsayılan ayarlara dönebilirsiniz:
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber -Value 3389
Enable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"
Restart-Service -Name TermService -Force
Konsol üzerinden komut yazarken klavye düzenine dikkat edin. Web tabanlı konsollar bazen farklı bir klavye düzeni kullanır; tek tırnak, ters eğik çizgi ve iki nokta gibi karakterler beklediğiniz tuşta olmayabilir. Komutun ekrandaki halini çalıştırmadan önce mutlaka kontrol edin; uzun kayıt defteri yollarını yazarken hata yapmamak için cd HKLM: ile önce kayıt defteri sürücüsüne geçip daha kısa yollarla ilerlemek de işinizi kolaylaştırır.
Bağlanamama sorununun en sık nedenleri şunlardır: yeni port için güvenlik duvarı kuralının eklenmemesi, kuralın yanlış protokol veya port numarasıyla oluşturulması, sağlayıcı tarafındaki ağ güvenlik duvarında portun açılmaması ve servisin yeniden başlatılmaması.
Port Değiştirmek Yeterli mi?
Hayır. Port taramaları birkaç dakika içinde yeni portu bulabilir; değişiklik yalnızca rastgele taramaların büyük kısmını eler. RDP'yi gerçekten korumak için port değişikliğini şu önlemlerle birlikte kullanın:
| Önlem | Ne sağlar? |
|---|---|
| Güvenlik duvarında IP kısıtlaması | RDP'ye yalnızca belirlediğiniz adreslerden erişilir |
| Ağ Seviyesi Kimlik Doğrulaması (NLA) | Oturum ekranı açılmadan önce kimlik doğrulaması istenir |
| Hesap kilitleme politikası | Ardışık hatalı denemelerden sonra hesap geçici olarak kilitlenir |
| Güçlü ve benzersiz parola | Tahmin ve sözlük saldırılarını sonuçsuz bırakır |
| Düzenli Windows güncellemeleri | Bilinen RDP açıklarını kapatır |
Sabit bir IP adresiniz varsa yeni kuralı yalnızca o adrese açmak, en etkili tek adımdır:
Set-NetFirewallRule -DisplayName "RDP Ozel Port TCP" -RemoteAddress 198.51.100.20
Set-NetFirewallRule -DisplayName "RDP Ozel Port UDP" -RemoteAddress 198.51.100.20
Bu ayarlardan sonra IP adresiniz değişirse yalnızca konsol üzerinden girebileceğinizi unutmayın. Diğer sertleştirme adımlarını Windows Server VDS güvenlik ayarları yazımızda, hesap kilitlenmesi sorunlarını ise RDP çok fazla oturum açma denemesi hatası yazımızda ele aldık.
Sık Sorulan Sorular
RDP portunu değiştirdikten sonra bağlanamıyorum, neden?
En sık neden, yeni port için Windows Güvenlik Duvarı'nda gelen trafik kuralı oluşturulmamasıdır. Kuralı doğru port ve protokolle eklediğinizi, servisin veya sunucunun yeniden başlatıldığını ve sağlayıcı tarafında ek bir güvenlik duvarı olmadığını kontrol edin. Gerekirse konsoldan girip ayarı geri alın.
Hangi port numarasını seçmeliyim?
1024–49151 aralığında, sunucuda kullanılmayan herhangi bir port olabilir. Çok bilinen alternatifler yerine rastgele bir numara seçmek, yaygın tarama listelerinde yer alma ihtimalini azaltır. Seçtiğiniz portu not etmeyi unutmayın.
Servisi yeniden başlatmak yerine sunucuyu yeniden başlatmak şart mı?
Şart değildir; Restart-Service -Name TermService -Force çoğu durumda yeterlidir. Ancak servis yeniden başlatmanın takıldığı durumlar olabildiği için kesinti planlanabiliyorsa sunucuyu yeniden başlatmak daha öngörülebilir bir yoldur.
Port değişikliği sunucudaki diğer uygulamaları etkiler mi?
Hayır. Değişiklik yalnızca Uzak Masaüstü hizmetinin dinlediği portu etkiler. Seçtiğiniz port başka bir uygulama tarafından kullanılıyorsa çakışma yaşanır; bu yüzden portun boş olduğunu önceden kontrol etmek önemlidir.
Kaydettiğim .rdp dosyaları çalışmaya devam eder mi?
Eski .rdp dosyaları 3389 portuna bağlanmaya çalışacağı için çalışmaz. Dosyayı açıp bilgisayar alanına yeni portu ekleyerek tekrar kaydetmeniz gerekir.
RDP port değiştirme işlemi, güvenlik duvarı kuralı ve doğru yeniden başlatma adımıyla birlikte yapıldığında birkaç dakika sürer ve sunucunuza yönelik otomatik deneme trafiğini belirgin biçimde azaltır. Windows Server kurulum seçeneğiyle sunulan Windows VDS paketlerimizi veya yüksek tek çekirdek performansı isteyen uygulamalar için Ryzen 9 işlemcili VDS seçeneklerimizi inceleyebilirsiniz.
Hizmet Sözleşmemiz
Web Koruma
İade Politikamız
