Remote Desktop Protocol (RDP), Microsoft tarafından geliştirilen ve Client-Server mimarisine dayanan bir protokoldür. Kullanıcıların uzaktaki bir bilgisayara grafik arayüz üzerinden erişmesini sağlar. Standart yapılandırmada, RDP bağlantıları TCP 3389 Port'u üzerinden gerçekleştirilir. Ancak, varsayılan port numarasının değiştirilmemesi, sistemin kötü amaçlı taramalara, brute-force saldırılarına ve çeşitli exploit tekniklerine karşı savunmasız hale gelmesine neden olabilir. Bu yüzden, RDP erişimlerinin güvenliğini artırmak için port değişikliği, erişim kontrol listeleri, çift faktörlü kimlik doğrulama ve güvenlik duvarı kuralları gibi ek önlemlerle desteklenmelidir.
RDP, güvenlik açısından çeşitli saldırı vektörlerine açıktır. Internet'e açık bir sistemde, özellikle Shodan, Nmap, Masscan gibi tarama araçları kullanılarak açık portlar kolayca tespit edilebilir. Varsayılan port olan 3389’un değiştirilmesi, doğrudan hedef alınma ihtimalini düşürür ve saldırganların rastgele taramalar sırasında bağlantı kurmasını zorlaştırır. Ancak, yalnızca port değiştirmek yeterli değildir. Çünkü bir saldırgan, hedef sistem üzerinde bir port taraması yaparak yeni Port'u tespit edebilir. Bu nedenle, ek güvenlik mekanizmalarının devreye alınması gereklidir.
Port değişikliği, doğrudan Windows Registry üzerinden yapılır. Ancak bu değişiklik sadece Remote Desktop Services (RDS) bileşeninin bağlantı noktasını etkiler. Sistem yöneticisinin, istemcilerin yeni Port'u kullanarak bağlanmasını sağlamak için Group Policy Object (GPO), Windows Firewall ve diğer güvenlik politikaları ile gerekli düzenlemeleri yapması gerekir. Örneğin, yeni Port'un Windows Defender Firewall üzerinde hem Inbound hem de Outbound kurallarına eklenmesi zorunludur. Aksi takdirde, Port değişikliği sonrası RDP erişimi tamamen kesilebilir ve sistemin yerel veya uzaktan yönetimi imkansız hale gelebilir.
RDP bağlantılarında TLS 1.2 kullanılması ve eski sürüm protokollerin devre dışı bırakılması, saldırı yüzeyini daraltan bir başka önlemdir. Varsayılan yapılandırmada, SSL/TLS 1.0 gibi güvenli olmayan protokoller kullanılabilir durumdadır. Bu, Man-in-the-Middle (MITM) saldırılarına karşı sistemin zayıf kalmasına neden olabilir. RDP trafiğini daha güvenli hale getirmek için Network Level Authentication (NLA) zorunlu hale getirilmelidir. NLA, istemcinin bağlanmadan önce kimlik doğrulamasını gerçekleştirmesini sağlar ve brute-force saldırılarını büyük ölçüde sınırlandırır.
Port değişikliği sonrası erişim testleri yapılmalıdır. netstat -an | findstr "YENİPORT" komutu ile ilgili Port'un dinlenip dinlenmediği kontrol edilebilir. Eğer LISTENING durumu görülmüyorsa, Remote Desktop Services (RDS) servisi yeniden başlatılmalı ve Event Viewer üzerindeki TerminalServices-RemoteConnectionManager Log'ları incelenmelidir. Olası hatalar arasında Port Conflict, Firewall Block ve GPO Restriction gibi durumlar olabilir. Özellikle Local Security Policy (secpol.msc) üzerinden User Rights Assignment ayarlarında Allow log on through Remote Desktop Services hakkının doğru kullanıcı gruplarına tanımlandığından emin olunmalıdır.
Internet'e açık sistemlerde RDP kullanımı kaçınılmazsa Jump Server, Bastion Host, Privileged Access Workstation (PAW) gibi erişim kontrol mekanizmaları devreye alınmalıdır. Virtual Private Network (VPN) üzerinden erişim sağlamak, Port Forwarding (port yönlendirme) gibi güvenlik açıklarını ortadan kaldırır ve yalnızca yetkilendirilmiş kullanıcıların erişimine izin verir. Brute-force Protection, Account Lockout Policy ve Multi-Factor Authentication (MFA) gibi ek önlemler, saldırganların RDP oturumlarını ele geçirmesini önlemede önemli rol oynar.
Port değişikliği, tek başına güvenlik sağlayan bir önlem değildir. Ancak, sistemin genel güvenlik stratejisinin bir parçası olarak kullanıldığında, yetkisiz erişim girişimlerini azaltan etkili bir yöntem haline gelir. RDP erişiminin güvenli hale getirilmesi, sistemin kullanım amacına, ağ topolojisine ve tehdit modeline bağlı olarak çok katmanlı bir yapı ile planlanmalıdır.
Toplam 65.535 adet Port numarası içinden istediğiniz bir Port numarası belirleyerak Registry üzerinde Port değişikliği yapmak yetiyor. Registry üzerinde Port değişikliği yapmak için:
1- Çalıştır (Run) ekranında ve regedt32 yazıyorum. regedt32, regedit'ten daha çok özellik barındırmaktadır.

2- Registy Editor açıldığında, Menu üzerinde Edit'e tıklatıp Find...'a tıklıyorum.

3- Find ekranında RDP-TCP yazıp Find Next'e tıklıyorum.

4- Aradığım RDP-TCP klasörünü Registy içinde tarıyor.

6- Kayda çift tıkladığımda gelen kutucukta Hexadecimal'i Decimal'e çevirerek 3389 Port'unu kendi belirlediğim 5011 ile değiştiriyorum.


7- Görüldüğü gibi RPD Port Numarasını değiştirdim.

Artık bundan sonraki adımda Uzak Msaüstü Bağlantısı (Remote Desktop Connection) kurarken yeni RDP Port'u ile güvenle bağlanabiliriz. Yukarıda da belirttiğim gibi, varsayılan Port numarası 3389 ise, bunu yazmanıza gerek yoktur ama farklı bir Port kullanılıyor ise, bu Port yazılmalıdır.
Ör: 88.101.98.45:5011 (Public IP-Dışarıdan erişimler için)
Ör: 10.26.5.100:5011 (Private IP-Local erişimler için)

RDP bağlantılarında varsayılan olarak kullanılan Port'u değiştirmek, güvenlik açısından etkili bir adım olabilir. Özellikle Internet'e açık sistemlerde, varsayılan 3389'un değiştirilmesi, otomatik tarama yapan kötü niyetli bot'ların erişim şansını büyük ölçüde azaltır. Ancak bu değişiklik tek başına bir güvenlik önlemi olarak düşünülmemeli. Firewall kuralları, Network Level Authentication (NLA) ve güçlü kimlik doğrulama yöntemleriyle desteklenmediğinde, sadece Port değiştirmek saldırılara karşı yeterli koruma sağlamaz.
Bu tür değişiklikler yapılırken, tüm sistem bileşenleriyle uyumlu olması gerekir. Özellikle Group Policy Object (GPO) veya Remote Desktop Gateway gibi bileşenlerin bu yeni Port'u tanıyıp tanımadığını kontrol etmek gerekir. Ayrıca, belirlenen yeni Port’un herhangi bir servis tarafından kullanılmadığından emin olmak, ileride yaşanabilecek bağlantı problemlerini önlemek için kritik bir adımdır. Yanlış yapılandırmalar, uzaktan erişim kesintilerine ve yönetim süreçlerinde aksaklıklara yol açabilir.
Yapılan değişikliklerin başarılı olup olmadığını test etmek, yanlış yapılandırma riskini minimize eder. Registry’de değişiklik yaptıktan sonra sistemin yeniden başlatılması gerektiği unutulmamalı. Yeni Port'un doğru bir şekilde dinlendiğini görmek için netstat -an veya Test-NetConnection gibi komutlarla kontrol sağlanmalı. Firewall üzerinde uygun izinlerin tanımlanmadığı bir senaryoda, bağlantının tamamen engellenebileceği unutulmamalı.
Bu tür işlemler, sistemin genel güvenlik politikalarıyla uyumlu olacak şekilde planlanmalı. Rastgele bir Port seçmek yerine, kullanılmayan ve belirli bir düzen içinde tanımlanan aralıktaki bir değer tercih edilirse, yönetilebilirlik açısından daha sağlıklı bir yapı oluşturulabilir. Network altyapısını ve organizasyonel ihtiyaçları dikkate almadan yapılan değişiklikler, güvenlik sağlamaktan çok erişilebilirliği zorlaştıran bir faktöre dönüşebilir.
Faydalı olması dileğiyle...
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.