Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ฉันสามารถใช้เซิร์ฟเวอร์เลี้ยวที่โฮสต์ด้วยตนเองเพื่อหลีกเลี่ยงปัญหาไฟร์วอลล์


ฉันสามารถใช้เซิร์ฟเวอร์เลี้ยวที่โฮสต์ด้วยตนเองเพื่อหลีกเลี่ยงปัญหาไฟร์วอลล์


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

เซิร์ฟเวอร์เลี้ยวคืออะไรและทำไมจึงใช้

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

ว่าไฟร์วอลล์และ NATs มีผลต่อการเชื่อมต่ออย่างไร

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

ใช้เซิร์ฟเวอร์เลี้ยวที่โฮสต์ด้วยตนเองสำหรับบายพาสไฟร์วอลล์

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

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

ข้อควรพิจารณาในการตั้งค่าทางเทคนิคสำหรับเซิร์ฟเวอร์เลี้ยว

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

หมายเหตุการกำหนดค่าคีย์รวมถึง:

- พอร์ต: พอร์ตเทิร์นเทิร์น/สตันเริ่มต้นเช่น UDP 3478 ถูกบล็อกโดยทั่วไปโดยองค์กรหรือไฟร์วอลล์ที่เข้มงวดดังนั้นการกำหนดค่าการเลี้ยวเพื่อฟังพอร์ตทั่วไปเช่น TCP 443 (พอร์ต HTTPS)

- TLS: การใช้ Turn Over TLS เข้ารหัสข้อมูลและลายพรางถ่ายทอดการจราจรเป็น HTTPS ซึ่งช่วยข้ามการตรวจสอบเนื้อหาไฟร์วอลล์ส่วนใหญ่

- การรับรองความถูกต้อง: เซิร์ฟเวอร์เทิร์นจำเป็นต้องมีการรับรองความถูกต้องเพื่อป้องกันการละเมิด Long-term credential mechanisms or short-lived credentials are used.

- การกำหนดค่าที่อยู่ IP: เซิร์ฟเวอร์จะต้องกำหนดค่าอย่างถูกต้องด้วยที่อยู่ IP สาธารณะหากอยู่เบื้องหลัง NAT

ด้านความปลอดภัย

มาตรการรักษาความปลอดภัยที่เหมาะสมจะต้องดำเนินการเมื่อเรียกใช้เซิร์ฟเวอร์เทิร์นโฮสต์ด้วยตนเองเนื่องจากจะเปิดเผยบริการรีเลย์ไปยังอินเทอร์เน็ต:

- ใช้วิธีการตรวจสอบความปลอดภัยที่ปลอดภัยเช่นการตรวจสอบระยะยาวด้วยความลับที่ใช้ร่วมกันหรือข้อมูลประจำตัวแบบไดนามิกที่หมดอายุ

-ใช้การ จำกัด อัตราและการตรวจสอบเพื่อป้องกันการโจมตีหรือการปฏิเสธการบริการ

- ใช้การเข้ารหัส TLS เพื่อปกป้องความสมบูรณ์ของข้อมูลและการรักษาความลับ

- อัปเดตเซิร์ฟเวอร์และซอฟต์แวร์อย่างสม่ำเสมอสำหรับแพตช์ความปลอดภัย

ความท้าทายในการปรับใช้และการบายพาสไฟร์วอลล์

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

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

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

- วิธีทางเลือกในการบายพาสไฟร์วอลล์รวมถึงการใช้ VPNs หรือปรับใช้แอปพลิเคชันเซิร์ฟเวอร์ในสภาพแวดล้อมคลาวด์ที่พอร์ตสามารถเปิดได้อย่างอิสระมากขึ้น

วิธีการเปิดใช้งานเซิร์ฟเวอร์ในทางปฏิบัติ

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

ตัวอย่างการกำหนดค่าโดยใช้ coturn

การตั้งค่า Coturn ทั่วไปรวมถึง:

- ฟังบนพอร์ต 3478 (UDP/TCP) สำหรับการงัน/เทิร์น

- การฟังสำรองบนพอร์ต 443 ด้วย TLS ที่กำหนดค่าให้เลียนแบบ HTTPS

- ใช้ความลับที่ใช้ร่วมกันเพื่อการตรวจสอบสิทธิ์

- กำหนดช่วง IP สำหรับการจัดสรรรีเลย์

- กฎไฟร์วอลล์ที่เหมาะสมช่วยให้ TCP/UDP เข้ามาในพอร์ตเหล่านี้

- การบันทึกและการตรวจสอบเปิดใช้งานเพื่อติดตามการเชื่อมต่อและการใช้งาน

ทางเลือกและมาตรการเพิ่มเติม

-เปิดใช้งานในระบบคลาวด์หรือใช้บริการเลี้ยวที่โฮสต์บนคลาวด์เพื่อลดค่าใช้จ่ายในการโฮสต์ตนเอง

- การใช้ VPNs เพื่อข้ามข้อ จำกัด ไฟร์วอลล์อย่างสมบูรณ์บางครั้งก็ต้องการเหตุผลความเป็นส่วนตัว

- การปรับระดับเครือข่ายเช่นการตั้งค่า DMZ หรือการส่งต่อพอร์ตเพื่อแสดงให้เห็นว่าเครื่องไคลเอนต์เต็มรูปแบบ (ปลอดภัยน้อยกว่า)

- สำหรับสภาพแวดล้อมที่เข้มงวดสูงการรวมการใช้เซิร์ฟเวอร์เทิร์นกับ VPN หรือบริการพร็อกซีอาจจำเป็น

สรุป

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

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