การสแกนพอร์ตก็เหมือนกับการกระตุกลูกบิดประตูจำนวนหนึ่งเพื่อดูว่าประตูใดถูกล็อค เครื่องสแกนจะเรียนรู้ว่าพอร์ตใดบนเราเตอร์หรือไฟร์วอลล์เปิดอยู่และสามารถใช้ข้อมูลนี้เพื่อค้นหาจุดอ่อนที่อาจเกิดขึ้นของระบบคอมพิวเตอร์
พอร์ตคืออะไร?
เมื่ออุปกรณ์เชื่อมต่อกับอุปกรณ์อื่นผ่านเครือข่ายอุปกรณ์จะระบุไฟล์ TCP หรือ UDP หมายเลขพอร์ตตั้งแต่ 0 ถึง 65535 อย่างไรก็ตามบางพอร์ตจะถูกใช้บ่อยกว่า พอร์ต TCP 0 ถึง 1023 เป็น“ พอร์ตที่รู้จักกันดี” ที่ให้บริการระบบ ตัวอย่างเช่นพอร์ต 20 คือการถ่ายโอนไฟล์ FTP พอร์ต 22 คือ Secure Shell (SSH) การเชื่อมต่อเทอร์มินัลพอร์ต 80 คือการรับส่งข้อมูลเว็บ HTTP มาตรฐานและพอร์ต 443 ถูกเข้ารหัส HTTPS . ดังนั้นเมื่อคุณเชื่อมต่อกับเว็บไซต์ที่ปลอดภัยเว็บเบราว์เซอร์ของคุณกำลังคุยกับเว็บเซิร์ฟเวอร์ที่กำลังฟังพอร์ต 443 ของเซิร์ฟเวอร์นั้น
บริการไม่จำเป็นต้องทำงานบนพอร์ตเฉพาะเหล่านี้เสมอไป ตัวอย่างเช่นคุณสามารถเรียกใช้เว็บเซิร์ฟเวอร์ HTTPS บนพอร์ต 32342 หรือเซิร์ฟเวอร์ Secure Shell บนพอร์ต 65001 หากคุณต้องการ นี่เป็นเพียงค่าเริ่มต้นมาตรฐาน
Port Scan คืออะไร
การสแกนพอร์ตเป็นกระบวนการตรวจสอบพอร์ตทั้งหมดในที่อยู่ IP เพื่อดูว่าพอร์ตนั้นเปิดหรือปิดอยู่ ซอฟต์แวร์สแกนพอร์ตจะตรวจสอบพอร์ต 0 พอร์ต 1 พอร์ต 2 และตลอดไปจนถึงพอร์ต 65535 ซึ่งทำได้โดยเพียงแค่ส่งคำขอไปยังแต่ละพอร์ตและขอให้ตอบกลับ ในรูปแบบที่ง่ายที่สุดซอฟต์แวร์สแกนพอร์ตจะถามเกี่ยวกับแต่ละพอร์ตทีละพอร์ต ระบบระยะไกลจะตอบสนองและบอกว่าพอร์ตเปิดหรือปิด บุคคลที่ทำการสแกนพอร์ตจะทราบว่าพอร์ตใดเปิดอยู่
เครือข่ายใดก็ได้ ไฟร์วอลล์ ในทางที่อาจปิดกั้นหรือลดการรับส่งข้อมูลดังนั้นการสแกนพอร์ตจึงเป็นวิธีการค้นหาว่าพอร์ตใดบ้างที่สามารถเข้าถึงได้หรือสัมผัสกับเครือข่ายบนระบบระยะไกลนั้น
เครื่องมือ nmap เป็นเรื่องธรรมดา ยูทิลิตี้เครือข่าย ใช้สำหรับการสแกนพอร์ต แต่ยังมีเครื่องมือสแกนพอร์ตอื่น ๆ อีกมากมาย
ทำไมผู้คนถึงเรียกใช้พอร์ตสแกน
การสแกนพอร์ตมีประโยชน์ในการระบุช่องโหว่ของระบบ การสแกนพอร์ตจะบอกผู้โจมตีว่าพอร์ตใดเปิดอยู่ในระบบและนั่นจะช่วยให้พวกเขากำหนดแผนการโจมตีได้ ตัวอย่างเช่นหากตรวจพบเซิร์ฟเวอร์ Secure Shell (SSH) ว่ากำลังฟังอยู่บนพอร์ต 22 ผู้โจมตีอาจพยายามเชื่อมต่อและตรวจสอบรหัสผ่านที่ไม่รัดกุม หากเซิร์ฟเวอร์ประเภทอื่นกำลังรับฟังข้อมูลบนพอร์ตอื่นผู้โจมตีอาจโผล่มาที่เซิร์ฟเวอร์และดูว่ามีข้อบกพร่องที่สามารถใช้ประโยชน์ได้หรือไม่ บางทีซอฟต์แวร์เวอร์ชันเก่ากำลังทำงานอยู่และอาจมีช่องโหว่ด้านความปลอดภัยที่เป็นที่รู้จัก
การสแกนประเภทนี้ยังช่วยตรวจจับบริการที่ทำงานบนพอร์ตที่ไม่ใช่ค่าเริ่มต้น ดังนั้นหากคุณใช้เซิร์ฟเวอร์ SSH บนพอร์ต 65001 แทนพอร์ต 22 การสแกนพอร์ตจะเปิดเผยสิ่งนี้และผู้โจมตีอาจลองเชื่อมต่อกับเซิร์ฟเวอร์ SSH ของคุณบนพอร์ตนั้น คุณไม่เพียงซ่อนเซิร์ฟเวอร์บนพอร์ตที่ไม่ใช่ค่าเริ่มต้นเพื่อรักษาความปลอดภัยให้กับระบบของคุณได้แม้ว่าจะทำให้ค้นหาเซิร์ฟเวอร์ได้ยากขึ้นก็ตาม
ผู้โจมตีไม่ได้ใช้การสแกนพอร์ตเท่านั้น การสแกนพอร์ตมีประโยชน์สำหรับการทดสอบการเจาะป้องกัน องค์กรสามารถสแกนระบบของตนเองเพื่อตรวจสอบว่าบริการใดบ้างที่สัมผัสกับเครือข่ายและตรวจสอบว่าได้รับการกำหนดค่าอย่างปลอดภัย
การสแกนพอร์ตอันตรายแค่ไหน?
การสแกนพอร์ตสามารถช่วยให้ผู้โจมตีพบจุดอ่อนที่จะโจมตีและเจาะเข้าไปในระบบคอมพิวเตอร์ แม้ว่าจะเป็นเพียงขั้นตอนแรกเท่านั้น เพียงเพราะคุณพบพอร์ตที่เปิดอยู่ไม่ได้หมายความว่าคุณจะโจมตีได้ แต่เมื่อคุณพบพอร์ตเปิดที่เรียกใช้บริการการฟังคุณสามารถสแกนหาช่องโหว่ได้ นั่นคืออันตรายที่แท้จริง
บนเครือข่ายในบ้านของคุณคุณแทบจะมีเราเตอร์นั่งอยู่ระหว่างคุณกับอินเทอร์เน็ต บางคนบนอินเทอร์เน็ตจะสแกนเราเตอร์ของคุณได้เท่านั้นและพวกเขาจะไม่พบอะไรเลยนอกจากบริการที่เป็นไปได้ในเราเตอร์เอง เราเตอร์นั้นทำหน้าที่เป็นไฟร์วอลล์เว้นแต่คุณจะได้ ส่งต่อพอร์ตแต่ละพอร์ตจากเราเตอร์ของคุณ ไปยังอุปกรณ์ซึ่งในกรณีนี้พอร์ตเฉพาะเหล่านั้นจะสัมผัสกับอินเทอร์เน็ต
สำหรับเซิร์ฟเวอร์คอมพิวเตอร์และเครือข่ายขององค์กรไฟร์วอลล์สามารถกำหนดค่าเพื่อตรวจจับการสแกนพอร์ตและบล็อกการรับส่งข้อมูลจากที่อยู่ที่กำลังสแกน หากบริการทั้งหมดที่สัมผัสกับอินเทอร์เน็ตได้รับการกำหนดค่าอย่างปลอดภัยและไม่มีช่องโหว่ด้านความปลอดภัยที่เป็นที่รู้จักการสแกนพอร์ตก็ไม่ควรน่ากลัวเกินไป
ประเภทของการสแกนพอร์ต
ในการสแกนพอร์ต“ TCP full connection” สแกนเนอร์จะส่งข้อความ SYN (การร้องขอการเชื่อมต่อ) ไปยังพอร์ต หากพอร์ตเปิดอยู่ระบบรีโมตจะตอบกลับด้วยข้อความ SYN-ACK (รับทราบ) สแกนเนอร์ตอบสนองด้วยข้อความ ACK (รับทราบ) ของตัวเอง นี่คือแบบเต็ม จับมือการเชื่อมต่อ TCP และสแกนเนอร์รู้ว่าระบบยอมรับการเชื่อมต่อบนพอร์ตหากกระบวนการนี้เกิดขึ้น
หากพอร์ตปิดระบบรีโมตจะตอบกลับด้วยข้อความ RST (รีเซ็ต) หากระบบระยะไกลไม่ได้อยู่บนเครือข่ายก็จะไม่มีการตอบสนอง
เครื่องสแกนบางรุ่นทำการสแกนแบบ“ TCP half-open” แทนที่จะใช้ SYN, SYN-ACK และ ACK แบบเต็มพวกเขาแค่ส่ง SYN และรอข้อความ SYN-ACK หรือ RST เพื่อตอบสนอง ไม่จำเป็นต้องส่ง ACK ขั้นสุดท้ายเพื่อทำการเชื่อมต่อให้เสร็จสมบูรณ์เนื่องจาก SYN-ACK จะบอกทุกสิ่งที่จำเป็นต้องรู้ให้สแกนเนอร์ทราบ เร็วกว่าเนื่องจากต้องส่งแพ็คเก็ตน้อยลง
การสแกนประเภทอื่นเกี่ยวข้องกับการส่งคนแปลกหน้าประเภทของแพ็กเก็ตที่ผิดรูปแบบและรอดูว่าระบบรีโมตส่งคืนแพ็กเก็ต RST เพื่อปิดการเชื่อมต่อหรือไม่ หากเป็นเช่นนั้นสแกนเนอร์จะรู้ว่ามีระบบรีโมตอยู่ที่ตำแหน่งนั้นและพอร์ตใดพอร์ตหนึ่งปิด หากไม่ได้รับแพ็กเก็ตสแกนเนอร์จะรู้ว่าพอร์ตต้องเปิดอยู่
การสแกนพอร์ตที่เรียบง่ายซึ่งซอฟต์แวร์ขอข้อมูลเกี่ยวกับแต่ละพอร์ตทีละพอร์ตนั้นง่ายต่อการมองเห็น ไฟร์วอลล์เครือข่ายสามารถกำหนดค่าให้ตรวจจับและหยุดพฤติกรรมนี้ได้อย่างง่ายดาย
นั่นเป็นสาเหตุที่เทคนิคการสแกนพอร์ตบางอย่างทำงานแตกต่างกัน ตัวอย่างเช่นการสแกนพอร์ตอาจสแกนพอร์ตที่มีขนาดเล็กกว่าหรืออาจสแกนพอร์ตเต็มช่วงในช่วงเวลาที่ยาวนานกว่ามากดังนั้นจึงตรวจจับได้ยากขึ้น
การสแกนพอร์ตเป็นเครื่องมือรักษาความปลอดภัยขั้นพื้นฐานสำหรับการเจาะระบบคอมพิวเตอร์ (และการรักษาความปลอดภัย) แต่เป็นเพียงเครื่องมือที่ช่วยให้ผู้โจมตีค้นหาพอร์ตที่อาจเสี่ยงต่อการถูกโจมตี พวกเขาไม่ให้ผู้โจมตีเข้าถึงระบบและระบบที่กำหนดค่าไว้อย่างปลอดภัยสามารถรองรับการสแกนพอร์ตแบบเต็มได้โดยไม่เป็นอันตราย
เครดิตรูปภาพ: xfilephotos /Shutterstock.com, ความคิด Casezy /Shutterstock.com.