Hướng dẫn cấu hình Windows Firewall
các IP/Subnet tin cậy truy cập dịch vụ cần thiết
1. Mục đích
Tài liệu này hướng dẫn cấu hình Windows Defender Firewall
nhằm hạn chế các kết nối từ bên ngoài vào Windows Server.
- Chặn kết nối Inbound mặc định.
- Chỉ cho phép các IP/Subnet tin cậy truy cập dịch vụ cần thiết.
- Giới hạn truy cập vào port được chỉ định.
- Kiểm tra Firewall Rule sau khi cấu hình.
- Không công khai địa chỉ IP thực tế trong tài liệu.
Các địa chỉ IP thật không được hiển thị trong tài liệu.
Thay vào đó, tài liệu sử dụng các placeholder như
TRUSTED_SUBNET_1,TRUSTED_SUBNET_2 vàTRUSTED_SUBNET_3.2. Mô hình hoạt động
INTERNET
|
+-------------+-------------+
| |
IP/Subnet được phép IP không được phép
| |
v v
+--------------+ +--------------+
| Windows | | Windows |
| Server | | Server |
| | | |
| TCP PORT | | Firewall |
| ALLOW | | BLOCK |
+--------------+ +--------------+
| Nguồn kết nối | Port | Kết quả |
|---|---|---|
| TRUSTED_SUBNET_1 | PORT_CUSTOM | ALLOW |
| TRUSTED_SUBNET_2 | PORT_CUSTOM | ALLOW |
| TRUSTED_SUBNET_3 | PORT_CUSTOM | ALLOW |
| IP khác | PORT_CUSTOM | BLOCK |
| IP bất kỳ | Port khác | BLOCK |
3. Truy cập Server thông qua KVM
Trước khi thay đổi cấu hình Firewall, cần đảm bảo Server
có thể truy cập thông qua KVM Console.
KVM cho phép truy cập trực tiếp vào Server trong trường hợp:
- Firewall cấu hình sai.
- RDP bị mất kết nối.
- IP quản trị bị chặn nhầm.
- Port Remote Desktop cấu hình không chính xác.
Luôn đảm bảo có quyền truy cập KVM hoặc Console trước khi
thực hiện thay đổi lớn đối với Windows Firewall.
4. Chặn kết nối Inbound mặc định
Mở PowerShell với quyền Administrator
và chạy:
Set-NetFirewallProfile `
-Profile Domain,Private,Public `
-DefaultInboundAction Block
Kiểm tra cấu hình
Get-NetFirewallProfile |
Format-Table Name,Enabled,DefaultInboundAction
Kết quả mong muốn:
Name Enabled DefaultInboundAction ---- ------- -------------------- Domain True Block Private True Block Public True Block
5. Tạo Firewall Rule cho IP được phép
Giả sử hệ thống có các subnet tin cậy:
- TRUSTED_SUBNET_1
- TRUSTED_SUBNET_2
- TRUSTED_SUBNET_3
Dịch vụ cần cho phép truy cập sử dụng port:
PORT_CUSTOM
New-NetFirewallRule `
-DisplayName "Allow Trusted IPs - Custom Service" `
-Direction Inbound `
-Protocol TCP `
-LocalPort PORT_CUSTOM `
-RemoteAddress "TRUSTED_SUBNET_1","TRUSTED_SUBNET_2","TRUSTED_SUBNET_3" `
-Action Allow `
-Profile Any
Khi triển khai thực tế, thay các placeholder bằng
IP/Subnet và port thực tế của hệ thống.
6. Kiểm tra Firewall Rule
Kiểm tra Rule có tồn tại và đang được Enable:
Get-NetFirewallRule `
-DisplayName "Allow Trusted IPs - Custom Service" |
Format-List DisplayName,Enabled,Direction,Action,Profile
Kết quả cần có:
DisplayName : Allow Trusted IPs - Custom Service Enabled : True Direction : Inbound Action : Allow Profile : Any
7. Kiểm tra Port
Get-NetFirewallRule `
-DisplayName "Allow Trusted IPs - Custom Service" |
Get-NetFirewallPortFilter |
Format-List Protocol,LocalPort,RemotePort
Cần xác nhận:
Protocol : TCP LocalPort : PORT_CUSTOM
8. Kiểm tra IP được phép
Get-NetFirewallRule `
-DisplayName "Allow Trusted IPs - Custom Service" |
Get-NetFirewallAddressFilter |
Format-List RemoteAddress
Khi chụp ảnh màn hình hoặc chia sẻ kết quả ra bên ngoài,
cần che hoặc thay thế IP thật bằng placeholder.
9. Kiểm tra dịch vụ đang Listen
Firewall Rule chỉ cho phép kết nối. Dịch vụ trên Server
vẫn phải thực sự Listen trên port tương ứng.
Get-NetTCPConnection `
-LocalPort PORT_CUSTOM `
-State Listen
Hoặc:
netstat -ano | findstr ":PORT_CUSTOM"
Kết quả mong muốn:
TCP 0.0.0.0:PORT_CUSTOM 0.0.0.0:0 LISTENING
10. Kiểm tra kết nối
10.1. Từ IP được phép
Test-NetConnection SERVER_IP -Port PORT_CUSTOM
Kết quả mong muốn:
TcpTestSucceeded : True
10.2. Từ IP không được phép
Test-NetConnection SERVER_IP -Port PORT_CUSTOM
Kết quả mong muốn:
TcpTestSucceeded : False
bị từ chối, Firewall Rule đang hoạt động theo đúng thiết kế.
11. Kiểm tra các Firewall Rule Allow khác
Việc đặt Default Inbound Action là Block không tự động
vô hiệu hóa các Firewall Rule Allow đang tồn tại.
Kiểm tra các Rule Inbound đang được phép:
Get-NetFirewallRule `
-Direction Inbound `
-Action Allow `
-Enabled True |
Select-Object DisplayName,Profile |
Format-Table -AutoSize
Không nên vô hiệu hóa toàn bộ các Firewall Rule Allow
trên Production Server nếu chưa kiểm tra kỹ.
Có thể làm gián đoạn các dịch vụ đang hoạt động.
12. Khuyến nghị bảo mật
- Sử dụng nguyên tắc Default Deny.
- Chỉ mở các port thực sự cần thiết.
- Giới hạn nguồn truy cập bằng IP Allowlist.
- Tắt các Firewall Rule không sử dụng.
- Sử dụng VPN cho truy cập quản trị nếu có thể.
- Bật MFA cho tài khoản quản trị.
- Giám sát Windows Event Logs.
- Giám sát các lần đăng nhập thất bại.
- Duy trì quyền truy cập KVM hoặc Console dự phòng.
13. Checklist nghiệm thu
- Windows Firewall đang được Enable.
- Default Inbound Action là Block.
- Firewall Rule cần thiết đang Enabled.
- Rule có Direction là Inbound.
- Rule có Action là Allow.
- Rule giới hạn đúng port.
- Rule giới hạn đúng IP/Subnet.
- Dịch vụ đang Listen trên port tương ứng.
- IP được phép có thể kết nối.
- IP không được phép bị chặn.
- Có quyền truy cập KVM để xử lý sự cố.
- IP thật không xuất hiện trong tài liệu chia sẻ.
14. Kết luận
Giải pháp được khuyến nghị là sử dụng mô hình
Default Deny: mặc định chặn các kết nối
Inbound, sau đó chỉ tạo các Firewall Rule Allow cho
dịch vụ và nguồn truy cập thực sự cần thiết.
Trong các tài liệu được chia sẻ bên ngoài, không nên công khai
IP thật của Server hoặc các IP Allowlist. Thay vào đó, sử dụng
các placeholder như:
SERVER_IPTRUSTED_SUBNET_1TRUSTED_SUBNET_2TRUSTED_SUBNET_3PORT_CUSTOM
Chỉ các nguồn truy cập được cấp quyền mới có thể kết nối
đến dịch vụ được chỉ định; các nguồn khác sẽ bị Windows Firewall
từ chối theo chính sách Inbound mặc định.









