BizMaC bizmac.com

Đổi port Remote Desktop trên Windows Server an toàn

Hướng dẫn VPS Hosting & Máy chủ · cập nhật 06/08/2026

Đổi port Remote Desktop trên Windows Server là sửa một giá trị trong Registry và mở cổng mới trên tường lửa, mất khoảng 10 phút. Việc này giảm lượng dò quét tự động nhắm vào cổng 3389 mặc định.

Làm sai thứ tự là mất kết nối máy chủ. Nếu bạn đổi Registry rồi khởi động lại mà chưa mở cổng mới trên tường lửa, máy sẽ nghe ở cổng mới còn tường lửa chỉ cho qua cổng cũ, không phiên nào vào được nữa. Với máy chủ đặt ở xa và không có KVM IP, đó là mất quyền truy cập hoàn toàn. Luôn mở cổng trên tường lửa TRƯỚC, và giữ một phiên Remote Desktop đang mở trong lúc thử phiên mới.

Cổng 3389 là cổng đầu tiên mà mọi bot dò quét trên Internet gõ vào. Đổi sang cổng khác không thay được mật khẩu yếu, nhưng cắt được phần lớn lưu lượng brute force tự động và làm nhật ký đăng nhập sạch hơn nhiều.

  1. Chọn số cổng mới và kiểm tra chưa dịch vụ nào chiếm.
  2. Mở cổng đó trên Windows Firewall cho cả TCP và UDP.
  3. Sửa giá trị PortNumber trong Registry.
  4. Khởi động lại dịch vụ Remote Desktop hoặc cả máy chủ.
  5. Mở phiên thử ở cổng mới trong lúc phiên cũ vẫn đang chạy.
  6. Cấu hình chuyển tiếp cổng trên router nếu máy chủ nằm sau NAT.

Chọn số port Remote Desktop nào cho an toàn

Chọn một cổng trong khoảng 49152 tới 65535, đây là dải cổng động mà không dịch vụ chuẩn nào chiếm. Tránh các cổng quen thuộc như 3390, 3391 vì bot đã bổ sung chúng vào danh sách dò từ lâu. Tránh luôn cổng đang có dịch vụ khác nghe, nếu không dịch vụ Remote Desktop sẽ không khởi động được.

Kiểm tra cổng đã bị chiếm chưa bằng PowerShell, chạy với quyền quản trị:

Get-NetTCPConnection -LocalPort 52389 -ErrorAction SilentlyContinue

Không có dòng nào trả về nghĩa là cổng đang trống. Trong bài này lấy 52389 làm ví dụ, bạn thay bằng số của mình ở mọi lệnh phía dưới.

Mở cổng trên tường lửa trước khi đổi Registry

Đây là bước phải làm đầu tiên, không được đảo thứ tự. Windows Firewall chỉ có sẵn luật cho cổng 3389, nên khi dịch vụ chuyển sang cổng mới mà chưa có luật tương ứng thì mọi kết nối tới bị chặn ngay ở tường lửa, trước cả khi tới được dịch vụ.

Mở PowerShell với quyền quản trị rồi chạy hai lệnh sau, tạo luật cho TCP và UDP:

$portvalue = 52389
New-NetFirewallRule -DisplayName 'RDP-Port-Moi-TCP-In' -Profile 'Any' -Direction Inbound -Action Allow -Protocol TCP -LocalPort $portvalue
New-NetFirewallRule -DisplayName 'RDP-Port-Moi-UDP-In' -Profile 'Any' -Direction Inbound -Action Allow -Protocol UDP -LocalPort $portvalue

Kiểm lại luật vừa tạo có đúng không:

Get-NetFirewallRule -DisplayName 'RDP-Port-Moi-*' | Get-NetFirewallPortFilter

Cách đổi port Remote Desktop bằng Registry Editor

Giá trị điều khiển cổng nghe của Remote Desktop nằm ở một khoá duy nhất trong Registry. Bạn mở khoá đó, đổi kiểu hiển thị sang thập phân rồi nhập số cổng mới. Cách này làm bằng giao diện, hợp khi bạn muốn nhìn thấy giá trị hiện tại trước lúc sửa.

1. Sao lưu khoá Registry

Trước khi sửa, xuất khoá ra file để có đường lùi. Chạy trong Command Prompt quyền quản trị:

reg export "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" C:\rdp-tcp-backup.reg

2. Mở Registry Editor

Bấm Windows + R, gõ regedit rồi bấm Enter.

3. Tới đúng khoá

Đi theo đường dẫn:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

4. Sửa giá trị PortNumber

Bấm đúp vào PortNumber ở khung bên phải. Ở mục Base, chọn Decimal. Nếu để nguyên Hexadecimal, giá trị 3389 hiện thành d3d và bạn dễ nhập nhầm.

Nhập số cổng mới vào ô Value data rồi bấm OK.

5. Khởi động lại dịch vụ

Không cần khởi động lại cả máy chủ. Khởi động lại riêng dịch vụ Remote Desktop bằng PowerShell quyền quản trị:

Restart-Service -Name TermService -Force

Lệnh này ngắt phiên Remote Desktop hiện tại của bạn. Nếu bạn đang ngồi từ xa và chưa chắc cổng mới thông, hãy khởi động lại máy chủ thay vì chạy lệnh này, để có khoảng thời gian máy tự lên lại.

Đổi port bằng PowerShell trong một lượt

Cách này gộp mở tường lửa và sửa Registry vào một khối lệnh, hợp khi bạn phải làm trên nhiều máy chủ. Thứ tự trong khối vẫn giữ nguyên nguyên tắc: hai lệnh tường lửa chạy trước, lệnh sửa Registry chạy sau. Mở PowerShell với quyền quản trị rồi dán cả khối.

$portvalue = 52389

New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile 'Any' -Direction Inbound -Action Allow -Protocol TCP -LocalPort $portvalue
New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile 'Any' -Direction Inbound -Action Allow -Protocol UDP -LocalPort $portvalue

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name "PortNumber" -Value $portvalue

Đọc lại giá trị vừa ghi để chắc chắn đã vào đúng khoá:

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name "PortNumber"

Sau đó khởi động lại máy chủ để thiết lập có hiệu lực.

Kiểm tra cổng mới đã thông trước khi đóng phiên cũ

Đừng đóng phiên Remote Desktop đang mở cho tới khi phiên ở cổng mới vào được. Cách an toàn là mở một cửa sổ Remote Desktop thứ hai trỏ tới cổng mới, trong lúc cửa sổ cũ vẫn còn. Vào được thì mới đóng phiên cũ và xoá luật tường lửa cho cổng 3389.

Trên máy chủ, kiểm tra dịch vụ đã nghe đúng cổng chưa:

netstat -ano | findstr :52389

Từ máy của bạn, thử kết nối bằng địa chỉ IP kèm dấu hai chấm và số cổng, ví dụ 203.0.113.10:52389. Kiểm tra cổng có mở từ bên ngoài không bằng PowerShell trên máy trạm:

Test-NetConnection -ComputerName 203.0.113.10 -Port 52389

Dòng TcpTestSucceeded : True nghĩa là đường đã thông. Vào được rồi thì tắt luật cho cổng cũ:

Get-NetFirewallRule -DisplayName '*Remote Desktop*' | Where-Object {$_.Enabled -eq 'True'} | Disable-NetFirewallRule

Lấy lại quyền truy cập khi mất kết nối

Nếu đã lỡ đổi Registry mà chưa mở tường lửa và giờ không vào được, bạn còn ba đường vào tuỳ hạ tầng đang có. Không đường nào trong đó làm được qua Remote Desktop, nên phải dùng kênh khác.

Đường vàoĐiều kiệnViệc cần làm
KVM IP hoặc console máy ảoMáy chủ vật lý có iLO, iDRAC, hoặc VPS có console webVào màn hình máy, mở PowerShell, thêm luật tường lửa cho cổng mới
PowerShell RemotingCổng 5985 hoặc 5986 đang mở và WinRM đang bậtChạy Enter-PSSession từ máy khác trong mạng rồi thêm luật
Yêu cầu kỹ thuật can thiệpMáy chủ thuê tại nhà cung cấpGửi ticket nêu rõ cổng mới cần mở

Máy chủ thuê tại BizMaC dùng được KVM IP để vào thẳng màn hình máy khi mất Remote Desktop, làm theo hướng dẫn sử dụng KVM IP. Không tự vào được thì gửi yêu cầu hỗ trợ qua ticket kèm số cổng mới để kỹ thuật mở giúp.

Những việc nên làm cùng lúc với đổi port Remote Desktop

Đổi cổng chỉ cắt được lưu lượng dò quét tự động, không chặn được ai đã biết cổng mới. Bốn việc dưới đây mới thật sự giảm rủi ro cho Remote Desktop, và nên làm ngay trong cùng lần bảo trì để khỏi phải dừng máy thêm lần nữa.

  • Giới hạn luật tường lửa cho cổng mới chỉ nhận từ dải IP văn phòng, thay vì mở ra toàn Internet.
  • Đặt chính sách khoá tài khoản sau vài lần nhập sai mật khẩu.
  • Bật Network Level Authentication để máy chủ đòi xác thực trước khi dựng phiên đồ hoạ.
  • Dựng VPN rồi đóng hẳn Remote Desktop khỏi Internet, đây là cách kín nhất.

Nếu máy chủ nằm sau router, tạo luật chuyển tiếp cổng từ cổng mới bên ngoài về đúng cổng đó trên IP nội bộ của máy. Một mẹo nhỏ là đặt cổng ngoài khác cổng trong, ví dụ ngoài 58120 chuyển về trong 52389, để lộ ra ngoài càng ít thông tin càng tốt.

Hướng dẫn này có giúp được Anh/Chị không?

Bài khác trong VPS Hosting & Máy chủ

Xem cả 17 bài
Khởi động lại VPS đúng cách khi bị treo Ba mức khởi động lại VPS đi từ mềm tới cứng, khi nào dùng cách nào, cách làm trên VPS Linux và Windows, và việc cần kiểm sau khi máy lên lại. 5 phút đọc 45 lượt xem Cập nhật 21/08/2026 Cài control panel để quản lý VPS như hosting Control panel cho bạn quản lý VPS bằng giao diện thay vì gõ lệnh. Bài này giới thiệu Plesk, DirectAdmin, cPanel, các bước cài và việc cần làm sau khi cài xong. 6 phút đọc 68 lượt xem Cập nhật 20/08/2026 Bảo mật VPS cơ bản cho người mới thuê Sáu bước bảo mật tối thiểu cho một VPS mới: đổi mật khẩu, bỏ dùng root trực tiếp, đổi port quản trị, bật tường lửa, cập nhật hệ điều hành và sao lưu định kỳ. 6 phút đọc 41 lượt xem Cập nhật 20/08/2026 vSphere: phân biệt Thick Provision và Thin Provision So sánh Thick Lazy Zeroed, Thick Eager Zeroed và Thin Provision trên vSphere theo tốc độ tạo, tốc độ ghi, dung lượng chiếm thật và rủi ro hết chỗ. 8 phút đọc 243 lượt xem Cập nhật 20/08/2026 Managed và unmanaged VPS khác nhau thế nào Managed và unmanaged VPS khác nhau ở ai đứng ra quản trị máy. Bảng phân việc ai lo gì, ưu nhược từng loại và gợi ý loại hợp cho người mới thuê VPS. 5 phút đọc 60 lượt xem Cập nhật 17/08/2026 Mở và đóng port trên VPS an toàn Cách mở đóng port trên VPS theo nguyên tắc mở càng ít càng an toàn: các port website cần, cách làm trên Linux và Windows, và cách tránh tự khoá mình ngoài máy. 5 phút đọc 39 lượt xem Cập nhật 17/08/2026