Bạn mở Remote Desktop vào VPS Windows nhưng cứ báo lỗi kết nối, trong khi VPS vẫn chạy, game và website vẫn hoạt động bình thường. Hoặc bạn mở Event Viewer và thấy hàng nghìn lần đăng nhập sai chỉ trong một ngày. Nhiều khả năng VPS của bạn đang bị một vài IP trên Internet tấn công: dò mật khẩu Remote Desktop (RDP) liên tục, hoặc mở hàng trăm kết nối rác vào cổng 3389 để chiếm hết chỗ của bạn.
Bài viết này giúp bạn tìm ra các IP đó và chặn chúng trong khoảng 1 phút bằng bộ công cụ miễn phí do CloudNest viết và kiểm thử — chạy được cả khi tường lửa Windows đang tắt, không đóng cổng nào khác và không làm rớt kết nối Remote Desktop của bạn.
1. Dấu hiệu VPS Windows đang bị tấn công từ vài IP
Có hai kiểu tấn công Remote Desktop phổ biến nhất. Cả hai đều đến từ một số ít địa chỉ IP, nên chặn đúng các IP đó là xử lý được:
Tìm IP đang dò mật khẩu
Mở Windows PowerShell trên VPS (đăng nhập bằng tài khoản Administrator là đủ quyền) rồi dán lệnh sau. Lệnh đếm số lần đăng nhập sai trong 24 giờ qua theo từng IP:
Get-WinEvent -FilterHashtable @{LogName='Security';Id=4625;StartTime=(Get-Date).AddDays(-1)} | Group-Object {$_.Properties[19].Value} | Sort-Object Count -Descending | Select-Object -First 10 Count,Name
Ví dụ kết quả thật trên một VPS đang bị dò mật khẩu — một IP thử sai hơn 3.700 lần chỉ trong một ngày:
Count Name
----- ----
3723 103.133.109.164
457 103.153.79.49
Nếu lệnh báo No events were found… nghĩa là 24 giờ qua không có lần đăng nhập sai nào.
Tìm IP đang chiếm kết nối Remote Desktop
Lệnh sau đếm các kết nối đang mở vào cổng 3389 theo từng IP. Một IP giữ vài chục đến hàng trăm kết nối, trong khi bạn chỉ mở một cửa sổ Remote Desktop, là dấu hiệu bị dội kết nối:
netstat -an | Select-String ':3389\s+\S+\s+(ESTABLISHED|CLOSE_WAIT|SYN_RECEIVED)' | ForEach-Object { ($_.Line.Trim() -split '\s+')[2] -replace ':\d+$','' } | Group-Object | Sort-Object Count -Descending | Select-Object -First 10 Count,Name
Nếu bạn đã đổi cổng Remote Desktop, thay 3389 bằng cổng của bạn. Muốn xem Windows đã từng tự cảnh báo bị tấn công hay chưa:
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-TerminalServices-RemoteConnectionManager/Admin';Id=1006} -MaxEvents 10 | Select-Object TimeCreated,Message
2. Chặn bằng IPsec — vì sao không bật tường lửa Windows?
Cách hay được chỉ trên mạng là bật Windows Firewall rồi thêm luật chặn. Nhưng trên VPS, nhiều máy đang tắt tường lửa; bật lên mà thiếu luật cho phép Remote Desktop là bạn mất kết nối ngay, còn các luật chặn có sẵn trong máy (nếu có) cũng bắt đầu có hiệu lực theo.
Bộ công cụ của CloudNest dùng chính sách IPsec — tính năng lọc gói tin có sẵn trong mọi bản Windows. Gói tin từ IP bị chặn bị Windows bỏ ngay ở tầng mạng, trước khi tới Remote Desktop, game hay website:
3. Tải bộ công cụ chặn IP
Giải nén ra bạn sẽ có 3 tệp:
- chan-ip.bat — chặn các IP trong danh sách.
- go-chan-ip.bat — gỡ toàn bộ lệnh chặn do
chan-ip.battạo. - HUONG-DAN.txt — hướng dẫn nhanh bằng tiếng Việt.
Danh sách chặn mặc định gồm 3 IP mà CloudNest ghi nhận tấn công Remote Desktop hàng loạt vào các VPS Windows ngày 22–23/10/2026. Bạn có thể giữ nguyên, thêm, hoặc thay bằng các IP tìm được ở mục 1:
| IP | Hành vi ghi nhận |
|---|---|
45.88.138.51 | Dội hàng trăm kết nối dở dang vào cổng 3389 của nhiều VPS cùng lúc |
103.133.109.164 | Dò mật khẩu Remote Desktop, hàng nghìn lần mỗi ngày |
103.153.79.49 | Dò mật khẩu Remote Desktop hàng loạt |
4. Chặn IP chỉ với 3 bước
Bước 1 — Chép bộ công cụ vào VPS
Giải nén chan-ip-vps.zip trên máy tính của bạn, copy thư mục rồi dán (Ctrl+C → Ctrl+V) vào VPS qua Remote Desktop. Đặt ở đâu cũng được, ví dụ Desktop. Bạn cũng có thể mở trang này ngay trong VPS và tải trực tiếp.
Bước 2 — Nhấp đúp chan-ip.bat
Nếu Windows hỏi quyền quản trị (User Account Control), chọn Yes. Nếu hiện màn hình xanh "Windows protected your PC" (do tệp tải từ Internet), bấm More info → Run anyway.
Bước 3 — Đọc kết quả
Một cửa sổ đen hiện ra và chạy trong vài giây:
Không cần khởi động lại máy, kết nối Remote Desktop của bạn không bị ngắt. Các kết nối cũ của IP vừa bị chặn (trạng thái CLOSE_WAIT) sẽ tự biến mất sau vài phút. Nếu có dòng chữ đỏ CO LOI, hãy chụp màn hình gửi CloudNest để được hỗ trợ.
5. Thêm hoặc bớt IP cần chặn
Chuột phải chan-ip.bat → Edit để mở bằng Notepad. Danh sách IP nằm ngay đầu file, trong khối DANH SACH IP CAN CHAN:
$DanhSach = @(
'45.88.138.51' # moi dong 1 IP
'103.133.109.164'
'1.2.3.0/24' # chan ca dai 1.2.3.0 - 1.2.3.255
)
- Mỗi dòng một IP hoặc một dải IP, đặt trong dấu nháy đơn
'...'. Dải IP viết dạng1.2.3.0/24(từ /8 đến /32). - Phần sau dấu
#là ghi chú, ghi gì cũng được. - Lưu file rồi nhấp đúp chạy lại. Danh sách mới thay hoàn toàn danh sách cũ — IP nào bỏ khỏi file sẽ được gỡ chặn.
6. Kiểm tra đã chặn thành công
Ngoài dòng XONG, bạn có thể tự kiểm tra bằng Command Prompt hoặc PowerShell:
netsh ipsec static show policy all
Thấy Assigned : YES ở chính sách CloudNest-Chan là đang chặn. (Nếu VPS đã có sẵn chính sách IPsec khác, file thêm luật vào chính sách đó, nên bạn sẽ thấy tên chính sách cũ của mình.) Xem danh sách IP đang bị chặn:
netsh ipsec static show filterlist name="CloudNest-IP-xau" level=verbose
Chạy lại lệnh netstat ở mục 1: sau vài phút, IP bị chặn không còn kết nối nào tới VPS.
7. Gỡ chặn
Nhấp đúp go-chan-ip.bat. File gỡ sạch mọi thứ chan-ip.bat đã tạo; chính sách IPsec khác của bạn (nếu có) vẫn được giữ nguyên.
8. Cách làm thủ công bằng lệnh (không dùng file)
Nếu bạn quen dòng lệnh, có thể tự gõ trong Command Prompt với quyền Administrator. Ví dụ chặn IP 1.2.3.4:
sc config PolicyAgent start= auto
net start PolicyAgent
netsh ipsec static add policy name="CloudNest-Chan" assign=no
netsh ipsec static add filterlist name="CloudNest-IP-xau"
netsh ipsec static add filter filterlist="CloudNest-IP-xau" srcaddr=1.2.3.4 dstaddr=me protocol=any mirrored=yes
netsh ipsec static add filteraction name="CloudNest-Block" action=block
netsh ipsec static add rule name="CloudNest-chan-IP-xau" policy="CloudNest-Chan" filterlist="CloudNest-IP-xau" filteraction="CloudNest-Block"
netsh ipsec static set policy name="CloudNest-Chan" assign=y
Lệnh net start báo "already been started" là bình thường. Muốn chặn thêm IP, lặp lại dòng add filter với IP khác; chặn cả dải thì thêm srcmask=24 (ví dụ srcaddr=5.6.7.0 srcmask=24), sau đó chạy lại dòng set policy … assign=y. Gỡ chặn:
netsh ipsec static set policy name="CloudNest-Chan" assign=n
netsh ipsec static delete policy name="CloudNest-Chan"
9. Câu hỏi thường gặp
10. Đừng chỉ chặn IP — 3 lớp bảo vệ nên có
Chặn IP xử lý được kẻ tấn công trước mắt, nhưng các công cụ quét RDP tự động sẽ còn quay lại với IP khác. Ba việc sau giúp VPS của bạn an toàn lâu dài:
Lệnh tắt SMBv1 (chạy trong PowerShell, không cần khởi động lại):
Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force
Kết luận
Chỉ với một file .BAT, bạn chặn được các IP đang dò mật khẩu hoặc dội kết nối vào VPS Windows trong khoảng 1 phút — an toàn, gỡ lại dễ dàng và không cần đụng tới tường lửa. Kết hợp với đổi cổng Remote Desktop và mật khẩu mạnh, VPS của bạn sẽ giảm hẳn các đợt quét RDP tự động.
Xem thêm: Hướng dẫn đổi mật khẩu VPS Windows · Quản lý nhiều VPS Windows bằng RDCMan · Cloud VPS Windows tại CloudNest.









