พอร์ตที่รู้จัก ข้อมูลเบื้องต้นเกี่ยวกับพอร์ตเครือข่าย

โปรโตคอล TCP/IP เป็นรากฐานของอินเทอร์เน็ต ซึ่งคอมพิวเตอร์ส่งและรับข้อมูลจากทุกที่ในโลก โดยไม่คำนึงถึงที่ตั้งทางภูมิศาสตร์ การเข้าถึงคอมพิวเตอร์ TCP/IP ในประเทศอื่นนั้นง่ายพอๆ กับการเข้าถึงคอมพิวเตอร์ในห้องถัดไป ขั้นตอนการเข้าถึงจะเหมือนกันในทั้งสองกรณี แม้ว่าการเชื่อมต่อกับเครื่องในประเทศอื่นอาจใช้เวลานานกว่าสองสามมิลลิวินาทีก็ตาม ส่งผลให้พลเมืองของประเทศใดๆ ก็ตามสามารถซื้อสินค้าบน Amazon.com ได้อย่างง่ายดาย อย่างไรก็ตาม เนื่องจากความใกล้ชิดทางตรรกะ งานรักษาความปลอดภัยข้อมูลจึงมีความซับซ้อนมากขึ้น เจ้าของคอมพิวเตอร์ที่เชื่อมต่อกับอินเทอร์เน็ตทุกที่ในโลกสามารถลองสร้างการเชื่อมต่อที่ไม่ได้รับอนุญาตกับเครื่องอื่น ๆ ได้

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

กำลังศึกษาพอร์ต

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

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

ภาพรวมโดยย่อของโปรโตคอลเครือข่าย

TCP/IP คือชุดของโปรโตคอลเครือข่ายที่คอมพิวเตอร์สื่อสารระหว่างกัน ชุด TCP/IP เป็นเพียงชิ้นส่วนของรหัสซอฟต์แวร์ที่ติดตั้งในระบบปฏิบัติการที่ให้การเข้าถึงโปรโตคอลเหล่านี้ TCP/IP เป็นมาตรฐาน ดังนั้นแอปพลิเคชัน TCP/IP บนเครื่อง Windows ควรสื่อสารกับแอปพลิเคชันเดียวกันบนเครื่อง UNIX ได้สำเร็จ ในช่วงแรกๆ ของการสร้างเครือข่าย ในปี 1983 วิศวกรได้พัฒนาแบบจำลองการเชื่อมต่อโครงข่าย OSI เจ็ดชั้นเพื่ออธิบายกระบวนการเครือข่ายคอมพิวเตอร์ ตั้งแต่สายเคเบิลไปจนถึงแอปพลิเคชัน โมเดล OSI ประกอบด้วยเลเยอร์ทางกายภาพ ดาต้าลิงก์ เครือข่าย การขนส่ง เซสชัน และแอปพลิเคชัน ผู้ดูแลระบบที่ทำงานกับอินเทอร์เน็ตและ TCP/IP อย่างต่อเนื่องจะจัดการกับเลเยอร์เครือข่าย การขนส่ง และแอปพลิเคชันเป็นหลัก แต่เพื่อให้การวินิจฉัยประสบความสำเร็จ จำเป็นต้องรู้จักเลเยอร์อื่นๆ แม้ว่าโมเดล OSI จะมีอายุขั้นสูงแล้ว แต่ผู้เชี่ยวชาญหลายคนก็ยังคงใช้โมเดลนี้อยู่ ตัวอย่างเช่น เมื่อวิศวกรเครือข่ายพูดถึงสวิตช์เลเยอร์ 1 หรือเลเยอร์ 2 หรือผู้ขายไฟร์วอลล์พูดถึงการควบคุมเลเยอร์ 7 พวกเขากำลังพูดถึงเลเยอร์ที่กำหนดในแบบจำลอง OSI

บทความนี้พูดถึงพอร์ตเครือข่ายที่อยู่ในเลเยอร์ 4 - การขนส่ง ในชุด TCP/IP พอร์ตเหล่านี้ถูกใช้โดยโปรโตคอล TCP และ UDP แต่ก่อนที่เราจะลงรายละเอียดเกี่ยวกับเลเยอร์หนึ่ง จำเป็นต้องทำความคุ้นเคยกับเลเยอร์ OSI ทั้งเจ็ดและบทบาทที่เลเยอร์เหล่านี้มีในเครือข่าย TCP/IP สมัยใหม่ก่อน

เลเยอร์ 1 และ 2: สายเคเบิลทางกายภาพและที่อยู่ MAC

ชั้นที่ 1 (ทางกายภาพ) แสดงถึงตัวกลางจริงที่สัญญาณเดินทางผ่าน เช่น สายทองแดง สายไฟเบอร์ออปติก หรือสัญญาณวิทยุ (ในกรณีของ Wi-Fi) เลเยอร์ 2 ดาต้าลิงค์ อธิบายรูปแบบข้อมูลสำหรับการส่งข้อมูลในสื่อทางกายภาพ ที่เลเยอร์ 2 แพ็กเก็ตจะถูกจัดระเบียบเป็นเฟรม และสามารถใช้ฟังก์ชันการควบคุมการไหลและการจัดการข้อผิดพลาดขั้นพื้นฐานได้ มาตรฐาน IEEE 802.3 หรือที่รู้จักกันดีในชื่ออีเธอร์เน็ต เป็นมาตรฐานเลเยอร์ 2 ที่ใช้กันมากที่สุดสำหรับเครือข่ายท้องถิ่นสมัยใหม่ สวิตช์เครือข่ายทั่วไปคืออุปกรณ์เลเยอร์ 2 ซึ่งคอมพิวเตอร์หลายเครื่องเชื่อมต่อและแลกเปลี่ยนข้อมูลระหว่างกัน บางครั้งคอมพิวเตอร์สองเครื่องไม่สามารถเชื่อมต่อถึงกันได้แม้ว่าที่อยู่ IP ดูเหมือนจะถูกต้องก็ตาม ปัญหาอาจเกิดจากข้อผิดพลาดในแคช Address Resolution Protocol (ARP) ซึ่งบ่งชี้ถึงปัญหาที่เลเยอร์ 2 นอกจากนี้ จุดเชื่อมต่อไร้สายบางจุด (Access Point, AP) ให้การกรองที่อยู่ MAC โดยอนุญาตให้เฉพาะอะแดปเตอร์เครือข่ายที่มีที่อยู่ MAC เฉพาะเท่านั้นที่จะเชื่อมต่อกับ AP ไร้สาย

เลเยอร์ 3 และ 4: ที่อยู่ IP และพอร์ตเครือข่าย

เลเยอร์ 3 ระบบเครือข่าย รองรับการกำหนดเส้นทาง ใน TCP/IP การกำหนดเส้นทางถูกนำมาใช้ใน IP ที่อยู่ IP ของแพ็กเก็ตเป็นของเลเยอร์ 3 เราเตอร์เครือข่ายคืออุปกรณ์เลเยอร์ 3 ที่วิเคราะห์ที่อยู่ IP ของแพ็กเก็ตและส่งต่อแพ็กเก็ตไปยังเราเตอร์อื่นหรือส่งแพ็กเก็ตไปยังคอมพิวเตอร์ในระบบ หากตรวจพบแพ็กเก็ตที่น่าสงสัยบนเครือข่าย ขั้นตอนแรกคือการตรวจสอบที่อยู่ IP ของแพ็กเก็ตเพื่อระบุที่มาของแพ็กเก็ต

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

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

พอร์ตเครือข่ายเป็นตัวเลขระหว่าง 1 ถึง 65535 ที่ระบุและรู้จักโดยแอปพลิเคชันทั้งสองที่ใช้สร้างการสื่อสาร ตัวอย่างเช่น โดยทั่วไปไคลเอนต์จะส่งคำขอที่ไม่ได้เข้ารหัสไปยังเซิร์ฟเวอร์ตามที่อยู่เป้าหมายบนพอร์ต TCP 80 โดยทั่วไปแล้ว คอมพิวเตอร์จะส่งคำขอ DNS ไปยังเซิร์ฟเวอร์ DNS ที่ที่อยู่เป้าหมายบนพอร์ต UDP 53 ไคลเอนต์และเซิร์ฟเวอร์มีแหล่งที่มา และที่อยู่ IP ปลายทาง และพอร์ตเครือข่ายต้นทางและปลายทาง ซึ่งอาจแตกต่างกันไป ในอดีต หมายเลขพอร์ตทั้งหมดที่ต่ำกว่า 1,024 เรียกว่า "หมายเลขพอร์ตที่รู้จัก" และลงทะเบียนกับ Internet Assigned Numbers Authority (IANA) บนระบบปฏิบัติการบางระบบ เฉพาะกระบวนการของระบบเท่านั้นที่สามารถใช้พอร์ตในช่วงนี้ได้ นอกจากนี้ องค์กรต่างๆ ยังสามารถลงทะเบียนพอร์ต 1024 ถึง 49151 กับ IANA เพื่อเชื่อมโยงพอร์ตกับแอปพลิเคชันของตนได้ การลงทะเบียนนี้จัดเตรียมโครงสร้างที่ช่วยหลีกเลี่ยงข้อขัดแย้งระหว่างแอปพลิเคชันที่พยายามใช้หมายเลขพอร์ตเดียวกัน อย่างไรก็ตาม โดยทั่วไปแล้ว ไม่มีสิ่งใดที่จะป้องกันไม่ให้แอปพลิเคชันร้องขอพอร์ตเฉพาะได้ ตราบเท่าที่ไม่ได้ถูกครอบครองโดยโปรแกรมอื่นที่ใช้งานอยู่

ในอดีต เซิร์ฟเวอร์สามารถรับฟังพอร์ตที่มีหมายเลขต่ำ และไคลเอนต์สามารถเริ่มต้นการเชื่อมต่อบนพอร์ตที่มีหมายเลขสูง (มากกว่า 1,024) ตัวอย่างเช่น เว็บไคลเอนต์อาจเปิดการเชื่อมต่อกับเว็บเซิร์ฟเวอร์บนพอร์ตปลายทาง 80 แต่เชื่อมโยงพอร์ตต้นทางที่เลือกแบบสุ่ม เช่น พอร์ต TCP 1025 เมื่อตอบสนองต่อไคลเอนต์ เว็บเซิร์ฟเวอร์จะระบุแพ็คเก็ตไปยังไคลเอนต์ด้วยแหล่งที่มา พอร์ต 80 และพอร์ตปลายทาง 1025 การรวมกันของที่อยู่ IP และพอร์ตเรียกว่าซ็อกเก็ตและจะต้องไม่ซ้ำกันบนคอมพิวเตอร์ ด้วยเหตุนี้ เมื่อตั้งค่าเว็บเซิร์ฟเวอร์โดยมีเว็บไซต์สองแห่งแยกกันบนคอมพิวเตอร์เครื่องเดียวกัน คุณต้องใช้ที่อยู่ IP หลายรายการ เช่น ที่อยู่ 1:80 และที่อยู่ 2:80 หรือกำหนดค่าเว็บเซิร์ฟเวอร์ให้ฟังบนพอร์ตเครือข่ายหลายพอร์ต เช่น เช่น ที่อยู่1:80 และที่อยู่1:81. เว็บเซิร์ฟเวอร์บางแห่งอนุญาตให้หลายเว็บไซต์ทำงานบนพอร์ตเดียวโดยการร้องขอส่วนหัวของโฮสต์ แต่ฟังก์ชันนี้จริง ๆ แล้วดำเนินการโดยแอปพลิเคชันเซิร์ฟเวอร์เว็บที่เลเยอร์ที่สูงกว่า 7

เมื่อความสามารถด้านเครือข่ายพร้อมใช้งานในระบบปฏิบัติการและแอปพลิเคชัน โปรแกรมเมอร์จึงเริ่มใช้หมายเลขพอร์ตที่สูงกว่า 1024 โดยไม่ต้องลงทะเบียนแอปพลิเคชันทั้งหมดกับ IANA ด้วยการค้นหาพอร์ตเครือข่ายใดๆ บนอินเทอร์เน็ต คุณจะสามารถค้นหาข้อมูลเกี่ยวกับแอพพลิเคชั่นที่ใช้พอร์ตนั้นได้อย่างรวดเร็ว หรือคุณสามารถค้นหา Well Known Ports และค้นหาไซต์จำนวนมากที่แสดงรายการพอร์ตที่พบบ่อยที่สุด

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

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

และตรงไปที่ระดับ 7

ไม่ค่อยได้ยินเกี่ยวกับเลเยอร์ 5 (เซสชัน) และเลเยอร์ 6 (การนำเสนอ) ในปัจจุบัน แต่เลเยอร์ 7 (แอปพลิเคชัน) เป็นประเด็นร้อนในหมู่ผู้จำหน่ายไฟร์วอลล์ เทรนด์ใหม่ล่าสุดในไฟร์วอลล์เครือข่ายคือการตรวจสอบเลเยอร์ 7 ซึ่งอธิบายเทคนิคที่ใช้ในการวิเคราะห์ว่าแอปพลิเคชันโต้ตอบกับโปรโตคอลเครือข่ายอย่างไร ด้วยการวิเคราะห์เพย์โหลดของแพ็คเก็ตเครือข่าย ไฟร์วอลล์สามารถระบุได้ว่าการรับส่งข้อมูลที่ผ่านนั้นถูกต้องหรือไม่ ตัวอย่างเช่น คำขอเว็บมีคำสั่ง GET ภายในแพ็กเก็ตเลเยอร์ 4 (พอร์ต TCP 80) หากไฟร์วอลล์ของคุณมีฟังก์ชันการทำงานของเลเยอร์ 7 คุณสามารถตรวจสอบว่าคำสั่ง GET ถูกต้องหรือไม่ อีกตัวอย่างหนึ่งคือโปรแกรมแชร์ไฟล์แบบ peer-to-peer (P2P) จำนวนมากสามารถแย่งชิงพอร์ต 80 ได้ ผลก็คือ บุคคลภายนอกสามารถกำหนดค่าโปรแกรมให้ใช้พอร์ตที่พวกเขาเลือกเองได้ ซึ่งส่วนใหญ่แล้วจะเป็นพอร์ตที่ควรเปิดทิ้งไว้ในนั้น ไฟร์วอลล์ที่กำหนด หากพนักงานของบริษัทจำเป็นต้องเข้าถึงอินเทอร์เน็ต จะต้องเปิดพอร์ต 80 แต่หากต้องการแยกการรับส่งข้อมูลเว็บที่ถูกต้องออกจากการรับส่งข้อมูล P2P ที่ควบคุมโดยบุคคลอื่นไปยังพอร์ต 80 ไฟร์วอลล์จะต้องมีการควบคุมเลเยอร์ 7

บทบาทของไฟร์วอลล์

หลังจากอธิบายเลเยอร์เครือข่ายแล้ว เราสามารถอธิบายกลไกการสื่อสารระหว่างแอปพลิเคชันเครือข่ายผ่านไฟร์วอลล์ต่อไปได้ โดยให้ความสนใจเป็นพิเศษกับพอร์ตเครือข่ายที่ใช้ ในตัวอย่างต่อไปนี้ เบราว์เซอร์ไคลเอนต์สื่อสารกับเว็บเซิร์ฟเวอร์ที่อยู่อีกด้านหนึ่งของไฟร์วอลล์ เช่นเดียวกับที่พนักงานบริษัทสื่อสารกับเว็บเซิร์ฟเวอร์บนอินเทอร์เน็ต

ไฟร์วอลล์อินเทอร์เน็ตส่วนใหญ่ทำงานที่เลเยอร์ 3 และ 4 เพื่อตรวจสอบแล้วอนุญาตหรือบล็อกการรับส่งข้อมูลเครือข่ายขาเข้าและขาออก โดยทั่วไป ผู้ดูแลระบบจะเขียนรายการควบคุมการเข้าถึง (ACL) ที่กำหนดที่อยู่ IP และพอร์ตเครือข่ายของการรับส่งข้อมูลที่ถูกบล็อกหรืออนุญาต ตัวอย่างเช่น ในการเข้าถึงเว็บ คุณต้องเปิดเบราว์เซอร์และชี้ไปที่เว็บไซต์ คอมพิวเตอร์เริ่มต้นการเชื่อมต่อขาออกโดยการส่งลำดับของแพ็กเก็ต IP ซึ่งประกอบด้วยส่วนหัวและข้อมูลเพย์โหลด ส่วนหัวประกอบด้วยข้อมูลเส้นทางและคุณลักษณะแพ็กเก็ตอื่นๆ กฎไฟร์วอลล์มักเขียนโดยคำนึงถึงข้อมูลเส้นทาง และโดยทั่วไปจะมีที่อยู่ IP ต้นทางและปลายทาง (เลเยอร์ 3) และโปรโตคอลแพ็คเก็ต (เลเยอร์ 4) เมื่อเรียกดูเว็บ ที่อยู่ IP ปลายทางจะเป็นของเว็บเซิร์ฟเวอร์ และโปรโตคอลและพอร์ตปลายทาง (ตามค่าเริ่มต้น) คือ TCP 80 ที่อยู่ IP ต้นทางคือที่อยู่ของคอมพิวเตอร์ที่ผู้ใช้เข้าถึงเว็บ และแหล่งที่มา โดยปกติแล้วพอร์ตจะเป็นหมายเลขที่กำหนดแบบไดนามิก มากกว่า 1,024 ข้อมูลที่เป็นประโยชน์ไม่ขึ้นอยู่กับส่วนหัวและสร้างขึ้นโดยแอปพลิเคชันผู้ใช้ ในกรณีนี้เป็นการร้องขอไปยังเว็บเซิร์ฟเวอร์เพื่อจัดเตรียมเว็บเพจ

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

ตรงกันข้ามกับวิธีขาออกของไฟร์วอลล์ส่วนใหญ่ ส่วนใหญ่ได้รับการกำหนดค่าให้บล็อกการรับส่งข้อมูลขาเข้า โดยทั่วไปแล้ว ไฟร์วอลล์จะอนุญาตการรับส่งข้อมูลขาเข้าในสองสถานการณ์เท่านั้น อย่างแรกคือการรับส่งข้อมูลที่มาถึงเพื่อตอบสนองต่อคำขอขาออกที่ผู้ใช้ส่งมาก่อนหน้านี้ ตัวอย่างเช่น หากคุณชี้เบราว์เซอร์ของคุณไปยังที่อยู่ของเว็บเพจ ไฟร์วอลล์จะอนุญาตให้โค้ด HTML และส่วนประกอบอื่นๆ ของเว็บเพจเข้าสู่เครือข่ายได้ กรณีที่สองคือการโฮสต์บริการภายในบนอินเทอร์เน็ต เช่น เมลเซิร์ฟเวอร์ เว็บ หรือไซต์ FTP การโฮสต์บริการดังกล่าวมักเรียกว่าการแปลพอร์ตหรือการเผยแพร่เซิร์ฟเวอร์ การใช้งานการแปลพอร์ตจะแตกต่างกันไปตามผู้จำหน่ายไฟร์วอลล์แต่ละราย แต่หลักการพื้นฐานก็เหมือนกัน ผู้ดูแลระบบกำหนดบริการ เช่น พอร์ต TCP 80 สำหรับเว็บเซิร์ฟเวอร์และเซิร์ฟเวอร์ส่วนหลังเพื่อโฮสต์บริการ หากแพ็กเก็ตเข้าสู่ไฟร์วอลล์ผ่านอินเทอร์เฟซภายนอกที่สอดคล้องกับบริการนี้ กลไกการแปลพอร์ตจะส่งต่อไปยังคอมพิวเตอร์เฉพาะบนเครือข่ายที่ซ่อนอยู่หลังไฟร์วอลล์ การแปลพอร์ตใช้ร่วมกับบริการ NAT ที่อธิบายไว้ด้านล่าง

ข้อมูลพื้นฐานเกี่ยวกับ NAT

ด้วย NAT คอมพิวเตอร์หลายเครื่องในบริษัทสามารถแชร์พื้นที่ที่อยู่ IP สาธารณะขนาดเล็กได้ เซิร์ฟเวอร์ DHCP ของบริษัทสามารถจัดสรรที่อยู่ IP จากหนึ่งในบล็อกที่อยู่ IP ส่วนตัวที่อินเทอร์เน็ตไม่สามารถกำหนดเส้นทางได้ ซึ่งกำหนดไว้ในคำขอความคิดเห็น (RFC) หมายเลข 1918 บริษัทหลายแห่งยังสามารถแชร์พื้นที่ที่อยู่ IP ส่วนตัวเดียวกันได้ ตัวอย่างของซับเน็ต IP ส่วนตัวคือ 10.0.0.0/8, 172.16.0.0/12 และ 192.168.0.0/16 เราเตอร์อินเทอร์เน็ตบล็อกแพ็กเก็ตใด ๆ ที่ส่งไปยังที่อยู่ส่วนตัวอันใดอันหนึ่ง NAT เป็นคุณลักษณะไฟร์วอลล์ที่ช่วยให้บริษัทต่างๆ ที่ใช้ที่อยู่ IP ส่วนตัวสามารถสื่อสารกับคอมพิวเตอร์เครื่องอื่นบนอินเทอร์เน็ตได้ ไฟร์วอลล์รู้วิธีแปลการรับส่งข้อมูลเข้าและออกไปยังที่อยู่ IP ภายในส่วนตัว เพื่อให้คอมพิวเตอร์ทุกเครื่องสามารถเข้าถึงอินเทอร์เน็ต

การแลกเปลี่ยนข้อมูลระหว่างคอมพิวเตอร์มี 2 ประเภท ได้แก่ ทันเดอร์ข้อมูลและ เซสชัน ดาตาแกรมเป็นข้อความที่ไม่ต้องมีการยืนยันการรับจากฝ่ายรับ และหากจำเป็น ผู้รับจะต้องส่งข้อความพิเศษด้วยตนเอง ในการแลกเปลี่ยนข้อมูลในลักษณะนี้ ฝ่ายรับและส่งข้อมูลจะต้องปฏิบัติตามโปรโตคอลบางอย่างอย่างเคร่งครัดเพื่อหลีกเลี่ยงการสูญหายของข้อมูล แต่ละดาตาแกรมเป็นข้อความอิสระ และหากมีหลายดาตาแกรมบน LAN ก็ไม่รับประกันการจัดส่งไปยังผู้รับ โดยทั่วไปแล้ว ในกรณีนี้ ดาตาแกรมมักจะเป็นส่วนหนึ่งของข้อความ และใน LAN ส่วนใหญ่ ความเร็วในการส่งข้อมูลของดาตาแกรมจะสูงกว่าข้อความในเซสชันมาก

ใน การประชุมสันนิษฐานว่ามีการสร้างการเชื่อมต่อแบบลอจิคัลเพื่อการแลกเปลี่ยนข้อความระหว่างคอมพิวเตอร์และการรับประกันการรับข้อความ ในขณะที่ดาตาแกรมสามารถส่งได้ตลอดเวลา ในเซสชัน เซสชันจะสิ้นสุดลงก่อนที่จะส่งข้อความ และจะต้องปิดเซสชันเมื่อการแลกเปลี่ยนข้อมูลเสร็จสมบูรณ์

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

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

เพื่อให้เข้าใจเทคโนโลยีพอร์ตได้ดีขึ้น ลองจินตนาการว่าคุณไปที่ธนาคารเพื่อฝากเงิน ในการดำเนินการนี้ คุณต้องไปที่หน้าต่างใดหน้าต่างหนึ่ง ซึ่งผู้ดำเนินการจะกรอกเอกสารและคุณจะเปิดบัญชี ในตัวอย่างนี้ ธนาคารเป็นตัวแทนของคอมพิวเตอร์ และผู้ดำเนินการธนาคารคือโปรแกรมที่ทำงานเฉพาะเจาะจง แต่หน้าต่างคือพอร์ต และแต่ละหน้าต่างในธนาคารมักจะมีหมายเลข (1, 2,3 ...)

เช่นเดียวกับพอร์ต ดังนั้น ในการสื่อสารกับพอร์ตบนคอมพิวเตอร์เครื่องอื่น ผู้ส่งจะต้องทราบทั้งที่อยู่ IP ของคอมพิวเตอร์ผู้รับและหมายเลขพอร์ตบนคอมพิวเตอร์ แต่ละข้อความมีทั้งหมายเลขพอร์ตของคอมพิวเตอร์ที่ข้อความนั้นถูกแอดเดรสไป และหมายเลขพอร์ตต้นทางของคอมพิวเตอร์ที่ควรส่งการตอบสนองไป ทำให้สามารถตอบกลับผู้ส่งในแต่ละกระบวนการได้

พอร์ต TCP/IP หมายเลข 0 ถึง 1023 มีสิทธิ์ใช้งานและใช้งานโดยบริการเครือข่าย ซึ่งในทางกลับกันจะทำงานด้วยสิทธิ์ของผู้ดูแลระบบ (ผู้ใช้ขั้นสูง) ตัวอย่างเช่น บริการแชร์ไฟล์และโฟลเดอร์ของ Windows ใช้พอร์ต 139 แต่ถ้าไม่ได้ทำงานบนคอมพิวเตอร์ เมื่อคุณพยายามเข้าถึงบริการนี้ (นั่นคือพอร์ตนี้) คุณจะได้รับข้อความแสดงข้อผิดพลาด

พอร์ต TCP/IP 1023 ถึง 65535 ไม่มีสิทธิพิเศษ และถูกใช้โดยโปรแกรมไคลเอนต์เพื่อรับการตอบสนองจากเซิร์ฟเวอร์ ตัวอย่างเช่น เว็บเบราว์เซอร์ของผู้ใช้เมื่อเข้าถึงเว็บเซิร์ฟเวอร์ จะใช้พอร์ต 44587 ของคอมพิวเตอร์ของเขา แต่จะเข้าถึงพอร์ต 80 ของเว็บเซิร์ฟเวอร์ หลังจากได้รับคำขอแล้ว เว็บเซิร์ฟเวอร์จะส่งการตอบกลับไปยังพอร์ต 44587 ซึ่งเว็บเบราว์เซอร์ใช้

รวบรัดรายการพอร์ต:
1. ทิ้ง: ทิ้งพอร์ต (RFC 863)
2. FTP: 21 สำหรับคำสั่ง, 20 สำหรับข้อมูล
3. SSH: 22 (การเข้าถึงระยะไกล)
4. Telnet: 23 (การเข้าถึงระยะไกล)
5. SMTP: 25, 587
6. DNS: 53 (UDP)
7.DHCP: 67, 68/UDP
8. TFTP: 69/UDP
9. HTTP: 80, 8080
10.ป๊อป3: 110
11. NTP: 123 (เซิร์ฟเวอร์เวลา) (UDP)
12. อิมเมจ: 143
13. SNMP: 161
14. HTTPS: 443
15. มายเอสคิวแอล: 3306
16. เซิร์ฟเวอร์: 3055
17. RDP: 3389 (การเข้าถึงระยะไกล)
18. ออสการ์ (ICQ): 5190
19. XMPP (เสียงแจ๊บเบอร์): 5222/5223/5269
20. Traceroute: สูงกว่า 33434 (UDP)
21. บิตทอร์เรนต์: 6969, 6881-6889
...

คำอธิบาย:

1. RFC 863 - วางโปรโตคอล
เอกสารนี้มีมาตรฐานสำหรับชุมชนอินเทอร์เน็ต ARPA โฮสต์อินเทอร์เน็ต ARPA ที่เลือกรองรับโปรโตคอล Discard จะต้องเป็นไปตามข้อกำหนดนี้ Discard เป็นเครื่องมือที่มีประโยชน์สำหรับการวัดและการดีบัก บริการนี้จะละทิ้งข้อมูลที่ได้รับทั้งหมด
บริการละทิ้งที่ใช้ TCPO เป็นหนึ่งในรูปแบบบริการละทิ้งที่มีการใช้งานโดยยึดตาม TCP เซิร์ฟเวอร์จะรับฟังการเชื่อมต่อ TCP บนพอร์ต 9 เมื่อสร้างการเชื่อมต่อแล้ว ข้อมูลทั้งหมดที่ได้รับผ่านนั้นจะถูกยกเลิกโดยไม่ส่งการตอบสนองใดๆ การละทิ้งข้อมูลจะดำเนินต่อไปจนกว่าการเชื่อมต่อจะถูกยกเลิกโดยผู้ใช้
บริการทิ้งตาม UDP - บริการทิ้งอีกรูปแบบหนึ่งถูกสร้างขึ้นบน UDP เซิร์ฟเวอร์จะรับฟังดาตาแกรม UDP บนพอร์ต 9 และเมื่อตรวจพบ จะละทิ้งดาตาแกรมที่ได้รับโดยไม่ส่งข้อมูลใดๆ

2. FTP (File Transfer Protocol) เป็นโปรโตคอลที่ออกแบบมาสำหรับการถ่ายโอนไฟล์ผ่านเครือข่ายคอมพิวเตอร์ FTP ช่วยให้คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ FTP ดูเนื้อหาไดเร็กทอรี และดาวน์โหลดไฟล์จากหรือไปยังเซิร์ฟเวอร์ นอกจากนี้ยังสามารถใช้โหมดการถ่ายโอนไฟล์ระหว่างเซิร์ฟเวอร์ได้อีกด้วย
พอร์ตขาออก 20 เปิดบนฝั่งเซิร์ฟเวอร์ใช้สำหรับการส่งข้อมูล พอร์ต 21 - สำหรับการส่งคำสั่ง

3. SSH (อังกฤษ: Secure SHell - "secure shell") - โปรโตคอลเครือข่ายระดับเซสชันที่อนุญาตการควบคุมระยะไกลของระบบปฏิบัติการและการเชื่อมต่อ TCP ในช่องทาง (เช่นสำหรับการถ่ายโอนไฟล์) ใช้สำหรับการดูแลระบบระยะไกล ผ่านโปรแกรมไคลเอนต์ โปรโตคอล ssh (SSH - Secure SHell) คุณสามารถปิดได้โดยปิดการใช้งานโปรแกรมควบคุมเซิร์ฟเวอร์

4. TELNET (English TERminaL NETwork) - โปรโตคอลเครือข่ายสำหรับการใช้งานอินเทอร์เฟซข้อความผ่านเครือข่าย (ในรูปแบบที่ทันสมัย ​​- โดยใช้การขนส่ง TCP)

5. SMTP (Simple Mail Transfer Protocol) เป็นโปรโตคอลเครือข่ายที่ออกแบบมาเพื่อส่งอีเมลผ่านเครือข่าย TCP/IP ในการทำงานผ่านโปรโตคอล SMTP ไคลเอนต์จะสร้างการเชื่อมต่อ TCP ไปยังเซิร์ฟเวอร์ผ่านพอร์ต 25
บางครั้งผู้ให้บริการห้ามไม่ให้ส่งอีเมลผ่านพอร์ต 25 โดยบังคับให้ไคลเอ็นต์ใช้เฉพาะเซิร์ฟเวอร์ SMTP ของตนเท่านั้น แต่อย่างที่คุณทราบมีไหวพริบ...
ตามค่าเริ่มต้น postfix จะทำงานบนพอร์ต 25 เท่านั้น แต่คุณสามารถทำให้มันใช้งานได้บนพอร์ต 587 ในการดำเนินการนี้คุณเพียงแค่ต้องยกเลิกการใส่เครื่องหมายบรรทัดในไฟล์ /etc/postfix/master.cf:
การส่ง inet n - - - - smtpd

6. DNS (อังกฤษ: Domain Name System) เป็นระบบคอมพิวเตอร์แบบกระจายสำหรับรับข้อมูลเกี่ยวกับโดเมน โปรโตคอล DNS ใช้พอร์ต TCP หรือ UDP 53 เพื่อตอบสนองต่อคำขอ

7. DHCP (Dynamic Host Configuration Protocol) เป็นโปรโตคอลเครือข่ายที่ช่วยให้คอมพิวเตอร์รับที่อยู่ IP และพารามิเตอร์อื่นๆ ที่จำเป็นในการทำงานบนเครือข่าย TCP/IP โดยอัตโนมัติ โปรโตคอลนี้ทำงานบนโมเดลไคลเอ็นต์-เซิร์ฟเวอร์ สำหรับการกำหนดค่าอัตโนมัติ คอมพิวเตอร์ไคลเอนต์ในขั้นตอนการกำหนดค่าอุปกรณ์เครือข่ายจะติดต่อกับเซิร์ฟเวอร์ที่เรียกว่า DHCP และรับพารามิเตอร์ที่จำเป็นจากเซิร์ฟเวอร์ดังกล่าว ผู้ดูแลระบบเครือข่ายสามารถระบุช่วงของที่อยู่ที่เซิร์ฟเวอร์กระจายระหว่างคอมพิวเตอร์ต่างๆ สิ่งนี้ช่วยให้คุณหลีกเลี่ยงการกำหนดค่าคอมพิวเตอร์เครือข่ายด้วยตนเองและลดจำนวนข้อผิดพลาด โปรโตคอล DHCP ใช้ในเครือข่าย TCP/IP ส่วนใหญ่ โปรโตคอล DHCP คือโปรโตคอลไคลเอ็นต์-เซิร์ฟเวอร์ นั่นคือ เกี่ยวข้องกับไคลเอ็นต์ DHCP และเซิร์ฟเวอร์ DHCP การส่งข้อมูลดำเนินการโดยใช้โปรโตคอล UDP โดยเซิร์ฟเวอร์รับข้อความจากไคลเอนต์บนพอร์ต 67 และส่งข้อความไปยังไคลเอนต์บนพอร์ต 68

8. TFTP (English Trivial File Transfer Protocol) ใช้เป็นหลักสำหรับการบูตครั้งแรกของเวิร์กสเตชันแบบไร้ดิสก์ TFTP ต่างจาก FTP ตรงที่ไม่มีความสามารถในการตรวจสอบความถูกต้อง (แม้ว่าจะสามารถกรองตามที่อยู่ IP ได้) และขึ้นอยู่กับโปรโตคอลการขนส่ง UDP

9. HTTP (ย่อมาจาก English HyperText Transfer Protocol - "hypertext Transfer Protocol") - โปรโตคอลระดับแอปพลิเคชันสำหรับการถ่ายโอนข้อมูล (เริ่มแรกในรูปแบบของเอกสารไฮเปอร์เท็กซ์) พอร์ต 80 คือพอร์ตของเว็บเซิร์ฟเวอร์ มีหน้าที่รับผิดชอบการทำงานผ่านโปรโตคอล HTTP

10. ป๊อป3. พอร์ต 110 (การเชื่อมต่อ Opera POP3) มีหน้าที่ในการส่งและรับเมล

11. Network Time Protocol (NTP) - โปรโตคอลเครือข่ายสำหรับการซิงโครไนซ์นาฬิกาภายในของคอมพิวเตอร์โดยใช้เครือข่ายที่มีความหน่วงแฝงแบบแปรผัน การตั้งค่าบริการเวลา (NTP) ใน Windows 2003/2008/2008 R2 ... กับแหล่งที่มาดำเนินการโดยใช้ โปรโตคอล NTP - พอร์ต 123 UDP .

12. IMAP (Internet Message Access Protocol) เป็นโปรโตคอลชั้นแอปพลิเคชันสำหรับการเข้าถึงอีเมล ซึ่งใช้โปรโตคอลการขนส่ง TCP และใช้พอร์ต 143

13. SNMP (Simple Network Management Protocol) เป็นโปรโตคอลการจัดการเครือข่ายการสื่อสารที่ใช้สถาปัตยกรรม UDP อุปกรณ์ที่โดยปกติจะรองรับ SNMP ได้แก่ เราเตอร์ สวิตช์ เซิร์ฟเวอร์ เวิร์กสเตชัน เครื่องพิมพ์ โมเด็ม ฯลฯ บริการ SNMP:
ใช้ Windows Sockets API
ส่งและรับข้อความโดยใช้ UDP (พอร์ต 161) และใช้ IP เพื่อรองรับการกำหนดเส้นทางข้อความ SNMP
มาพร้อมกับไลบรารีเพิ่มเติม (DLL) เพื่อรองรับ MIB ที่ไม่ได้มาตรฐาน
รวม Microsoft Win32 SNMP Manager API เพื่อทำให้การพัฒนาแอปพลิเคชัน SNMP ง่ายขึ้น

14. HTTPS (Hypertext Transfer Protocol Secure) - ส่วนขยายของโปรโตคอล HTTP ที่รองรับการเข้ารหัส ข้อมูลที่ส่งผ่านโปรโตคอล HTTPS จะถูก "บรรจุ" ในโปรโตคอลการเข้ารหัส SSL หรือ TLS ดังนั้นจึงมั่นใจได้ถึงการปกป้องข้อมูลนี้ ไม่เหมือนกับ HTTP ตรงที่ HTTPS ใช้พอร์ต TCP 443 เป็นค่าเริ่มต้น

15. MySQL เป็นระบบจัดการฐานข้อมูลฟรี แต่ mysql ไม่ทำงาน (หยุดทำงานเป็นเวลา n เวลา)

16. 3055-เครือข่ายท้องถิ่น

17. RDP (อังกฤษ: Remote Desktop Protocol) เป็นโปรโตคอลระดับแอปพลิเคชันกรรมสิทธิ์ที่ Microsoft ซื้อจาก Citrix เพื่อให้แน่ใจว่าผู้ใช้ระยะไกลจะทำงานกับเซิร์ฟเวอร์ที่ใช้บริการการเชื่อมต่อเทอร์มินัล มีไคลเอนต์อยู่ใน Windows เกือบทุกเวอร์ชัน (รวมถึง Windows CE และมือถือ), Linux, FreeBSD, Mac OS X, Android, Symbian พอร์ตเริ่มต้นคือ TCP 3389

18. เซิร์ฟเวอร์ ICQ

19. XMPP (Extensible Messaging and Presence Protocol) เดิมชื่อ Jabber
5222/5223 - ไคลเอนต์เซิร์ฟเวอร์ 5269 - เซิร์ฟเวอร์

20. Traceroute เป็นโปรแกรมอรรถประโยชน์คอมพิวเตอร์ที่ออกแบบมาเพื่อกำหนดเส้นทางข้อมูลบนเครือข่าย TCP/IP (บางแหล่งระบุว่าเพียงพอที่จะระบุช่วงพอร์ตตั้งแต่ 33434 ถึง 33534)

21. BitTórrent (อังกฤษ: bit stream) - โปรโตคอลเครือข่ายแบบ peer-to-peer (P2P) สำหรับการแชร์ไฟล์แบบมีส่วนร่วมผ่านอินเทอร์เน็ต พอร์ต 6969, 6881-6889 สำหรับการเข้าถึงไคลเอนต์ torrent

20:11:35 20

โปรโตคอล TCP/IP เป็นรากฐานของอินเทอร์เน็ต ซึ่งคอมพิวเตอร์ส่งและรับข้อมูลจากทุกที่ในโลก โดยไม่คำนึงถึงที่ตั้งทางภูมิศาสตร์ การเข้าถึงคอมพิวเตอร์ TCP/IP ในประเทศอื่นนั้นง่ายพอๆ กับการเข้าถึงคอมพิวเตอร์ในห้องถัดไป ขั้นตอนการเข้าถึงจะเหมือนกันในทั้งสองกรณี แม้ว่าการเชื่อมต่อกับเครื่องในประเทศอื่นอาจใช้เวลานานกว่าสองสามมิลลิวินาทีก็ตาม ส่งผลให้พลเมืองของประเทศใดๆ ก็ตามสามารถซื้อสินค้าบน Amazon.com ได้อย่างง่ายดาย อย่างไรก็ตาม เนื่องจากความใกล้ชิดทางตรรกะ งานรักษาความปลอดภัยข้อมูลจึงมีความซับซ้อนมากขึ้น เจ้าของคอมพิวเตอร์ที่เชื่อมต่อกับอินเทอร์เน็ตทุกที่ในโลกสามารถลองสร้างการเชื่อมต่อที่ไม่ได้รับอนุญาตกับเครื่องอื่น ๆ ได้

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

กำลังศึกษาพอร์ต

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

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

ภาพรวมโดยย่อของโปรโตคอลเครือข่าย

TCP/IP คือชุดของโปรโตคอลเครือข่ายที่คอมพิวเตอร์สื่อสารระหว่างกัน ชุด TCP/IP เป็นเพียงชิ้นส่วนของรหัสซอฟต์แวร์ที่ติดตั้งในระบบปฏิบัติการที่ให้การเข้าถึงโปรโตคอลเหล่านี้ TCP/IP เป็นมาตรฐาน ดังนั้นแอปพลิเคชัน TCP/IP บนเครื่อง Windows ควรสื่อสารกับแอปพลิเคชันเดียวกันบนเครื่อง UNIX ได้สำเร็จ ในช่วงแรกๆ ของการสร้างเครือข่าย ในปี 1983 วิศวกรได้พัฒนาแบบจำลองการเชื่อมต่อโครงข่าย OSI เจ็ดชั้นเพื่ออธิบายกระบวนการเครือข่ายคอมพิวเตอร์ ตั้งแต่สายเคเบิลไปจนถึงแอปพลิเคชัน โมเดล OSI ประกอบด้วยเลเยอร์ทางกายภาพ ดาต้าลิงก์ เครือข่าย การขนส่ง เซสชัน และแอปพลิเคชัน ผู้ดูแลระบบที่ทำงานกับอินเทอร์เน็ตและ TCP/IP อย่างต่อเนื่องจะจัดการกับเลเยอร์เครือข่าย การขนส่ง และแอปพลิเคชันเป็นหลัก แต่เพื่อให้การวินิจฉัยประสบความสำเร็จ จำเป็นต้องรู้จักเลเยอร์อื่นๆ แม้ว่าโมเดล OSI จะมีอายุขั้นสูงแล้ว แต่ผู้เชี่ยวชาญหลายคนก็ยังคงใช้โมเดลนี้อยู่ ตัวอย่างเช่น เมื่อวิศวกรเครือข่ายพูดถึงสวิตช์เลเยอร์ 1 หรือเลเยอร์ 2 หรือผู้ขายไฟร์วอลล์พูดถึงการควบคุมเลเยอร์ 7 พวกเขากำลังพูดถึงเลเยอร์ที่กำหนดในแบบจำลอง OSI

บทความนี้พูดถึงพอร์ตเครือข่ายที่อยู่ในเลเยอร์ 4 - การขนส่ง ในชุด TCP/IP พอร์ตเหล่านี้ถูกใช้โดยโปรโตคอล TCP และ UDP แต่ก่อนที่เราจะลงรายละเอียดเกี่ยวกับเลเยอร์หนึ่ง จำเป็นต้องทำความคุ้นเคยกับเลเยอร์ OSI ทั้งเจ็ดและบทบาทที่เลเยอร์เหล่านี้มีในเครือข่าย TCP/IP สมัยใหม่ก่อน

เลเยอร์ 1 และ 2: สายเคเบิลทางกายภาพและที่อยู่ MAC

ชั้นที่ 1 (ทางกายภาพ) แสดงถึงตัวกลางจริงที่สัญญาณเดินทางผ่าน เช่น สายทองแดง สายไฟเบอร์ออปติก หรือสัญญาณวิทยุ (ในกรณีของ Wi-Fi) เลเยอร์ 2 ดาต้าลิงค์ อธิบายรูปแบบข้อมูลสำหรับการส่งข้อมูลในสื่อทางกายภาพ ที่เลเยอร์ 2 แพ็กเก็ตจะถูกจัดระเบียบเป็นเฟรม และสามารถใช้ฟังก์ชันการควบคุมการไหลและการจัดการข้อผิดพลาดขั้นพื้นฐานได้ มาตรฐาน IEEE 802.3 หรือที่รู้จักกันดีในชื่ออีเธอร์เน็ต เป็นมาตรฐานเลเยอร์ 2 ที่ใช้กันมากที่สุดสำหรับเครือข่ายท้องถิ่นสมัยใหม่ สวิตช์เครือข่ายทั่วไปคืออุปกรณ์เลเยอร์ 2 ซึ่งคอมพิวเตอร์หลายเครื่องเชื่อมต่อและแลกเปลี่ยนข้อมูลระหว่างกัน บางครั้งคอมพิวเตอร์สองเครื่องไม่สามารถเชื่อมต่อถึงกันได้แม้ว่าที่อยู่ IP ดูเหมือนจะถูกต้องก็ตาม ปัญหาอาจเกิดจากข้อผิดพลาดในแคช Address Resolution Protocol (ARP) ซึ่งบ่งชี้ถึงปัญหาที่เลเยอร์ 2 นอกจากนี้ จุดเชื่อมต่อไร้สายบางจุด (Access Point, AP) ให้การกรองที่อยู่ MAC โดยอนุญาตให้เฉพาะอะแดปเตอร์เครือข่ายที่มีที่อยู่ MAC เฉพาะเท่านั้นที่จะเชื่อมต่อกับ AP ไร้สาย

เลเยอร์ 3 และ 4: ที่อยู่ IP และพอร์ตเครือข่าย

เลเยอร์ 3 ระบบเครือข่าย รองรับการกำหนดเส้นทาง ใน TCP/IP การกำหนดเส้นทางถูกนำมาใช้ใน IP ที่อยู่ IP ของแพ็กเก็ตเป็นของเลเยอร์ 3 เราเตอร์เครือข่ายคืออุปกรณ์เลเยอร์ 3 ที่วิเคราะห์ที่อยู่ IP ของแพ็กเก็ตและส่งต่อแพ็กเก็ตไปยังเราเตอร์อื่นหรือส่งแพ็กเก็ตไปยังคอมพิวเตอร์ในระบบ หากตรวจพบแพ็กเก็ตที่น่าสงสัยบนเครือข่าย ขั้นตอนแรกคือการตรวจสอบที่อยู่ IP ของแพ็กเก็ตเพื่อระบุที่มาของแพ็กเก็ต

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

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

พอร์ตเครือข่ายเป็นตัวเลขระหว่าง 1 ถึง 65535 ที่ระบุและรู้จักโดยแอปพลิเคชันทั้งสองที่ใช้สร้างการสื่อสาร ตัวอย่างเช่น โดยทั่วไปไคลเอนต์จะส่งคำขอที่ไม่ได้เข้ารหัสไปยังเซิร์ฟเวอร์ตามที่อยู่เป้าหมายบนพอร์ต TCP 80 โดยทั่วไปแล้ว คอมพิวเตอร์จะส่งคำขอ DNS ไปยังเซิร์ฟเวอร์ DNS ที่ที่อยู่เป้าหมายบนพอร์ต UDP 53 ไคลเอนต์และเซิร์ฟเวอร์มีแหล่งที่มา และที่อยู่ IP ปลายทาง และพอร์ตเครือข่ายต้นทางและปลายทาง ซึ่งอาจแตกต่างกันไป ในอดีต หมายเลขพอร์ตทั้งหมดที่ต่ำกว่า 1,024 เรียกว่า "หมายเลขพอร์ตที่รู้จัก" และลงทะเบียนกับ Internet Assigned Numbers Authority (IANA) บนระบบปฏิบัติการบางระบบ เฉพาะกระบวนการของระบบเท่านั้นที่สามารถใช้พอร์ตในช่วงนี้ได้ นอกจากนี้ องค์กรต่างๆ ยังสามารถลงทะเบียนพอร์ต 1024 ถึง 49151 กับ IANA เพื่อเชื่อมโยงพอร์ตกับแอปพลิเคชันของตนได้ การลงทะเบียนนี้จัดเตรียมโครงสร้างที่ช่วยหลีกเลี่ยงข้อขัดแย้งระหว่างแอปพลิเคชันที่พยายามใช้หมายเลขพอร์ตเดียวกัน อย่างไรก็ตาม โดยทั่วไปแล้ว ไม่มีสิ่งใดที่จะป้องกันไม่ให้แอปพลิเคชันร้องขอพอร์ตเฉพาะได้ ตราบเท่าที่ไม่ได้ถูกครอบครองโดยโปรแกรมอื่นที่ใช้งานอยู่

ในอดีต เซิร์ฟเวอร์สามารถรับฟังพอร์ตที่มีหมายเลขต่ำ และไคลเอนต์สามารถเริ่มต้นการเชื่อมต่อบนพอร์ตที่มีหมายเลขสูง (มากกว่า 1,024) ตัวอย่างเช่น เว็บไคลเอนต์อาจเปิดการเชื่อมต่อกับเว็บเซิร์ฟเวอร์บนพอร์ตปลายทาง 80 แต่เชื่อมโยงพอร์ตต้นทางที่เลือกแบบสุ่ม เช่น พอร์ต TCP 1025 เมื่อตอบสนองต่อไคลเอนต์ เว็บเซิร์ฟเวอร์จะระบุแพ็คเก็ตไปยังไคลเอนต์ด้วยแหล่งที่มา พอร์ต 80 และพอร์ตปลายทาง 1025 การรวมกันของที่อยู่ IP และพอร์ตเรียกว่าซ็อกเก็ตและจะต้องไม่ซ้ำกันบนคอมพิวเตอร์ ด้วยเหตุนี้ เมื่อตั้งค่าเว็บเซิร์ฟเวอร์โดยมีเว็บไซต์สองแห่งแยกกันบนคอมพิวเตอร์เครื่องเดียวกัน คุณต้องใช้ที่อยู่ IP หลายรายการ เช่น ที่อยู่ 1:80 และที่อยู่ 2:80 หรือกำหนดค่าเว็บเซิร์ฟเวอร์ให้ฟังบนพอร์ตเครือข่ายหลายพอร์ต เช่น เช่น ที่อยู่1:80 และที่อยู่1:81. เว็บเซิร์ฟเวอร์บางแห่งอนุญาตให้หลายเว็บไซต์ทำงานบนพอร์ตเดียวโดยการร้องขอส่วนหัวของโฮสต์ แต่ฟังก์ชันนี้จริง ๆ แล้วดำเนินการโดยแอปพลิเคชันเซิร์ฟเวอร์เว็บที่เลเยอร์ที่สูงกว่า 7

เมื่อความสามารถด้านเครือข่ายพร้อมใช้งานในระบบปฏิบัติการและแอปพลิเคชัน โปรแกรมเมอร์จึงเริ่มใช้หมายเลขพอร์ตที่สูงกว่า 1024 โดยไม่ต้องลงทะเบียนแอปพลิเคชันทั้งหมดกับ IANA ด้วยการค้นหาพอร์ตเครือข่ายใดๆ บนอินเทอร์เน็ต คุณจะสามารถค้นหาข้อมูลเกี่ยวกับแอพพลิเคชั่นที่ใช้พอร์ตนั้นได้อย่างรวดเร็ว หรือคุณสามารถค้นหา Well Known Ports และค้นหาไซต์จำนวนมากที่แสดงรายการพอร์ตที่พบบ่อยที่สุด

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

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

และตรงไปที่ระดับ 7

ไม่ค่อยได้ยินเกี่ยวกับเลเยอร์ 5 (เซสชัน) และเลเยอร์ 6 (การนำเสนอ) ในปัจจุบัน แต่เลเยอร์ 7 (แอปพลิเคชัน) เป็นประเด็นร้อนในหมู่ผู้จำหน่ายไฟร์วอลล์ เทรนด์ใหม่ล่าสุดในไฟร์วอลล์เครือข่ายคือการตรวจสอบเลเยอร์ 7 ซึ่งอธิบายเทคนิคที่ใช้ในการวิเคราะห์ว่าแอปพลิเคชันโต้ตอบกับโปรโตคอลเครือข่ายอย่างไร ด้วยการวิเคราะห์เพย์โหลดของแพ็คเก็ตเครือข่าย ไฟร์วอลล์สามารถระบุได้ว่าการรับส่งข้อมูลที่ผ่านนั้นถูกต้องหรือไม่ ตัวอย่างเช่น คำขอเว็บมีคำสั่ง GET ภายในแพ็กเก็ตเลเยอร์ 4 (พอร์ต TCP 80) หากไฟร์วอลล์ของคุณมีฟังก์ชันการทำงานของเลเยอร์ 7 คุณสามารถตรวจสอบว่าคำสั่ง GET ถูกต้องหรือไม่ อีกตัวอย่างหนึ่งคือโปรแกรมแชร์ไฟล์แบบ peer-to-peer (P2P) จำนวนมากสามารถแย่งชิงพอร์ต 80 ได้ ผลก็คือ บุคคลภายนอกสามารถกำหนดค่าโปรแกรมให้ใช้พอร์ตที่พวกเขาเลือกเองได้ ซึ่งส่วนใหญ่แล้วจะเป็นพอร์ตที่ควรเปิดทิ้งไว้ในนั้น ไฟร์วอลล์ที่กำหนด หากพนักงานของบริษัทจำเป็นต้องเข้าถึงอินเทอร์เน็ต จะต้องเปิดพอร์ต 80 แต่หากต้องการแยกการรับส่งข้อมูลเว็บที่ถูกต้องออกจากการรับส่งข้อมูล P2P ที่ควบคุมโดยบุคคลอื่นไปยังพอร์ต 80 ไฟร์วอลล์จะต้องมีการควบคุมเลเยอร์ 7

บทบาทของไฟร์วอลล์

หลังจากอธิบายเลเยอร์เครือข่ายแล้ว เราสามารถอธิบายกลไกการสื่อสารระหว่างแอปพลิเคชันเครือข่ายผ่านไฟร์วอลล์ต่อไปได้ โดยให้ความสนใจเป็นพิเศษกับพอร์ตเครือข่ายที่ใช้ ในตัวอย่างต่อไปนี้ เบราว์เซอร์ไคลเอนต์สื่อสารกับเว็บเซิร์ฟเวอร์ที่อยู่อีกด้านหนึ่งของไฟร์วอลล์ เช่นเดียวกับที่พนักงานบริษัทสื่อสารกับเว็บเซิร์ฟเวอร์บนอินเทอร์เน็ต

ไฟร์วอลล์อินเทอร์เน็ตส่วนใหญ่ทำงานที่เลเยอร์ 3 และ 4 เพื่อตรวจสอบแล้วอนุญาตหรือบล็อกการรับส่งข้อมูลเครือข่ายขาเข้าและขาออก โดยทั่วไป ผู้ดูแลระบบจะเขียนรายการควบคุมการเข้าถึง (ACL) ที่กำหนดที่อยู่ IP และพอร์ตเครือข่ายของการรับส่งข้อมูลที่ถูกบล็อกหรืออนุญาต ตัวอย่างเช่น ในการเข้าถึงเว็บ คุณต้องเปิดเบราว์เซอร์และชี้ไปที่เว็บไซต์ คอมพิวเตอร์เริ่มต้นการเชื่อมต่อขาออกโดยการส่งลำดับของแพ็กเก็ต IP ซึ่งประกอบด้วยส่วนหัวและข้อมูลเพย์โหลด ส่วนหัวประกอบด้วยข้อมูลเส้นทางและคุณลักษณะแพ็กเก็ตอื่นๆ กฎไฟร์วอลล์มักเขียนโดยคำนึงถึงข้อมูลเส้นทาง และโดยทั่วไปจะมีที่อยู่ IP ต้นทางและปลายทาง (เลเยอร์ 3) และโปรโตคอลแพ็คเก็ต (เลเยอร์ 4) เมื่อเรียกดูเว็บ ที่อยู่ IP ปลายทางจะเป็นของเว็บเซิร์ฟเวอร์ และโปรโตคอลและพอร์ตปลายทาง (ตามค่าเริ่มต้น) คือ TCP 80 ที่อยู่ IP ต้นทางคือที่อยู่ของคอมพิวเตอร์ที่ผู้ใช้เข้าถึงเว็บ และแหล่งที่มา โดยปกติแล้วพอร์ตจะเป็นหมายเลขที่กำหนดแบบไดนามิก มากกว่า 1,024 ข้อมูลที่เป็นประโยชน์ไม่ขึ้นอยู่กับส่วนหัวและสร้างขึ้นโดยแอปพลิเคชันผู้ใช้ ในกรณีนี้เป็นการร้องขอไปยังเว็บเซิร์ฟเวอร์เพื่อจัดเตรียมเว็บเพจ

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

ตรงกันข้ามกับวิธีขาออกของไฟร์วอลล์ส่วนใหญ่ ส่วนใหญ่ได้รับการกำหนดค่าให้บล็อกการรับส่งข้อมูลขาเข้า โดยทั่วไปแล้ว ไฟร์วอลล์จะอนุญาตการรับส่งข้อมูลขาเข้าในสองสถานการณ์เท่านั้น อย่างแรกคือการรับส่งข้อมูลที่มาถึงเพื่อตอบสนองต่อคำขอขาออกที่ผู้ใช้ส่งมาก่อนหน้านี้ ตัวอย่างเช่น หากคุณชี้เบราว์เซอร์ของคุณไปยังที่อยู่ของเว็บเพจ ไฟร์วอลล์จะอนุญาตให้โค้ด HTML และส่วนประกอบอื่นๆ ของเว็บเพจเข้าสู่เครือข่ายได้ กรณีที่สองคือการโฮสต์บริการภายในบนอินเทอร์เน็ต เช่น เมลเซิร์ฟเวอร์ เว็บ หรือไซต์ FTP การโฮสต์บริการดังกล่าวมักเรียกว่าการแปลพอร์ตหรือการเผยแพร่เซิร์ฟเวอร์ การใช้งานการแปลพอร์ตจะแตกต่างกันไปตามผู้จำหน่ายไฟร์วอลล์แต่ละราย แต่หลักการพื้นฐานก็เหมือนกัน ผู้ดูแลระบบกำหนดบริการ เช่น พอร์ต TCP 80 สำหรับเว็บเซิร์ฟเวอร์และเซิร์ฟเวอร์ส่วนหลังเพื่อโฮสต์บริการ หากแพ็กเก็ตเข้าสู่ไฟร์วอลล์ผ่านอินเทอร์เฟซภายนอกที่สอดคล้องกับบริการนี้ กลไกการแปลพอร์ตจะส่งต่อไปยังคอมพิวเตอร์เฉพาะบนเครือข่ายที่ซ่อนอยู่หลังไฟร์วอลล์ การแปลพอร์ตใช้ร่วมกับบริการ NAT ที่อธิบายไว้ด้านล่าง

ข้อมูลพื้นฐานเกี่ยวกับ NAT

ด้วย NAT คอมพิวเตอร์หลายเครื่องในบริษัทสามารถแชร์พื้นที่ที่อยู่ IP สาธารณะขนาดเล็กได้ เซิร์ฟเวอร์ DHCP ของบริษัทสามารถจัดสรรที่อยู่ IP จากหนึ่งในบล็อกที่อยู่ IP ส่วนตัวที่อินเทอร์เน็ตไม่สามารถกำหนดเส้นทางได้ ซึ่งกำหนดไว้ในคำขอความคิดเห็น (RFC) หมายเลข 1918 บริษัทหลายแห่งยังสามารถแชร์พื้นที่ที่อยู่ IP ส่วนตัวเดียวกันได้ ตัวอย่างของซับเน็ต IP ส่วนตัวคือ 10.0.0.0/8, 172.16.0.0/12 และ 192.168.0.0/16 เราเตอร์อินเทอร์เน็ตบล็อกแพ็กเก็ตใด ๆ ที่ส่งไปยังที่อยู่ส่วนตัวอันใดอันหนึ่ง NAT เป็นคุณลักษณะไฟร์วอลล์ที่ช่วยให้บริษัทต่างๆ ที่ใช้ที่อยู่ IP ส่วนตัวสามารถสื่อสารกับคอมพิวเตอร์เครื่องอื่นบนอินเทอร์เน็ตได้ ไฟร์วอลล์รู้วิธีแปลการรับส่งข้อมูลเข้าและออกไปยังที่อยู่ IP ภายในส่วนตัว เพื่อให้คอมพิวเตอร์ทุกเครื่องสามารถเข้าถึงอินเทอร์เน็ต

ในรูป รูปที่ 1 แสดงการเชื่อมต่อ NAT พื้นฐานระหว่างไคลเอนต์และเว็บเซิร์ฟเวอร์ ในขั้นตอนที่ 1 การรับส่งข้อมูลที่ส่งตรงไปยังอินเทอร์เน็ตจากคอมพิวเตอร์บนเครือข่ายองค์กรจะเข้าสู่อินเทอร์เฟซภายในของไฟร์วอลล์ ไฟร์วอลล์จะรับแพ็กเก็ตและสร้างรายการในตารางการติดตามการเชื่อมต่อ ซึ่งควบคุมการแปลที่อยู่ จากนั้นไฟร์วอลล์จะแทนที่ที่อยู่ต้นทางส่วนตัวของแพ็กเก็ตด้วยที่อยู่ IP สาธารณะภายนอกของตัวเอง และส่งแพ็กเก็ตไปยังปลายทางบนอินเทอร์เน็ต (ขั้นตอนที่ 2) คอมพิวเตอร์ปลายทางได้รับแพ็กเก็ตและส่งต่อการตอบสนองต่อไฟร์วอลล์ (ขั้นตอนที่ 3) เมื่อไฟร์วอลล์ได้รับแพ็กเก็ตนี้ ไฟร์วอลล์จะค้นหาแหล่งที่มาของแพ็กเก็ตดั้งเดิมในตารางการติดตามการเชื่อมต่อ แทนที่ที่อยู่ IP ปลายทางด้วยที่อยู่ IP ส่วนตัวที่เกี่ยวข้อง และส่งต่อแพ็กเก็ตไปยังคอมพิวเตอร์ต้นทาง (ขั้นตอนที่ 4) เนื่องจากไฟร์วอลล์ส่งแพ็กเก็ตในนามของคอมพิวเตอร์ภายในทั้งหมด ไฟร์วอลล์จะเปลี่ยนพอร์ตเครือข่ายต้นทาง และข้อมูลนี้จะถูกจัดเก็บไว้ในตารางการติดตามการเชื่อมต่อของไฟร์วอลล์ นี่เป็นสิ่งจำเป็นเพื่อให้แน่ใจว่าซ็อกเก็ตขาออกยังคงไม่ซ้ำกัน

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

ขั้นแรกให้วางรากฐาน จากนั้นจึงค่อยสร้างโครงสร้าง

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

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

แอปพลิเคชัน UDP

UDP ยังรองรับ Trivial File Transfer Protocol (TFTP), Simple Network Management Protocol (SNMP) และ Routing Information Protocol (RIP) รวมถึงแอปพลิเคชันอื่นๆ อีกมากมาย
TFTP (โปรโตคอลการถ่ายโอนไฟล์ทั่วไป) ส่วนใหญ่จะใช้สำหรับคัดลอกและติดตั้งระบบปฏิบัติการบนคอมพิวเตอร์จากไฟล์เซิร์ฟเวอร์

ทีทีพี. TFTP เป็นแอปพลิเคชั่นที่มีขนาดเล็กกว่า File Transfer Protocol (FTP) โดยทั่วไป TFTP จะใช้บนเครือข่ายเพื่อการถ่ายโอนไฟล์อย่างง่ายดาย TFTP มีกลไกการควบคุมข้อผิดพลาดและการกำหนดหมายเลขลำดับของตัวเอง ดังนั้น โปรโตคอลนี้จึงไม่จำเป็นต้องมีบริการเพิ่มเติมที่เลเยอร์การขนส่ง

SNMP (Simple Network Management Protocol) ตรวจสอบและจัดการเครือข่ายและอุปกรณ์ที่เชื่อมต่ออยู่ และรวบรวมข้อมูลเกี่ยวกับประสิทธิภาพของเครือข่าย SNMP ส่งข้อความ PDU ที่อนุญาตให้ซอฟต์แวร์การจัดการเครือข่ายตรวจสอบอุปกรณ์บนเครือข่าย

RIP (Routing Information Protocol) เป็นโปรโตคอลการกำหนดเส้นทางภายใน ซึ่งหมายความว่าถูกใช้ภายในองค์กร แต่ไม่ใช่บนอินเทอร์เน็ต

แอปพลิเคชัน TCP

TCP ยังรองรับ FTP, Telnet และ Simple Mail Transfer Protocol (SMTP) รวมถึงแอปพลิเคชันอื่นๆ อีกมากมาย

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

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

SMTP (Simple Mail Transfer Protocol) เป็นโปรโตคอลการถ่ายโอนเมลสำหรับอินเทอร์เน็ต รองรับการถ่ายโอนข้อความอีเมลระหว่างไคลเอนต์อีเมลและเซิร์ฟเวอร์อีเมล

พอร์ตที่รู้จักกันดี
พอร์ตที่รู้จักกันดีถูกกำหนดโดย IANA และอยู่ในช่วงตั้งแต่ 1,023 และต่ำกว่า สิ่งเหล่านี้ถูกกำหนดให้กับแอปพลิเคชันที่เป็นแกนหลักของอินเทอร์เน็ต

พอร์ตที่ลงทะเบียน
พอร์ตที่ลงทะเบียนได้รับการจัดทำแค็ตตาล็อกโดย IANA และอยู่ในช่วงตั้งแต่ 1024 ถึง 49151 พอร์ตเหล่านี้ถูกใช้โดยแอปพลิเคชันที่ได้รับลิขสิทธิ์ เช่น Lotus Mail

พอร์ตที่ได้รับมอบหมายแบบไดนามิก
พอร์ตที่กำหนดแบบไดนามิกจะมีหมายเลขตั้งแต่ 49152 ถึง 65535 หมายเลขสำหรับพอร์ตเหล่านี้ได้รับการกำหนดแบบไดนามิกตามระยะเวลาของเซสชันที่ระบุ