โดยค่าเริ่มต้น Windows Firewall with Advanced Security บล็อก ICMP Echo Requests (Pings) จากเครือข่าย ในโพสต์นี้จะแสดงวิธีอนุญาต Pings (ICMP Echo requests) ผ่าน Windows Firewall โดยใช้ Command Prompt หรือผ่าน Windows Firewall with Advanced Security UI
ควรเปิด ICMP หรือไม่?
สำหรับผู้ดูแลเครือข่ายหลายคน พวกเขาพิจารณา Internet Control Message Protocol (ICMP) เป็นความเสี่ยงด้านความปลอดภัย และดังนั้นเป็นมาตรการความปลอดภัย ควรบล็อก ICMP ที่ไฟร์วอลล์ตลอดเวลา แม้ ICMP จะเป็นที่รู้จักว่ามีปัญหาด้านความปลอดภัยบางประการ และเพราะเหตุผลนั้น ICMP ควรถูกบล็อก แต่ก็ไม่ใช่เหตุผลที่จะบล็อกトラフィック ICMP ทั้งหมด!
ICMP types ใดที่ควรอนุญาต?
นอกจาก Type 3 และ Type 4 – ICMP traffic ที่จำเป็นเพียงอย่างเดียวที่ต้องอนุญาตเข้าและออกจากไฟร์วอลล์บน Windows 10/11 PC ทุกอย่างอื่นเป็นตัวเลือกหรือควรบล็อก จะต้องจำได้ว่า เพื่อส่ง ping requests ต้องอนุญาต type 8 OUT และ type 0 IN
อนุญาต Pings (ICMP Echo requests) ผ่าน Windows Firewall
โดยทั่วไป การทำงานของคำสั่ง ping รวมถึงเครื่องมือเครือข่ายอื่นๆ คือการส่งแพ็กเก็ตพิเศษที่เรียกว่า Internet Control Message Protocol (ICMP) Echo Requests ไปยังอุปกรณ์เป้าหมาย และรอให้อุปกรณ์รับตอบสนองและส่งกลับ ICMP Echo Reply packet การกระทำนี้ นอกจากจะทดสอบว่าอุปกรณ์ที่เชื่อมต่อเครือข่ายทำงานอยู่ ยังวัดเวลาตอบสนองและแสดงผลลัพธ์ให้ตรวจสอบ
สามารถอนุญาต Pings (ICMP Echo requests) ผ่าน Firewall บน Windows 10 หรือ Windows 11 PC ได้ 2 วิธี จะสำรวจหัวข้อนี้ภายใต้วิธีที่ระบุไว้ด้านล่าง
หมายเหตุ: หากมีซอฟต์แวร์ความปลอดภัยบุคคลที่สามพร้อมไฟร์วอลล์ของตัวเอง ติดตั้งบนระบบ หรือโปรแกรมไฟร์วอลล์บุคคลที่สามแบบเฉพาะเจาะจง ต้องเปิดพอร์ตในไฟร์วอลล์นั้นแทน Windows Firewall ในตัว
1. อนุญาต Pings ผ่าน Firewall บน Windows PC ผ่าน Windows Firewall with Advanced Security UI
เพื่ออนุญาต Pings (ICMP Echo requests) ผ่าน Firewall บน Windows PC ผ่าน Windows Firewall with Advanced Security UI ให้ทำดังนี้:
- คลิก Start หรือกดปุ่ม Windows บนคีย์บอร์ด
- พิมพ์ windows firewall แล้วเลือก Windows Defender Firewall จากด้านบนของผลการค้นหา
- คลิกลิงก์ Advanced settings ด้านซ้ายของหน้าต่าง Control Panel ที่เปิด
- ในแผงซ้าย คลิกขวา Inbound Rules เลือก New Rule
- ในหน้าต่าง New Inbound Rule เลือก Custom
- คลิก Next
- หน้า Does this rule apply to all programs or specific programs? ตรวจสอบให้แน่ใจว่าเลือก radio button All programs
- คลิก Next
- หน้า To which ports and protocol does this rule apply? คลิกดรอปดาวน์ Protocol type เลือก ICMPv4
- คลิกปุ่ม Customize
- ในหน้าต่าง Customize ICMP Settings เลือกตัวเลือก Specific ICMP types
- ในรายการ ICMP types เปิดใช้งาน Echo Request
- คลิก OK
- กลับมาที่หน้า To which ports and protocol does this rule apply? คลิก Next
- หน้าที่ปรากฏ เลือก radio button Any IP address สำหรับทั้ง Which local IP addresses does this rule apply to? และ Which remote IP addresses does this rule apply to?
หากต้องการ สามารถกำหนดที่อยู่ IP เฉพาะที่ PC จะตอบสนอง ping request ได้ ping requests อื่นจะถูกเพิกเฉย
- หน้า What action should be taken when a connection matches the specified conditions? ตรวจสอบให้แน่ใจว่าเลือก radio button Allow the connection
- คลิก Next
- หน้า When does this rule apply เช็ค/ยกเลิกเช็ค ตัวเลือกที่มี ตามความต้องการ
- คลิก Next
- หน้าจอสุดท้าย ตั้งชื่อกฎใหม่ และเพิ่มคำอธิบายได้ (แนะนำเพิ่ม ICMPv4 ในชื่อกฎ เพื่อแยกจากกฎ ICMPv6 ที่จะสร้างด้วย)
- คลิก Finish
ตอนนี้ สร้างกฎ ICMPv6 โดยทำซ้ำขั้นตอนข้างต้น แต่ที่หน้า To which ports and protocol does this rule apply? คลิกดรอปดาวน์ Protocol type เลือก ICMPv6 แทน
- ออกจาก Windows Defender Firewall เมื่อเสร็จ
หากต้องการปิดใช้งานกฎ 언제든지 ให้เปิด Windows Firewall with Advanced Security Control Panel เลือก Inbound Rules ด้านซ้าย หากฎที่สร้างในแผงกลาง คลิกขวาเลือก Disable กฎเหล่านี้ยังลบได้ – แต่แนะนำแค่ปิดใช้งาน แทนการลบ เพื่อเปิดใช้งานใหม่ได้ง่ายโดยไม่ต้องสร้างใหม่
2. อนุญาต Pings ผ่าน Firewall บน Windows PC ด้วย Command Prompt
นี่คือวิธีเร็วที่สุดในการสร้างข้อยกเว้นสำหรับ ping requests บน Windows 11/10
เพื่ออนุญาต Pings (ICMP Echo requests) ผ่าน Firewall บน Windows PC ด้วย Command Prompt ให้ทำดังนี้:
- กด Windows key + R เพื่อเปิด Run dialog
- ใน Run dialog พิมพ์ cmd แล้วกด CTRL + SHIFT + ENTER เพื่อเปิด Command Prompt ในโหมดแอดมิน/ขlevéated
- ในหน้าต่าง command prompt พิมพ์หรือคัดลอกวางคำสั่งด้านล่าง กด Enter เพื่อ สร้างข้อยกเว้น ICMPv4
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
- เพื่อ สร้างข้อยกเว้น ICMPv6 รันคำสั่งด้านล่าง:
netsh advfirewall firewall add rule name="ICMP Allow incoming V6 echo request" protocol=icmpv6:8,any dir=in action=allow
การเปลี่ยนแปลงมีผลทันที ไม่ต้องรีบูทระบบ
- เพื่อ ปิด ping requests สำหรับ ICMPv4 exception รันคำสั่ง:
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=block
- เพื่อ ปิด ping requests สำหรับ ICMPv6 exception รันคำสั่ง:
netsh advfirewall firewall add rule name="ICMP Allow incoming V6 echo request" protocol=icmpv6:8,any dir=in action=block
หากต้องการปิดกฎแต่ลืมชื่อกฎ ให้รันคำสั่งด้านล่างเพื่อดูรายการกฎทั้งหมด:
netsh advfirewall firewall show rule name=all
ขอขอบคุณสำหรับวิธีอนุญาต Pings (ICMP Echo requests) ผ่าน Windows Firewall!
ICMP attack คืออะไร?
ICMP attack (เรียกอีกอย่างว่า Ping flood attack) เป็นการโจมตี Denial-of-Service (DoS) แบบทั่วไป ที่ผู้โจมตีพยายามท่วมท้นอุปกรณ์เป้าหมายด้วย ICMP echo-requests (pings) อย่างร้ายกาจ