Windows Firewall: mở những gì cần thiết
Cách mở cổng cho dịch vụ của bạn, hạn chế truy cập theo địa chỉ, và xác minh quy tắc thực sự hoạt động mà không mất quyền truy cập máy chủ.
Cập nhật 23 tháng 8, 2026
Trên VDS chạy Windows Server, tường lửa là lớp lọc duy nhất giữa dịch vụ của bạn và internet: địa chỉ IPv4 là công khai, và không có lớp khiên bên ngoài nào trước máy. Vì vậy nguyên tắc rất đơn giản: chỉ những gì bạn chủ động mở mới bị lộ ra bên ngoài.
Hiện đang mở những gì
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction
Get-NetFirewallRule -Enabled True -Direction Inbound |
Where-Object Action -eq Allow |
Get-NetFirewallPortFilter | Select-Object Protocol, LocalPort -Unique
Get-NetTCPConnection -State Listen | Select-Object LocalAddress, LocalPort, OwningProcess
Lệnh cuối cho thấy những cổng nào đang lắng nghe. Một dịch vụ chỉ lắng nghe trên 127.0.0.1 sẽ không thể truy cập từ bên ngoài bất kể quy tắc là gì.
Mở một cổng
Máy chủ web:
New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
Dịch vụ riêng của bạn chỉ cho các địa chỉ tin cậy:
New-NetFirewallRule -DisplayName "App 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 `
-RemoteAddress 203.0.113.5,198.51.100.0/24 -Action Allow
Quy tắc dành cho một chương trình cụ thể thay vì một cổng sẽ đáng tin cậy hơn nếu ứng dụng dùng cổng động:
New-NetFirewallRule -DisplayName "MyApp" -Direction Inbound -Program "C:\apps\myapp.exe" -Action Allow
Xóa và xem một quy tắc:
Remove-NetFirewallRule -DisplayName "App 8080"
Get-NetFirewallRule -DisplayName "App 8080" | Format-List
Những gì nên giữ đóng
Tuyệt đối không để lộ ra bên ngoài mà không giới hạn theo địa chỉ:
| Cổng | Dịch vụ | Lý do |
|---|---|---|
| 3389 | RDP | dò mật khẩu bắt đầu trong vài giờ đầu tiên, xem Bảo vệ RDP |
| 1433 | MS SQL | cơ sở dữ liệu không nên truy cập được từ internet, xem MS SQL Server |
| 5985, 5986 | WinRM | quản trị từ xa, chỉ từ địa chỉ của bạn |
| 445 | SMB | mục tiêu kinh điển cho các cuộc tấn công hàng loạt |
Nếu bạn cần truy cập cơ sở dữ liệu từ máy tính của mình, đừng mở 1433; thay vào đó, hãy chuyển tiếp cổng trong một phiên RDP hoặc thiết lập VPN.
Kiểm tra
Một cổng lắng nghe từ bên trong máy không có nghĩa là nó truy cập được từ bên ngoài. Hãy kiểm tra từ một máy khác:
nc -vz YOUR_ADDRESS 443
curl -I http://YOUR_ADDRESS
Nếu nó đóng từ bên ngoài nhưng Get-NetTCPConnection vẫn hiển thị trình lắng nghe, vấn đề nằm ở quy tắc hoặc profile mạng: hãy đảm bảo quy tắc được tạo trong profile đang hoạt động (thường là “Public network”).
Lỗi thường gặp
- Tắt hoàn toàn tường lửa “để gỡ lỗi”. Máy sẽ bị tìm thấy trước khi bạn làm xong. Thay vào đó, hãy tạo một quy tắc tạm thời có giới hạn địa chỉ.
- Mở cổng nhưng quên ứng dụng. Nhiều dịch vụ mặc định chỉ lắng nghe trên localhost; quy tắc không liên quan gì đến điều đó.
- Tự khóa mình khỏi RDP. Sau đó, hãy đăng nhập qua tab “Console” trong bảng điều khiển
/hosting/vds/m/<id>, chế độ “Screen”, và chỉnh sửa quy tắc từ đó. - Tạo quy tắc cho phép đè lên quy tắc chặn. Trong Windows, quy tắc chặn luôn thắng quy tắc cho phép — hãy tìm quy tắc chặn có cùng cổng.
Sau mỗi thay đổi, nên lưu một snapshot của cấu hình:
Get-NetFirewallRule -Enabled True | Export-Csv C:\fw.csv. Như vậy bạn sẽ hiểu điều gì đã thay đổi khi một dịch vụ đột nhiên ngừng phản hồi.