วิธีป้องกันพอร์ต TCP และ UDP และเหตุใดบางพอร์ตจึงเป็นอันตราย

ในเลเยอร์การขนส่งของโมเดล TCP / IP เรามีโปรโตคอลสองประเภท: TCP และ UDP ทั้งสองใช้งานอย่างต่อเนื่องโดยโปรแกรมเลเยอร์แอปพลิเคชันและโปรโตคอลที่แตกต่างกันเช่นพอร์ต 80 และ 443 สำหรับการท่องเว็บพอร์ต 22 สำหรับโปรโตคอล SSH หรือพอร์ตยอดนิยม 1194 สำหรับ OpenVPN VPNs พอร์ตเหล่านี้บางพอร์ตค่อนข้างอันตรายหากเราไม่ได้กรองพอร์ตเหล่านี้อย่างถูกต้องด้วย ไฟร์วอลล์เนื่องจากสามารถทำการโจมตีประเภทต่างๆและแม้แต่แฮ็คอุปกรณ์ของเรา วันนี้ในบทความนี้เราจะแสดงให้คุณเห็นว่าพอร์ตใดที่เราต้องป้องกันโดยเฉพาะเพื่อหลีกเลี่ยงปัญหา

พอร์ต TCP และ UDP

พอร์ต TCP และ UDP คืออะไร?

TCP และ UDP อ้างถึงโปรโตคอลชั้นการขนส่งที่ใช้สำหรับการสื่อสารแบบ end-to-end ระหว่างสองโฮสต์พอร์ตเป็นส่วนหนึ่งของส่วน TCP หรือดาตาแกรม UDP เพื่อให้การสื่อสารถูกสร้างขึ้นอย่างถูกต้อง เราสามารถพูดได้ว่า“ พอร์ต” เปรียบเสมือน“ ประตู” สำหรับบริการบางอย่างไม่ว่าเราจะใช้ TCP หรือ UDP เนื่องจากโปรโตคอลทั้งสองใช้พอร์ต พอร์ตตัวเองไม่เป็นอันตรายพอร์ตคือพอร์ตและไม่สำคัญว่าจะเป็นพอร์ต 22 มากกว่าพอร์ต 50505 สิ่งที่สำคัญที่สุดคือการใช้งานที่มอบให้กับพอร์ตสิ่งที่อันตรายคือการเปิดพอร์ตให้ บริการชั้นแอปพลิเคชันที่ไม่ได้รับการป้องกันเนื่องจากใคร ๆ ก็สามารถเชื่อมต่อกับบริการนั้นและใช้ประโยชน์จากช่องโหว่หรือแฮ็กเราได้โดยตรง แน่นอนว่าถ้าเราเปิดพอร์ตไปยังอินเทอร์เน็ตเราจะควบคุมการรับส่งข้อมูลด้วย IDS / IPS เพื่อตรวจจับการโจมตีที่อาจเกิดขึ้นได้และมีการอัปเดตโปรแกรมที่กำลังรับฟังอยู่บนพอร์ตนี้

ทั้งใน TCP และ UDP เรามีพอร์ตทั้งหมด 65535 พอร์ตเรามีการจัดประเภทโดยขึ้นอยู่กับหมายเลขพอร์ตที่จะใช้เนื่องจากบางพอร์ตมักเรียกกันว่า“ รู้จัก” และสงวนไว้สำหรับแอปพลิเคชันเฉพาะแม้ว่าจะมีพอร์ตอื่น ๆ อีกมากมาย ซอฟต์แวร์เหล่านี้มักใช้เพื่อสื่อสารทั้งบนเครือข่ายท้องถิ่นหรือทางอินเทอร์เน็ต นอกจากนี้เรายังมีพอร์ตที่ลงทะเบียนและพอร์ตชั่วคราว

รู้จักพอร์ต

พอร์ตที่รู้จักกันดีตั้งแต่พอร์ต 0 ถึง 1023 ได้รับการลงทะเบียนและกำหนดโดย Internet Assigned Numbers Authority (IANA) ตัวอย่างเช่นในรายการพอร์ตนี้คือพอร์ต 20 สำหรับ FTP-Data, พอร์ต 21 สำหรับ FTP-Control, พอร์ต 22 สำหรับ SSH, พอร์ต 23 สำหรับ Telnet, พอร์ต 80 และ 443 สำหรับเว็บ (HTTP และ HTTPS ตามลำดับ) และอีเมล พอร์ตระหว่างโปรโตคอลเลเยอร์แอปพลิเคชันอื่น ๆ อีกมากมาย

พอร์ตที่ลงทะเบียน

พอร์ตที่ลงทะเบียนมีตั้งแต่พอร์ต 1024 ถึงพอร์ต 49151 ความแตกต่างที่สำคัญของพอร์ตเหล่านี้คือองค์กรต่างๆสามารถส่งคำขอไปยัง IANA เพื่อให้พอร์ตที่กำหนดโดยค่าเริ่มต้นและจะกำหนดให้ใช้กับแอปพลิเคชันเฉพาะ พอร์ตที่ลงทะเบียนเหล่านี้ถูกสงวนไว้และจะไม่มีองค์กรใดสามารถลงทะเบียนได้อีกอย่างไรก็ตามโดยปกติแล้วพอร์ตเหล่านี้จะอยู่ในสถานะ "กึ่งสงวน" เนื่องจากหากองค์กรหยุดใช้พอร์ตดังกล่าว บริษัท อื่นสามารถนำกลับมาใช้ใหม่ได้ ตัวอย่างที่ชัดเจนของพอร์ตที่ลงทะเบียนคือ 3389 ซึ่งใช้สำหรับการเชื่อมต่อ RDP ของเดสก์ท็อประยะไกลใน Windows.

พอร์ตชั่วคราว

พอร์ตเหล่านี้มีตั้งแต่ 49152 ถึง 65535 ช่วงของพอร์ตนี้ถูกใช้โดยโปรแกรมไคลเอ็นต์และจะถูกใช้ซ้ำอยู่ตลอดเวลา โดยทั่วไปช่วงของพอร์ตนี้จะใช้เมื่อคุณส่งไปยังพอร์ตที่รู้จักหรือสงวนไว้จากอุปกรณ์อื่นเช่นเว็บแบบพาสซีฟหรือ FTP ตัวอย่างเช่นเมื่อเราเยี่ยมชมเว็บไซต์พอร์ตปลายทางจะเป็น 80 หรือ 443 เสมอ แต่พอร์ตต้นทาง (เพื่อให้ข้อมูลรู้วิธีส่งคืน) ใช้พอร์ตเอพิมิเตอร์

พอร์ตใดที่ฉันควรปกป้องเป็นพิเศษ

พอร์ตทั้งหมดที่ใช้เพื่อสร้างการสื่อสารระยะไกลไม่ว่าจะสำหรับการแชร์ไฟล์การควบคุมระยะไกลผ่านคอนโซลและแม้แต่แอปพลิเคชันเดสก์ท็อประยะไกล อีเมล และบริการอื่น ๆ ที่เสี่ยงต่อการโจมตีต้องได้รับการปกป้องอย่างเพียงพอ ถัดไปคุณมีรายการพอร์ต (TCP) ที่คุณต้องป้องกันโดยเฉพาะและปิดเมื่อใดก็ตามที่เราไม่ได้ใช้งานเพราะในอนาคตอาจเป็นไปได้ว่ามีการใช้งานอยู่และเราลืมที่จะปกป้องอย่างถูกต้อง

  • พอร์ต 21: ใช้โดยโปรโตคอล FTP การถ่ายโอนไฟล์
  • พอร์ต 22: ใช้โดยโปรโตคอล SSH เพื่อจัดการคอมพิวเตอร์จากระยะไกล
  • พอร์ต 23: ใช้โดยโปรโตคอล Telnet เพื่อจัดการคอมพิวเตอร์จากระยะไกล (ไม่ปลอดภัย)
  • พอร์ต 80, 8080, 8088, 8888 และ 443: เราควรปิดพอร์ตที่เน้นเว็บทั้งหมดหากเราไม่มีเว็บเซิร์ฟเวอร์และหากทำเช่นนั้นเราควรตรวจสอบอย่างเหมาะสมเพื่อลดการโจมตีทางเว็บที่อาจเกิดขึ้นได้เช่นการโจมตีด้วยการฉีด SQL, XSS และคนอื่น ๆ.
  • พอร์ต 4444: โดยทั่วไปแล้วโทรจันและมัลแวร์ใช้พอร์ตนี้ขอแนะนำให้ปิดกั้นเสมอ
  • พอร์ต 6660-6669: พอร์ตเหล่านี้ถูกใช้โดย IRC ที่เป็นที่นิยมหากเราไม่ใช้เราจะไม่เปิดพอร์ตเหล่านี้
  • พอร์ต 161 UDP: ใช้โดยโปรโตคอล SNMP เพื่อดูการกำหนดค่าและจัดการอุปกรณ์ต่างๆเช่นเราเตอร์สวิตช์และเซิร์ฟเวอร์ ขอแนะนำให้ปิดหากคุณไม่ได้ใช้งาน
  • พอร์ต 53 UDP: พอร์ตที่ใช้โดยโปรโตคอล DNS พอร์ตนี้สามารถใช้เพื่อกรองข้อมูลในคำขอ DNS ด้วยตนเอง

แน่นอนว่าพอร์ตเหล่านี้ทั้งหมดที่เราได้อธิบายไปนั้นเป็นพอร์ตพื้นฐานที่สุด แต่เราต้องปฏิบัติตามนโยบายการบล็อกทุกอย่างยกเว้นพอร์ตที่ใช้งานอยู่เสมอด้วยวิธีนี้เราจะไม่ลืมปิดพอร์ตต่างๆ หากเราบล็อกทุกอย่าง (ยกเว้นสิ่งที่ใช้งานและได้รับอนุญาต) เราจะมีระบบที่มีการป้องกันสูงเนื่องจากการมีพอร์ตเปิดเป็นขั้นตอนแรกสำหรับการบุกรุก

ฉันจะป้องกันพอร์ตอย่างถูกต้องได้อย่างไร?

ตามค่าเริ่มต้นพอร์ตทั้งหมดควรปิดเว้นแต่คุณจะใช้บริการบางอย่างและต้องเปิด เป็นสิ่งสำคัญมากที่จะต้องมีการส่งออกบริการในพื้นที่ให้น้อยที่สุดเสมอเนื่องจากพื้นผิวการโจมตีจะน้อยลง ไฟร์วอลล์จะช่วยให้เราสามารถปิดพอร์ตทั้งหมดโดยอัตโนมัติและเปิดเฉพาะพอร์ตที่เราต้องการ

ซอฟต์แวร์ที่ใช้เปิดซ็อกเก็ต TCP หรือ UDP จำเป็นอย่างยิ่งที่จะต้องมีการอัปเดตอยู่เสมอจึงมีประโยชน์เพียงเล็กน้อยที่จะปิดพอร์ตทั้งหมดยกเว้นหนึ่งพอร์ตหากบริการที่ทำงานบนพอร์ตนั้นไม่ได้รับการอัปเดตและมีข้อบกพร่องด้านความปลอดภัย ด้วยเหตุนี้การอัปเดตซอฟต์แวร์ทั้งหมดจึงมีความสำคัญมากขอแนะนำให้ใช้ซอฟต์แวร์ที่ยังคงดูแลอยู่เสมอเพื่อรับการอัปเดตที่แตกต่างกัน

หากจำเป็นต้องมีการตรวจสอบสิทธิ์เพื่อเข้าถึงบริการบางอย่างจำเป็นที่ข้อมูลรับรองจะต้องมีความรัดกุมหากเป็นไปได้ให้ใช้ใบรับรองดิจิทัลหรือคีย์ SSH (หากคุณกำลังจะพิสูจน์ตัวตนบนเซิร์ฟเวอร์ SSH) ตัวอย่างเช่นขอแนะนำให้ปิด Telnet พอร์ต 23 เสมอเนื่องจากเป็นโปรโตคอลที่ไม่ปลอดภัยดังนั้นจึงเป็นการดีกว่าที่จะไม่ใช้มันในสถานการณ์ใด ๆ

ขอแนะนำอย่างยิ่งให้ตรวจสอบว่าพอร์ต TCP และ UDP ใดใช้งานอยู่เพื่อตรวจหาปัญหาที่อาจเกิดขึ้นจากการบุกรุกหรือการติดไวรัสจากโทรจัน สิ่งสำคัญคือต้องตรวจสอบทราฟฟิกแปลก ๆ หรือพอร์ตที่เปิดเมื่อไม่ควรเป็น นอกจากนี้ยังเป็นสิ่งสำคัญมากที่จะต้องทราบว่าบริการบางอย่าง (ฟังบนพอร์ตบางพอร์ต) ทำงานอย่างไรภายใต้การใช้งานปกติเพื่อระบุพฤติกรรมที่ผิดปกติ

สุดท้ายนี้นอกเหนือจากการใช้ไฟร์วอลล์เพื่อปิดพอร์ตทั้งหมดที่เราไม่ได้ใช้แล้วขอแนะนำอย่างยิ่งให้ใช้ IDS / IPS เพื่อตรวจจับพฤติกรรมแปลก ๆ ในระดับเครือข่ายและขอแนะนำให้ติดตั้ง IDS ด้วยตัวเอง PC เพื่อให้ตรวจพบความผิดปกติใด ๆ