Operations

Cách bật Remote Desktop và bảo mật RDP trên VPS Windows Server 2022

Vừa thuê một VPS Windows Server 2022, việc đầu tiên bạn cần làm là kết nối vào máy chủ để quản trị. Giao thức Remote Desktop Protocol (RDP) là công cụ mặc định và mạnh mẽ nhất cho việc này. Tuy nhiên, nếu chỉ bật RDP lên mà không cấu hình bảo mật, VPS của bạn sẽ là mục tiêu dễ dàng cho các cuộc tấn công brute-force từ internet. Bài viết này sẽ hướng dẫn bạn từng bước bật Remote Desktop trên VPS Windows Server 2022 và thiết lập các lớp bảo vệ cần thiết để giữ an toàn cho hệ thống.

Yêu cầu trước khi bắt đầu

  • Một VPS đã cài đặt Windows Server 2022. Các nhà cung cấp như VPS Windows thường cung cấp sẵn bản quyền và cho phép bạn chọn OS khi khởi tạo.
  • Quyền Administrator trên VPS. Bạn sẽ dùng tài khoản này để cấu hình.
  • Máy tính cá nhân đã cài sẵn ứng dụng Remote Desktop Connection (có sẵn trên Windows) hoặc Microsoft Remote Desktop (macOS/iOS/Android).
  • Địa chỉ IP công cộng của VPS. Lưu ý: các VPS trong nước như VPS Việt Nam cung cấp IPv4 tĩnh, giúp kết nối ổn định hơn.

Tại sao cần bảo mật RDP ngay sau khi bật?

Cổng 3389 là cổng mặc định của RDP và là một trong những cổng bị quét nhiều nhất trên internet. Chỉ vài phút sau khi bật RDP với cổng mặc định, bạn sẽ thấy hàng loạt log thử đăng nhập từ các IP lạ. Những cuộc tấn công brute-force này có thể dẫn đến mất kiểm soát máy chủ nếu bạn dùng mật khẩu yếu. Vì vậy, bảo mật RDP là bước sống còn, không phải là tuỳ chọn.

Bước 1 - Bật Remote Desktop trên Windows Server 2022

Đầu tiên, đăng nhập vào VPS của bạn qua console (cổng web do nhà cung cấp VPS cấp) hoặc qua kết nối RDP từ một máy trạm trong mạng nội bộ (nếu có).

  1. Nhấn phím Windows + R, gõ sysdm.cpl và nhấn Enter để mở cửa sổ System Properties.
  2. Chuyển sang tab Remote.
  3. Trong mục Remote Desktop, chọn Allow remote connections to this computer.
  4. Bỏ tích (nếu có) tuỳ chọn Allow connections only from computers running Remote Desktop with Network Level Authentication, nhưng thực tế bạn nên giữ nguyên tích chọn này vì NLA là lớp bảo mật quan trọng. Chúng ta sẽ nói rõ ở bước sau.
  5. Nhấn OK để lưu.

Verify: Bạn có thể kiểm tra nhanh bằng lệnh PowerShell:

Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name "fDenyTSConnections"

Nếu giá trị fDenyTSConnections0, Remote Desktop đã được bật thành công.

Bước 2 - Kích hoạt Network Level Authentication (NLA)

Network Level Authentication là một tính năng bảo mật của RDP yêu cầu người dùng phải xác thực (bằng tài khoản và mật khẩu) trước khi kết nối được thiết lập đầy đủ. Điều này giúp giảm thiểu nguy cơ tấn công từ chối dịch vụ (DoS) và brute-force.

Để chắc chắn NLA đã được bật, kiểm tra trong Registry hoặc dùng PowerShell:

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

Giá trị 1 nghĩa là NLA đang bật. Nếu giá trị là 0, hãy bật nó lên:

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name "UserAuthentication" -Value 1

Bước 3 - Đổi cổng RDP mặc định (Tấn công giảm thiểu bề mặt)

Đây là một biện pháp "bảo mật qua che giấu" rất hiệu quả để giảm thiểu lượng log quét cổng 3389. Thay vì dùng cổng 3389, chúng ta sẽ chuyển RDP sang một cổng cao ngẫu nhiên, ví dụ 53389.

  1. Mở Registry Editor: nhấn Windows + R, gõ regedit, nhấn Enter.
  2. Điều hướng đến: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp.
  3. Tìm giá trị PortNumber (kiểu DWORD). Mặc định là 3389 (hệ thập phân).
  4. Nhấp chuột phải, chọn Modify. Chọn Decimal, nhập giá trị mới (ví dụ: 53389).
  5. Nhấn OK.

Khởi động lại dịch vụ Remote Desktop để áp dụng thay đổi:

Restart-Service TermService -Force

Verify: Chạy lệnh sau để kiểm tra cổng mới RDP đang lắng nghe:

netstat -ano | findstr :53389

Bạn sẽ thấy một dòng hiển thị LISTENING trên cổng 53389.

Lưu ý quan trọng: Sau khi đổi cổng, khi kết nối từ xa, bạn phải chỉ định cổng mới trong ứng dụng Remote Desktop. Ví dụ: IP_VPS:53389.

Bước 4 - Cấu hình Windows Defender Firewall cho phép RDP trên cổng mới

Windows Defender Firewall mặc định chỉ cho phép RDP trên cổng 3389. Sau khi đổi cổng, bạn cần tạo rule mới cho cổng đã chọn.

Mở PowerShell với quyền Administrator và chạy lệnh sau:

New-NetFirewallRule -DisplayName "RDP Custom Port 53389" -Direction Inbound -Protocol TCP -LocalPort 53389 -Action Allow

Sau đó, bạn nên vô hiệu hoá rule cũ cho cổng 3389 (không xoá để phòng trường hợp khôi phục):

Disable-NetFirewallRule -DisplayGroup "Remote Desktop"

Verify: Kiểm tra rule đã được tạo:

Get-NetFirewallRule -DisplayName "RDP Custom Port 53389" | Get-NetFirewallPortFilter

Kết quả sẽ hiển thị port 53389 và protocol TCP.

Bước 5 - Khoá tài khoản Administrator và chính sách tài khoản

Tài khoản Administrator mặc định là mục tiêu chính. Cách hàng đầu là đổi tên hoặc vô hiệu hoá nó, đồng thời tạo một tài khoản quản trị viên khác.

Tạo tài khoản mới và thêm vào nhóm Administrators:

$username = "sysadmin"
$password = ConvertTo-SecureString "YourStr0ng!Passw0rd#" -AsPlainText -Force
New-LocalUser -Name $username -Password $password -PasswordNeverExpires -UserMayNotChangePassword
Add-LocalGroupMember -Group "Administrators" -Member $username

Vô hiệu hoá tài khoản Administrator mặc định:

Disable-LocalUser -Name "Administrator"

Thiết lập chính sách khoá tài khoản sau 5 lần đăng nhập sai:

net accounts /lockoutthreshold:5 /lockoutduration:30 /lockoutwindow:30

Lệnh trên có nghĩa: sau 5 lần nhập sai mật khẩu, tài khoản sẽ bị khoá trong 30 phút.

Bước 6 - Cài đặt và cấu hình Fail2ban (bằng Windows Firewall module)

Trên Windows không có Fail2ban gốc, nhưng có thể dùng các script PowerShell kết hợp với Log Parser hoặc sử dụng module RDP Defender (phần mềm miễn phí cho mục đích này). Tuy nhiên, cách đơn giản nhất là dùng chính sách khoá tài khoản ở bước trên kết hợp với một script cơ bản quét Event Log và chặn IP.

Một giải pháp thay thế nhẹ nhàng hơn là dùng Windows Defender Firewall với Advanced Security để tạo rule chặn theo IP dựa trên log. Nếu muốn kiểm soát chặt hơn, bạn có thể tham khảo RDP Defender hoặc các giải pháp SIEM nhẹ.

Xử lý lỗi thường gặp

Lỗi 1: "This computer can't connect to the remote computer"

Nguyên nhân phổ biến: Firewall chưa mở cổng mới, hoặc bạn chưa khởi động lại dịch vụ Remote Desktop sau khi đổi cổng. Kiểm tra lại rule firewall ở Bước 4 và chạy Restart-Service TermService -Force.

Lỗi 2: Lỗi xác thực, yêu cầu CredSSP / Oracle Remediation

Thường gặp khi máy trạm (client) và máy chủ (VPS) không cùng phiên bản bản vá CredSSP. Giải pháp: cập nhật Windows cho cả hai bên, hoặc tạm thời sửa Group Policy trên máy trạm (không khuyến khích).

Lỗi 3: Quên mật khẩu tài khoản Administrator sau khi vô hiệu hoá

Bạn vẫn có thể đăng nhập qua console (do nhà cung cấp VPS cấp) bằng tài khoản quản trị mới vừa tạo. Nếu không nhớ, hãy liên hệ bộ phận hỗ trợ kỹ thuật của dịch vụ VPS Windows bạn đang dùng để reset mật khẩu qua cổng web.

Câu hỏi thường gặp

Có nên dùng mật khẩu mặc định của VPS Windows Server không?

Không, bạn nên đổi ngay sang mật khẩu mạnh (10+ ký tự, có chữ hoa, chữ thường, số và ký tự đặc biệt). Mật khẩu mặc định thường là mục tiêu đầu tiên của các cuộc tấn công.

Network Level Authentication có bắt buộc không?

Không bắt buộc, nhưng rất khuyến khích bật. NLA giúp giảm tải tài nguyên máy chủ khi từ chối các kết nối không xác thực ngay từ tầng giao thức, trước khi session RDP được tạo.

Đổi cổng RDP có ảnh hưởng đến ứng dụng nào khác không?

Không, chỉ ảnh hưởng đến các kết nối RDP. Ứng dụng khác vẫn hoạt động bình thường. Bạn chỉ cần nhớ cập nhật cổng mới trong cấu hình của Remote Desktop client.

Tôi có thể kết nối RDP từ điện thoại hoặc máy tính bảng không?

Có. Microsoft cung cấp ứng dụng "Microsoft Remote Desktop" cho iOS và Android hoàn toàn miễn phí. Bạn nhập IP và cổng (đã đổi) là kết nối được.

Nếu tôi quên mật khẩu sau khi vô hiệu hoá tài khoản Administrator mặc định, làm sao để vào lại?

Sử dụng tài khoản quản trị mới bạn đã tạo. Nếu cả hai đều quên, bạn cần dùng tính năng "Reset password" từ console web của nhà cung cấp VPS. Hầu hết các dịch vụ VPS Windows như thueVPS đều hỗ trợ tính năng này.

Bài viết liên quan

Lưu ý: Bài viết mang tính tham khảo, tổng hợp kiến thức chung. Mỗi hệ thống, hạ tầng và nhu cầu có đặc thù riêng, nên kiểm thử trong môi trường an toàn và tham vấn kỹ sư trước khi triển khai thực tế.