Contact
Line : comsiam
Contact
Line : comsiam

Windows Firewall เป็นหนึ่งในระบบรักษาความปลอดภัยที่สำคัญที่สุดบน Windows Server 2025 เพราะเป็นด่านแรกที่ช่วยป้องกันการเชื่อมต่อที่ไม่พึงประสงค์ การโจมตีจากภายนอก และการเข้าถึงบริการที่ไม่ได้รับอนุญาต
แม้ว่าจะสามารถจัดการผ่าน Windows Defender Firewall Console ได้ แต่สำหรับองค์กรที่มี Server จำนวนมาก การใช้ PowerShell จะช่วยให้บริหาร Firewall ได้รวดเร็วกว่า ทำ Automation ได้ และลดความผิดพลาดจากการตั้งค่าด้วยมือ
Windows Firewall คือระบบควบคุมการรับส่งข้อมูลเครือข่าย
สามารถกำหนดได้ว่า
ทำให้ Server มีความปลอดภัยมากขึ้น
ข้อดีหลักคือ
PowerShell จึงได้รับความนิยมมากในระบบ Enterprise
ใช้คำสั่ง
Get-NetFirewallProfile
ผลลัพธ์จะแสดง
พร้อมสถานะเปิดหรือปิด
เปิดทุก Profile
Set-NetFirewallProfile `
-Profile Domain,Private,Public `
-Enabled True
ควรเปิดใช้งานเสมอในระบบ Production
ตัวอย่าง
Set-NetFirewallProfile `
-Profile Domain,Private,Public `
-Enabled False
ไม่แนะนำให้ปิดในระบบจริง ยกเว้นเพื่อทดสอบชั่วคราว
Get-NetFirewallRule
หาก Server มี Rule จำนวนมาก สามารถกรองข้อมูลเพิ่มเติมได้
ตัวอย่าง
Get-NetFirewallRule |
Where-Object DisplayName -like "*RDP*"
ใช้ค้นหา Rule ที่เกี่ยวข้องกับ Remote Desktop
Get-NetFirewallRule |
Where-Object Enabled -eq True
ช่วยให้ตรวจสอบ Rule ที่กำลังทำงานอยู่
ตัวอย่าง
New-NetFirewallRule `
-DisplayName "Allow RDP" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 3389 `
-Action Allow
เป็น Rule ที่ใช้บ่อยที่สุดใน Windows Server
ตัวอย่าง
New-NetFirewallRule `
-DisplayName "Allow HTTP" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 80 `
-Action Allow
ใช้กับ IIS และ Web Application
ตัวอย่าง
New-NetFirewallRule `
-DisplayName "Allow HTTPS" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 443 `
-Action Allow
จำเป็นสำหรับเว็บไซต์ที่ใช้ SSL/TLS
ตัวอย่าง
New-NetFirewallRule `
-DisplayName "Web Ports" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 80,443 `
-Action Allow
ช่วยลดจำนวน Rule ที่ต้องสร้าง
ตัวอย่าง
New-NetFirewallRule `
-DisplayName "Block FTP" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 21 `
-Action Block
ใช้ป้องกัน Service ที่ไม่ต้องการ
ตัวอย่าง
New-NetFirewallRule `
-DisplayName "Allow Admin PC" `
-Direction Inbound `
-RemoteAddress 192.168.1.50 `
-Protocol TCP `
-LocalPort 3389 `
-Action Allow
เพิ่มความปลอดภัยให้ Remote Desktop อย่างมาก
ตัวอย่าง
New-NetFirewallRule `
-DisplayName "Block Suspicious IP" `
-Direction Inbound `
-RemoteAddress 203.0.113.10 `
-Action Block
ใช้ป้องกันการโจมตีจาก IP ที่ไม่ต้องการ
ตัวอย่าง
Disable-NetFirewallRule `
-DisplayName "Allow RDP"
Rule จะยังอยู่ แต่ไม่ทำงาน
Enable-NetFirewallRule `
-DisplayName "Allow RDP"
ช่วยให้เปิดใช้งานได้ทันทีโดยไม่ต้องสร้างใหม่
ตัวอย่าง
Remove-NetFirewallRule `
-DisplayName "Allow RDP"
ควรตรวจสอบให้แน่ใจก่อนลบ
ตัวอย่าง
netsh advfirewall export D:\Backup\Firewall.wfw
ใช้สำรองค่าทั้งหมดของ Firewall
ตัวอย่าง
netsh advfirewall import D:\Backup\Firewall.wfw
เหมาะสำหรับ Restore หรือ Migration Server
ดูตำแหน่ง Log
Get-NetFirewallProfile |
Select-Object Name,LogFileName
ช่วยวิเคราะห์ปัญหาการเชื่อมต่อได้ดี
ตัวอย่าง
Get-NetTCPConnection
หรือ
netstat -ano
ใช้ตรวจสอบ Port ที่กำลัง Listen อยู่ในระบบ
ตัวอย่าง
สร้าง Rule หลายเครื่องพร้อมกัน
Invoke-Command `
-ComputerName SERVER01,SERVER02,SERVER03 `
-ScriptBlock {
New-NetFirewallRule `
-DisplayName "Allow HTTPS" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 443 `
-Action Allow
}
เหมาะกับองค์กรที่มี Server จำนวนมาก
ควรทำดังนี้
Firewall ที่ดีต้องเปิดให้น้อยที่สุดเท่าที่จำเป็น
ปัญหาที่พบประจำ
ปัญหาเหล่านี้มักเป็นต้นเหตุของช่องโหว่ด้าน Security
| หัวข้อ | Firewall Console | PowerShell |
|---|---|---|
| เริ่มต้นง่าย | ดีมาก | ปานกลาง |
| สร้าง Rule เดียว | ดี | ดี |
| สร้างหลาย Rule | ช้า | เร็วมาก |
| Automation | ต่ำ | สูง |
| Remote Management | จำกัด | ดีมาก |
| Enterprise Scale | ปานกลาง | ยอดเยี่ยม |
องค์กรขนาดใหญ่จึงนิยมใช้ PowerShell เป็นหลัก
การจัดการ Windows Firewall ด้วย PowerShell บน Windows Server 2025 ช่วยให้ผู้ดูแลระบบควบคุมความปลอดภัยของ Server ได้อย่างมีประสิทธิภาพ ไม่ว่าจะเป็นการเปิด Port, ปิด Port, จำกัด IP, สำรองค่า Firewall หรือทำ Automation ในระดับองค์กร
ทีมงาน comsiam แนะนำให้ Administrator ใช้ PowerShell เป็นเครื่องมือหลักในการบริหาร Firewall เพราะช่วยลดเวลาทำงานและเพิ่มความแม่นยำในการตั้งค่า โดยเฉพาะในองค์กรที่มี Server จำนวนมาก และ comsiam มองว่า Firewall ที่ถูกออกแบบและดูแลอย่างเหมาะสม คือหนึ่งในแนวป้องกันที่สำคัญที่สุดของ Infrastructure สมัยใหม่
หากคุณต้องเปิด HTTPS ให้กับ Web Server จำนวน 100 เครื่อง คุณจะเข้าไปตั้งค่า Firewall ทีละเครื่อง หรือใช้ PowerShell สั่งงานทั้งหมดภายในไม่กี่วินาที?