Remote Desktop Protocol (RDP), Microsoft tarafından geliştirilen ve Windows sistemlere uzaktan grafiksel arayüz üzerinden erişim sağlayan bir protokoldür. Sistem yöneticileri RDP sayesinde fiziksel olarak sunucunun başında bulunmadan sunucu üzerinde oturum açabilir, servisleri yönetebilir, uygulamaları kontrol edebilir ve günlük yönetim işlemlerini gerçekleştirebilir. Windows işletim sistemlerinde Remote Desktop Services varsayılan olarak TCP 3389 portunu kullanır. Güncel Windows sürümlerinde bağlantı performansını artırmak amacıyla UDP transport da kullanılabildiğinden RDP yapılandırması değerlendirilirken TCP ile birlikte UDP tarafı da göz önünde bulundurulmalıdır. 3389 portunun standart olarak kullanılması kullanım kolaylığı sağlasa da özellikle internete açık sistemlerde bu port otomatik tarama araçlarının sık hedeflerinden biridir. Saldırganların kullandığı botlar ve internet tarama sistemleri geniş IP bloklarını tarayarak açık 3389 portlarını kolaylıkla tespit edebilir. Bu nedenle bazı ortamlarda varsayılan RDP portunun değiştirilmesi tercih edilmektedir.
Bu makalede Windows Server üzerinde:
Varsayılan RDP Portu : 3389
Yeni RDP Portu : 8155
olacak şekilde RDP port değişikliğini gerçekleştirecek, Windows Defender Firewall yapılandırmasını yapacak, bağlantıyı test edecek ve RDP güvenliğini artırmak için uygulanabilecek ek önlemleri ayrıntılı olarak inceleyeceğiz.
Önemli: RDP portunu 3389’dan 8155’e değiştirmek tek başına güçlü bir güvenlik önlemi değildir. Port değişikliği daha çok otomatik ve doğrudan 3389’u hedefleyen taramaların oluşturduğu trafiği azaltır. RDP güvenliği; VPN, firewall, NLA, MFA, güçlü kimlik doğrulama, erişim kısıtlamaları ve güncel sistemlerle birlikte ele alınmalıdır.
1. RDP Neden Varsayılan Olarak 3389 Portunu Kullanır?
Remote Desktop özelliği etkinleştirildiğinde Windows, varsayılan olarak RDP bağlantılarını:
TCP 3389
üzerinden kabul eder.
Bu nedenle Remote Desktop Connection uygulamasında yalnızca sunucunun IP adresini yazmak yeterlidir.
Örneğin:
10.10.10.50
yazıldığında RDP istemcisi otomatik olarak 3389 portuna bağlantı kurmayı dener.
Ancak portu 8155 olarak değiştirdiğimizde istemcinin hangi portu kullanacağını ayrıca belirtmemiz gerekir.
Yeni bağlantı formatı:
10.10.10.50:8155
şeklinde olacaktır.
DNS adı kullanılıyorsa:
server01.contoso.local:8155
şeklinde bağlantı gerçekleştirilebilir.
2. Varsayılan RDP 3389 Portunun Riskleri
3389 portunun kullanılması doğrudan bir güvenlik açığı değildir. Asıl risk, RDP servisinin herhangi bir erişim kısıtlaması olmadan özellikle internet üzerinden erişilebilir durumda bırakılmasıdır.
İnternete bağlı sunucular sürekli olarak farklı tarama araçları tarafından kontrol edilir. Nmap, Masscan, Shodan benzeri sistemler veya saldırganların geliştirdiği otomatik botlar açık RDP servislerini kolaylıkla tespit edebilir.
Açık bir RDP servisi tespit edildiğinde saldırganların ilk hedeflerinden biri kullanıcı hesapları olabilir.
Brute-force saldırılarında aynı hesap üzerinde çok sayıda parola denenebilir. Password spraying saldırılarında ise saldırgan az sayıda yaygın parolayı çok sayıda kullanıcı hesabında deneyerek hesap kilitleme politikalarından kaçınmaya çalışabilir.
Ayrıca güncellenmemiş eski Windows sistemlerinde geçmişte ortaya çıkmış RDP güvenlik açıkları da risk oluşturabilir. Bunun bilinen örneklerinden biri:
CVE-2019-0708 – BlueKeep
güvenlik açığıdır.
Bu nedenle RDP portu değiştirilmiş olsa bile sistemlerin güvenlik güncellemelerinin düzenli olarak uygulanması kritik önem taşır.
3. RDP Portunu 3389’dan 8155’e Değiştirmek Ne Sağlar?
RDP portunu:
3389 → 8155
şeklinde değiştirmek sistemi görünmez hale getirmez.
Port değişikliğinin asıl faydası, sadece varsayılan 3389 portunu tarayan otomatik sistemlerin bağlantı girişimlerini ve oluşan gereksiz log yoğunluğunu azaltabilmesidir.
Ancak saldırgan aşağıdaki gibi geniş kapsamlı bir port taraması gerçekleştirirse:
1-65535
8155 portunda çalışan RDP servisini de tespit edebilir.
Dolayısıyla port değiştirme işlemi bir erişim kontrol mekanizması olarak değil, çok katmanlı güvenlik yapısının küçük bir parçası olarak değerlendirilmelidir.
4. İşleme Başlamadan Önce Dikkat Edilmesi Gerekenler
RDP portunun değiştirilmesi doğrudan sunucuya uzaktan erişimi etkileyen bir işlemdir.
Özellikle değişikliği mevcut bir RDP oturumu içerisinden gerçekleştiriyorsanız, yanlış Registry veya Firewall yapılandırması sonucunda sunucuya tekrar bağlanamayabilirsiniz.
Bu nedenle üretim ortamlarında değişiklik yapmadan önce mümkünse alternatif konsol erişiminizin bulunduğundan emin olun.
Örneğin fiziksel sunucularda:
iLO
iDRAC
IPMI
KVM
gibi yönetim arayüzleri kullanılabilir.
Sanal makinelerde ise:
VMware Console
Hyper-V Console
vCenter Console
Cloud Console
gibi alternatif erişim yöntemlerinin hazır bulunması faydalıdır.
Ayrıca 8155 portunun başka bir uygulama tarafından kullanılmadığı doğrulanmalıdır.
5. 8155 Portunun Kullanımda Olup Olmadığını Kontrol Etme
Port değişikliğini gerçekleştirmeden önce 8155 portunun sunucu üzerinde başka bir servis tarafından kullanılıp kullanılmadığını kontrol etmek gerekir.
PowerShell üzerinden:
Get-NetTCPConnection -LocalPort 8155 -ErrorAction SilentlyContinue
komutu kullanılabilir.
Alternatif olarak Command Prompt üzerinde:
netstat -ano | findstr :8155
çalıştırılabilir.
Herhangi bir çıktı alınmıyorsa 8155 portunda o anda aktif bir TCP listener bulunmadığı düşünülebilir.
Ancak üretim ortamlarında yalnızca mevcut listener durumuna değil, sunucu üzerinde çalışan uygulamaların gelecekte bu portu kullanıp kullanmayacağına da dikkat edilmelidir.
6. RDP Port Bilgisi Windows Registry’de Nerede Tutulur?
Windows Remote Desktop Services tarafından kullanılan RDP port bilgisi Registry içerisinde aşağıdaki konumda saklanır:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
Bu anahtar altında bulunan:
PortNumber
değeri RDP servisinin dinleyeceği port numarasını belirler.
Değer türü:
REG_DWORD
şeklindedir.
Varsayılan yapılandırmada PortNumber değeri decimal olarak:
3389
olarak tanımlıdır.
Biz bu değeri:
8155
olarak değiştireceğiz.
7. Registry Editor ile RDP Portunu 8155 Olarak Değiştirme
İlk yöntem grafiksel Registry Editor kullanmaktır.
Windows + R tuşlarına basarak Run penceresini açın.
Ardından:
regedit
yazın ve Registry Editor uygulamasını yönetici yetkileriyle çalıştırın.
Aşağıdaki Registry yoluna ilerleyin:
HKEY_LOCAL_MACHINE
└── SYSTEM
└── CurrentControlSet
└── Control
└── Terminal Server
└── WinStations
└── RDP-Tcp
Sağ tarafta:
PortNumber
değerini bulun.
PortNumber üzerine çift tıklayın.
Açılan Edit DWORD (32-bit) Value ekranında önce:
Base = Decimal
seçeneğini işaretleyin.
Mevcut değer:
3389
olarak görüntülenecektir.
Bunu:
8155
olarak değiştirin.
Son durumda:
Value name : PortNumber
Value data : 8155
Base : Decimal
olmalıdır.
OK seçeneğine tıklayarak değişikliği kaydedin.
8. PowerShell ile RDP Portunu 8155 Olarak Değiştirme
Grafik arayüz yerine PowerShell kullanılması özellikle sistem yöneticileri için daha hızlı ve tekrar edilebilir bir yöntemdir.
PowerShell’i Run as Administrator seçeneğiyle açın.
Öncelikle mevcut RDP portunu kontrol edebilirsiniz:
$RDPPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
(Get-ItemProperty $RDPPath).PortNumber
Varsayılan sistemde beklenen çıktı:
3389
olacaktır.
Portu 8155 olarak değiştirmek için:
Set-ItemProperty `
-Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" `
-Name "PortNumber" `
-Value 8155
işlemi gerçekleştirilir.
Değişikliği doğrulamak için:
(Get-ItemProperty `
"HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp").PortNumber
komutunu çalıştırabilirsiniz.
Beklenen çıktı:
8155
olmalıdır.
9. CMD Üzerinden REG ADD Kullanarak Port Değiştirme
RDP port değişikliği Command Prompt üzerinden de gerçekleştirilebilir.
Command Prompt’u yönetici yetkileriyle açın ve:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 8155 /f
komutunu çalıştırın.
Registry’deki yeni değeri görüntülemek için:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber
kullanılabilir.
Bu yöntem özellikle script veya otomasyon sistemlerinde kullanılabilecek pratik seçeneklerden biridir.
10. Windows Defender Firewall’da TCP 8155 Portuna İzin Verme
Registry üzerinde PortNumber değerini değiştirmek tek başına yeterli değildir.
Sunucu üzerindeki Windows Defender Firewall’un da yeni RDP portuna bağlantı kabul etmesi gerekir.
Aksi durumda Remote Desktop Services 8155 portunu dinliyor olsa bile istemci bağlantısı firewall tarafından engellenebilir.
TCP 8155 için yeni inbound firewall kuralı oluşturmak amacıyla:
New-NetFirewallRule `
-DisplayName "RDP TCP 8155" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 8155 `
-Action Allow
komutu kullanılabilir.
Kuralı görüntülemek için:
Get-NetFirewallRule -DisplayName "RDP TCP 8155"
çalıştırılabilir.
11. UDP 8155 Firewall Kuralının Oluşturulması
Güncel Windows ve Windows Server sürümlerinde RDP bağlantılarında TCP’nin yanında UDP transport da kullanılabilir.
Bu nedenle ortamın RDP yapılandırmasına bağlı olarak UDP 8155 için de firewall kuralı oluşturulabilir:
New-NetFirewallRule `
-DisplayName "RDP UDP 8155" `
-Direction Inbound `
-Protocol UDP `
-LocalPort 8155 `
-Action Allow
Oluşturulan kuralları toplu olarak görmek için:
Get-NetFirewallRule |
Where-Object {$_.DisplayName -like "*RDP*8155*"}
kullanılabilir.
Burada önemli bir nokta bulunmaktadır:
RDP sunucusuna dışarıdan bağlantı kabul edebilmek için esas olarak Inbound kural gereklidir.
Standart Windows Defender Firewall yapılandırmasında ayrıca 8155 için özel bir outbound kural oluşturmak genellikle gerekli değildir. Ancak kurumunuz outbound trafiğini de varsayılan olarak engelliyorsa ilgili güvenlik politikaları ayrıca değerlendirilmelidir.
12. RDP Portunu Sadece Belirli IP Adreslerine Açmak
RDP güvenliğini artırmanın en etkili yöntemlerinden biri yeni portu herkese açmak yerine yalnızca belirli yönetim ağlarına izin vermektir.
Örneğin yalnızca:
10.20.30.0/24
network’ünün RDP bağlantısı gerçekleştirmesine izin vermek için:
New-NetFirewallRule `
-DisplayName "Secure RDP TCP 8155" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 8155 `
-RemoteAddress 10.20.30.0/24 `
-Action Allow
kullanılabilir.
Yalnızca tek bir yönetim bilgisayarına izin verilmek istenirse:
New-NetFirewallRule `
-DisplayName "Admin RDP TCP 8155" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 8155 `
-RemoteAddress 10.20.30.15 `
-Action Allow
kuralı oluşturulabilir.
Bu yöntem, portu 3389’dan 8155’e değiştirmekten çok daha önemli bir güvenlik kontrolüdür.
13. Registry Değişikliğinin Aktif Hale Gelmesi
RDP port değişikliğinin etkinleşmesi için Remote Desktop Services’in yeni yapılandırmayı tekrar yüklemesi gerekir.
Üretim ortamlarında en kontrollü yöntem sistemin uygun bakım zamanında yeniden başlatılmasıdır.
PowerShell üzerinden:
Restart-Computer
kullanılabilir.
Ancak sunucuyu uzaktan yönetiyorsanız yeniden başlatmadan önce mutlaka:
8155 Registry değeri
8155 Firewall kuralı
Alternatif console erişimi
kontrol edilmelidir.
Remote Desktop Services servis durumu:
Get-Service TermService
komutuyla görüntülenebilir.
14. Sunucu Açıldıktan Sonra 8155 Portunu Kontrol Etme
Sunucu yeniden başladıktan sonra ilk yapılması gereken işlem RDP servisinin gerçekten 8155 portunu dinlediğini doğrulamaktır.
PowerShell üzerinden:
Get-NetTCPConnection -LocalPort 8155 -State Listen
komutunu çalıştırabilirsiniz.
Alternatif olarak:
netstat -ano | findstr :8155
kullanılabilir.
Başarılı bir yapılandırmada aşağıdakine benzer bir çıktı görülebilir:
TCP 0.0.0.0:8155 0.0.0.0:0 LISTENING
IPv6 etkinse ayrıca:
TCP [::]:8155 [::]:0 LISTENING
satırı görülebilir.
Bu çıktı sunucunun RDP bağlantılarını 8155 portunda kabul etmeye hazır olduğunu gösterir.
15. 3389 Portunun Artık Dinlenmediğini Kontrol Etme
Yeni RDP portunun aktif olması kadar eski portun durumunu kontrol etmek de önemlidir.
Aşağıdaki komut kullanılabilir:
netstat -ano | findstr :3389
veya:
Get-NetTCPConnection -LocalPort 3389 -ErrorAction SilentlyContinue
Remote Desktop Services port değişikliğini doğru şekilde yüklediyse 3389 üzerinde eski RDP listener’ının bulunmaması beklenir.
Ancak sistem üzerinde başka bir servis 3389 kullanıyorsa ayrıca değerlendirme yapılmalıdır.
16. Başka Bir Bilgisayardan 8155 Portunu Test Etme
Sunucunun kendi üzerinde 8155 portunun LISTENING durumda olması ağ üzerinden erişilebildiği anlamına gelmez.
Sunucu ile istemci arasında:
Firewall
Router
VLAN ACL
VPN
NAT
IPS
Cloud Security Group
Network Security Group
gibi farklı güvenlik bileşenleri bulunabilir.
Bu nedenle başka bir Windows bilgisayardan:
Test-NetConnection 10.10.10.50 -Port 8155
komutunun çalıştırılması önerilir.
Bağlantının başarılı olması durumunda:
ComputerName : 10.10.10.50
RemoteAddress : 10.10.10.50
RemotePort : 8155
TcpTestSucceeded : True
benzeri bir sonuç görüntülenir.
Özellikle:
TcpTestSucceeded : True
değeri TCP bağlantısının başarılı olduğunu gösterir.
17. Yeni RDP Portu ile Remote Desktop Bağlantısı
RDP portunu 8155 olarak değiştirdikten sonra istemci tarafında da yeni port belirtilmelidir.
Windows + R üzerinden:
mstsc
yazarak Remote Desktop Connection uygulamasını açabilirsiniz.
Computer alanına:
10.10.10.50:8155
yazılmalıdır.
DNS adı kullanılıyorsa:
server01.contoso.local:8155
şeklinde bağlantı gerçekleştirilebilir.
Komut satırından doğrudan RDP oturumu başlatmak için:
mstsc /v:10.10.10.50:8155
kullanılabilir.
DNS adı ile:
mstsc /v:server01.contoso.local:8155
şeklinde bağlantı yapılabilir.
18. Public IP Üzerinden Bağlantı Yapılacaksa
Sunucu internete doğrudan veya NAT üzerinden erişilebilir durumdaysa istemci bağlantısı:
PUBLIC-IP:8155
formatında gerçekleştirilebilir.
Örneğin:
88.101.98.45:8155
Ancak güvenlik açısından RDP servisinin doğrudan internete açılması mümkün olduğunca tercih edilmemelidir.
Daha güvenli yaklaşım:
Internet
|
v
VPN
|
v
Firewall
|
v
Windows Server : 8155
şeklindeki mimaridir.
19. NAT Kullanılan Ortamlarda 8155 Port Yapılandırması
Windows Server bir firewall veya router arkasındaysa, sadece Windows tarafındaki Registry değerini değiştirmek yeterli olmayabilir.
NAT cihazının da 8155 bağlantılarını doğru sunucuya yönlendirmesi gerekir.
Örneğin:
Public IP
|
| TCP 8155
v
Firewall / NAT
|
| TCP 8155
v
192.168.10.50
şeklinde bir yapı kurulabilir.
Port forwarding mantığı:
Public-IP:8155 → 192.168.10.50:8155
şeklinde olabilir.
Ancak yine de RDP’nin doğrudan internet üzerinden yayınlanması yerine VPN veya Remote Desktop Gateway kullanılması çok daha doğru bir güvenlik yaklaşımıdır.
20. Port Değişikliğinden Sonra RDP Çalışmıyorsa Ne Kontrol Edilmeli?
Bağlantı kurulamadığında önce Registry değerini kontrol edin:
(Get-ItemProperty `
"HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp").PortNumber
çıktısının:
8155
olması gerekir.
Remote Desktop Services durumunu:
Get-Service TermService
ile kontrol edin.
Portun dinlenip dinlenmediğine bakın:
Get-NetTCPConnection -LocalPort 8155 -State Listen
veya:
netstat -ano | findstr :8155
Firewall kurallarını görüntüleyin:
Get-NetFirewallRule |
Where-Object {$_.DisplayName -like "*8155*"}
Başka bir uygulamanın aynı portu kullanıp kullanmadığını kontrol etmek için:
netstat -ano | findstr :8155
komutundaki PID değerini inceleyebilirsiniz.
Örneğin PID:
1234
ise:
tasklist /FI "PID eq 1234"
komutu ile ilgili process bulunabilir.
21. Event Viewer Üzerinden RDP Problemlerini İnceleme
RDP bağlantısı kurulamıyorsa Event Viewer önemli hata bilgileri sağlayabilir.
Özellikle:
Applications and Services Logs
└── Microsoft
└── Windows
└── TerminalServices-RemoteConnectionManager
ve:
TerminalServices-LocalSessionManager
logları kontrol edilebilir.
Bu kayıtlar üzerinden bağlantı oluşturma, authentication ve session yönetimiyle ilgili hatalar analiz edilebilir.
Ayrıca:
Windows Logs
└── Security
altındaki logon kayıtlarının incelenmesi de faydalıdır.
22. Network Level Authentication – NLA Etkinleştirilmelidir
RDP güvenliğinin temel bileşenlerinden biri Network Level Authentication (NLA) özelliğidir.
NLA sayesinde kullanıcı tam bir Remote Desktop oturumu oluşturulmadan önce kimlik doğrulamadan geçirilir.
Bu yaklaşım gereksiz session oluşturulmasını engeller ve RDP servisinin saldırı yüzeyinin azaltılmasına yardımcı olur.
Registry üzerinden NLA durumu:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
altındaki:
UserAuthentication
değeri üzerinden kontrol edilebilir.
Değer:
1
ise NLA etkin durumdadır.
PowerShell üzerinden:
Get-ItemProperty `
"HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" `
-Name UserAuthentication
kullanılabilir.
23. TLS ve RDP Şifreleme Güvenliği
RDP güvenliği yalnızca kullanılan port numarasından oluşmaz.
Bağlantının şifreleme katmanı da güvenliğin önemli bir parçasıdır.
Windows sistemleri düzenli olarak güncellenmeli, desteklenmeyen ve zayıf protokoller kullanılmamalı, mümkün olan ortamlarda güncel TLS yapılandırmaları tercih edilmelidir.
Kurumsal ortamlarda bu yapılandırmaların merkezi olarak:
Group Policy
üzerinden yönetilmesi önerilir.
Ayrıca kurumsal PKI altyapısı bulunan ortamlarda RDP bağlantılarında güvenilir sertifikaların kullanılması sertifika uyarılarının ve olası kimlik doğrulama problemlerinin azaltılmasına yardımcı olur.
24. RDP Kullanıcı Yetkilerinin Sınırlandırılması
Her kullanıcının RDP üzerinden sunuculara erişmesine izin verilmemelidir.
Windows üzerindeki:
Allow log on through Remote Desktop Services
hakkı yalnızca gerçekten uzaktan erişime ihtiyacı bulunan kullanıcı veya gruplara verilmelidir.
İlgili ayara:
Computer Configuration
→ Windows Settings
→ Security Settings
→ Local Policies
→ User Rights Assignment
üzerinden ulaşılabilir.
Domain ortamlarında kullanıcıların bireysel olarak yetkilendirilmesi yerine Active Directory grupları üzerinden yönetilmesi operasyonel açıdan daha sağlıklı olacaktır.
25. Remote Desktop Users Grubu Kullanımı
Standart kullanıcıların RDP erişimleri mümkün olduğunca:
Remote Desktop Users
grubu üzerinden kontrol edilmelidir.
Kullanıcıya yalnızca RDP erişimi gerektiği için doğrudan:
Administrators
grubuna üyelik verilmesi doğru değildir.
Bu yaklaşım Least Privilege, yani minimum yetki prensibine aykırıdır.
Kullanıcının yalnızca ihtiyaç duyduğu yetkilere sahip olması, hesap ele geçirilmesi durumunda saldırganın ulaşabileceği yetki seviyesini sınırlar.
26. Account Lockout Policy Kullanımı
RDP servislerine karşı sık gerçekleştirilen saldırı türlerinden biri parola denemeleridir.
Bunun etkisini azaltmak amacıyla Account Lockout Policy yapılandırılabilir.
Politika:
Computer Configuration
→ Windows Settings
→ Security Settings
→ Account Policies
→ Account Lockout Policy
üzerinden yönetilebilir.
Burada kurumun güvenlik politikasına göre:
Account lockout threshold
Account lockout duration
Reset account lockout counter after
değerleri belirlenebilir.
Ancak çok agresif kilitleme politikalarının saldırganlar tarafından kullanıcı hesaplarını bilinçli olarak kilitlemek amacıyla kullanılabileceği de dikkate alınmalıdır.
27. RDP’yi Doğrudan İnternete Açmak Yerine VPN Kullanımı
RDP güvenliği açısından en önemli mimari iyileştirmelerden biri servisi doğrudan internete açmamaktır.
Aşağıdaki yapı:
Internet
|
TCP 8155
|
Windows Server
yerine:
Internet
|
v
VPN
|
v
Firewall
|
v
Internal Network
|
v
Windows Server:8155
tercih edilmelidir.
Kullanıcı önce kurumsal VPN’e bağlanır, ardından Windows Server üzerindeki 8155 portuna erişir.
Bu sayede RDP servisi doğrudan internet üzerinden taranamaz.
28. Remote Desktop Gateway Kullanımı
Çok sayıda Windows sunucusunun bulunduğu kurumsal ortamlarda her sunucunun ayrı ayrı RDP portuyla internete açılması uygun bir mimari değildir.
Bunun yerine Remote Desktop Gateway kullanılabilir.
Örnek:
Internet
|
v
Remote Desktop Gateway
|
+------ Server01
|
+------ Server02
|
+------ Server03
RD Gateway, kullanıcıların RDP bağlantılarını merkezi bir erişim noktası üzerinden gerçekleştirmesini sağlar.
Böylece kullanıcı doğrulaması, erişim politikaları, loglama ve güvenlik kuralları daha merkezi şekilde yönetilebilir.
29. Bastion Host / Jump Server Kullanımı
Kritik sistemlerin bulunduğu ortamlarda kullanıcı bilgisayarlarından doğrudan RDP erişimi verilmesi yerine merkezi bir yönetim sunucusu kullanılabilir.
Örnek yapı:
Administrator
|
v
VPN
|
v
Bastion / Jump Server
|
+------ Domain Controller
|
+------ Database Server
|
+------ Application Server
Bu yaklaşım sayesinde kritik Windows sunucularına erişim merkezi bir noktadan kontrol edilir.
Özellikle domain controller, database server veya yönetim altyapısında bulunan kritik sistemlerde bu yapı daha güvenli bir yönetim modeli oluşturur.
30. Multi-Factor Authentication – MFA
RDP bağlantılarında yalnızca kullanıcı adı ve parola kullanmak modern güvenlik beklentileri açısından yeterli olmayabilir.
Mümkün olan ortamlarda:
Username
+
Password
+
MFA
yaklaşımı kullanılmalıdır.
MFA doğrudan RDP oturumunda veya:
VPN
RD Gateway
Identity Provider
Privileged Access Management
gibi erişim katmanlarından birinde uygulanabilir.
Bir kullanıcının parolasının ele geçirilmesi durumunda ikinci doğrulama faktörü saldırganın sisteme erişmesini önemli ölçüde zorlaştırır.
31. RDP Loglarının İzlenmesi
RDP erişimleri yalnızca güvenlik altına alınmamalı, aynı zamanda izlenmelidir.
Windows Security Log içerisinde başarılı ve başarısız oturum açma denemeleri takip edilebilir.
Örneğin:
Event ID 4624
başarılı logon olaylarında,
Event ID 4625
ise başarısız logon olaylarında görülebilir.
Ancak bu event ID’ler yalnızca RDP’ye özgü değildir. RDP analizi yapılırken logon type ve ilgili Terminal Services kayıtlarıyla birlikte değerlendirilmelidir.
SIEM altyapısı kullanılan kurumlarda bu loglar merkezi bir sisteme gönderilebilir.
Böylece olağandışı sayıda başarısız oturum, farklı kaynaklardan gelen bağlantılar veya beklenmeyen zamanlardaki yönetici erişimleri için alarm üretilebilir.
32. 8155 Portuna Geçildikten Sonra Eski 3389 Firewall Kuralları
RDP’nin artık 8155 portunda düzgün çalıştığı doğrulandıktan sonra 3389 portuna izin veren mevcut firewall kuralları gözden geçirilmelidir.
Örneğin ortamda:
TCP 3389 ALLOW
TCP 8155 ALLOW
şeklinde iki açık kural bulunması durumunda port değişikliğinin beklenen faydası azalabilir.
Ancak Windows’un yerleşik Remote Desktop firewall kurallarını doğrudan silmeden önce ortamın GPO ve yönetim yapısının incelenmesi gerekir.
Domain ortamlarında ilgili firewall kuralları Group Policy tarafından tekrar oluşturulabilir.
Bu nedenle mevcut politikalar değerlendirilmeden rastgele firewall kuralı silinmemelidir.
33. RDP 8155 Yapılandırması İçin Toplu PowerShell Komutları
İşlemleri daha hızlı gerçekleştirmek için aşağıdaki yapı kullanılabilir.
Öncelikle yeni portumuzu tanımlayalım:
$NewRDPPort = 8155
$RDPPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
Mevcut portu görüntüleyelim:
(Get-ItemProperty $RDPPath).PortNumber
8155 portunun kullanımda olup olmadığını kontrol edelim:
Get-NetTCPConnection `
-LocalPort $NewRDPPort `
-ErrorAction SilentlyContinue
Registry üzerindeki RDP portunu değiştirelim:
Set-ItemProperty `
-Path $RDPPath `
-Name "PortNumber" `
-Value $NewRDPPort
TCP firewall kuralını oluşturalım:
New-NetFirewallRule `
-DisplayName "RDP TCP 8155" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 8155 `
-Action Allow
UDP kullanılacaksa:
New-NetFirewallRule `
-DisplayName "RDP UDP 8155" `
-Direction Inbound `
-Protocol UDP `
-LocalPort 8155 `
-Action Allow
Registry değerini tekrar kontrol edelim:
(Get-ItemProperty $RDPPath).PortNumber
Beklenen değer:
8155
olacaktır.
Sistemi uygun bakım zamanında yeniden başlattıktan sonra:
Get-NetTCPConnection -LocalPort 8155 -State Listen
ile yeni listener kontrol edilebilir.
Başka bir bilgisayardan:
Test-NetConnection SERVER-IP -Port 8155
çalıştırılabilir.
Son olarak RDP bağlantısı:
mstsc /v:SERVER-IP:8155
ile gerçekleştirilebilir.
34. RDP 8155 Bağlantısı İçin Örnek Senaryo
Bir Windows Server’ın IP adresinin:
10.26.5.100
olduğunu düşünelim.
RDP portumuz:
8155
ise bağlantıyı test etmek için:
Test-NetConnection 10.26.5.100 -Port 8155
kullanabiliriz.
Başarılı sonuç:
ComputerName : 10.26.5.100
RemoteAddress : 10.26.5.100
RemotePort : 8155
TcpTestSucceeded : True
şeklinde olacaktır.
RDP oturumunu başlatmak için:
mstsc /v:10.26.5.100:8155
kullanılabilir.
Remote Desktop Connection arayüzünden bağlantı yapılacaksa Computer bölümüne:
10.26.5.100:8155
yazılması yeterlidir.
RDP Port Değişikliği Sonrası Güvenlik Kontrol Listesi
RDP portunu 8155 olarak değiştirdikten sonra yapılandırmanın tamamlanmış sayılabilmesi için şu kontrollerin gözden geçirilmesi faydalıdır:
- Registry üzerindeki
PortNumberdeğerinin 8155 olduğu doğrulanmalıdır. - TCP 8155 için Windows Defender Firewall inbound kuralı oluşturulmalıdır.
- Gerekiyorsa UDP 8155 için firewall kuralı tanımlanmalıdır.
- 8155 portunun başka bir uygulamayla çakışmadığından emin olunmalıdır.
- Sistem yeniden başlatıldıktan sonra 8155 portunun
LISTENINGdurumda olduğu doğrulanmalıdır. - Uzak istemciden
Test-NetConnectionile bağlantı testi yapılmalıdır. - RDP bağlantısında
SUNUCU-IP:8155formatı kullanılmalıdır. - Eski 3389 erişim kuralları gözden geçirilmelidir.
- Network Level Authentication etkinleştirilmelidir.
- RDP kullanıcı yetkileri minimum seviyede tutulmalıdır.
- Güçlü parola ve Account Lockout politikaları uygulanmalıdır.
- Mümkünse MFA kullanılmalıdır.
- RDP’nin doğrudan internete açılması yerine VPN veya RD Gateway tercih edilmelidir.
- Kritik sistemlerde Bastion Host veya Jump Server mimarisi değerlendirilmelidir.
- Windows güvenlik güncellemeleri düzenli olarak uygulanmalıdır.
- RDP ve Security Event logları merkezi olarak izlenmelidir.