การเลือกโปรแกรม VPN - Type สำหรับ Mathnet
เจมส์ F. คาร์เตอร์ , UCLA - Mathnet, 2003/09/26
ความต้องการ
- ผู้ใช้สามารถเชื่อมต่อจากสถานที่นอกมหาวิทยาลัยโดยพลการไปยังสถานี VPN (เครื่อง) ใน DMZ ของเรา ปัจจุบัน Harlech เป็นเจ้าภาพป้อมปราการที่กำหนด เราไม่ต้องการให้ผู้ใช้เปลือก acounts เกี่ยวกับ Harlech (เชื่อมต่อโดยตรงไปยังเครื่องภายในจะถูกโดยเฉพาะ SSH.)
- การเชื่อมต่อ VPN ควรจะได้รับอนุญาตเท่านั้นสำหรับคนที่"มีอำนาจ"ซึ่งโดยทั่วไปหมายถึงทุกคนที่มี loginid Mathnet ที่ถูกต้อง
- เครื่องภายในควรให้บริการแก่ผู้ใช้ VPN เกินกว่าสิ่งที่พวกเขาให้ไปที่อินเทอร์เน็ตทั่วโลก (พวกเขากำลังถูกปิดกั้นโดยสิ้นเชิง) แต่อาจจะน้อยกว่าพวกเขาให้ไปยังเครื่องภายในที่เกิดขึ้นจริง นี้เป็นส่วนใหญ่การทำงานของกฎไฟร์วอลล์ภายใน
- ผู้ใช้ VPN ควรจะสามารถไปยังเส้นทางไปยังเว็บไซต์ที่นอกมหาวิทยาลัยและได้รับการ NAT (แปลที่อยู่เครือข่าย) ที่สถานี VPN เพื่อการเชื่อมต่อจะปรากฏขึ้นมาจากเครื่องที่ UCLA - Mathnet นี้เป็นสำหรับการเข้าถึงเว็บไปที่เนื้อหาได้รับใบอนุญาตการป้องกันโดยการตรวจสอบตามโฮสต์ (ตัวอย่าง :. AMS วารสารออนไลน์) อีกครั้งนี้เป็นหน้าที่ของกฎไฟร์วอลล์และเส้นทาง
- การเชื่อมต่อ VPN ควรจะเข้ารหัส
- การปกครองที่เราจะไม่ได้ไปกำหนดค่าอุโมงค์เป็นรายบุคคลสำหรับผู้ใช้แต่ละ; มันมีการทำงานบนพื้นฐานทั่วไป
- มีจะต้องมีลูกค้าสำหรับ Linux, Windows, Mac และควร พวกเขาต้องทำงานผ่าน NAT กล่อง
- Pre - มอบหมายให้ที่อยู่ IP ที่ไม่เป็นไปได้; ซอฟต์แวร์ที่ต้องให้แน่ใจว่าแต่ละคนมีอุโมงค์ที่อยู่ IP ที่ไม่ซ้ำกันจากระยะไกล เครื่องหลังกล่อง NAT จะถูกกำหนดโดยปกติ 192.168.1.1 หรือ 192.168.1.100, ขึ้นอยู่กับยี่ห้อของกล่อง NAT และเพื่อให้
ประชาชน
IP ของไคลเอ็นต์มีแนวโน้มที่จะไม่ซ้ำกัน; จึง IP อุโมงค์ที่มีให้มาจากซอฟต์แวร์ VPN ไม่ได้รับเลือกโดยลูกค้า - ส่วนใหญ่ผลิตภัณฑ์ VPN มีไว้สำหรับเส้นทางแบบคงที่ระหว่างที่ disjoint subnets, เว็บไซต์ บริษัท เช่นในเมืองต่างๆ สำหรับของเราใช้ IP ที่ระยะไกลจะไม่สามารถคาดเดาได้และอุโมงค์มาและไปแบบสุ่ม -- ที่"Road Warrior"สถานการณ์
ผู้สมัครโปรแกรม VPN
ปัญหา | อิสระ / WAN | vtun | cipe | OpenVPN | PoPToP |
---|---|---|---|---|---|
โปรโตคอล | IPSec (ESP, AH) | ของตัวเอง | ของตัวเอง | TLS + ของตัวเอง | PPTP (GRE) |
การเข้ารหัสลับ | ยอดเยี่ยม | อ่อนแอ (3) | อ่อนแอ (3) | ยอดเยี่ยม | ดู (7) |
การอนุญาต | X.509 (4) | kludge SSH | คีย์แบบคงที่ | X.509 | ของ Windows |
(คีย์ Pre - จัดยังทำงานสำหรับโปรแกรมส่วนใหญ่) | |||||
เฉพาะกิจผู้ใช้ | ใช่ | kludge (1) | ไม่มี | ใช่ (8) | ใช่ |
ทนทานต่อการชนกันของ IP | ไม่มี | kludge (1) | ไม่มี | ใช่ (8) | ใช่ |
สำหรับลูกค้า : | L, W, M (2) | L, S | L, W | L, S, W, MX | L, S, W (6) |
(L = ลินุกซ์, S = Solaris, W = Windows, M = Mac) | |||||
ทำงานผ่าน NAT | แพทช์ (4) | ใช่ | ใช่ | ใช่ | ใช่ |
เราใช้นานเท่าไหร่? | 1 ปี | 0.5 ปี | ไม่ | 0.1 ปี | ไม่ |
ที่ถูกบล็อกโดย BOL | ทำงาน | การทำงาน (SSH) | prob ที่ถูกบล็อก | ขอยกเลิกการปิดกั้น | อาจจะทำงาน |
พร้อมกับ SuSE | ใช่ | ใช่ | ใช่ | ใช่ (8) | ไม่มี |
ลิ้งค์ | ปกติ, ซูเปอร์ | vtun | cipe | OpenVPN | poptop |
คุณสมบัติที่ดี | ที่ได้รับความน่าเชื่อถือ | ที่เชื่อถือได้ (มี 1 ผู้ใช้) | สุทธิฉวัดเฉวียน | หินแข็ง, การติดตั้งง่าย | ไมโครซอฟท์จะใช้มัน |
คุณสมบัติที่ไม่ดี | ยากที่จะตั้งขึ้น โรคอุจจาระร่วงของล็อกไฟล์ | ต้องใช้สคริปต์ kludge TCP วิกฤต (5) บัญชีเชลล์ในพื้นที่ป้อมปราการ | ไม่มีโหมด Ad - hoc | ไม่มี (8) | ไมโครซอฟท์จะใช้มัน |
- สำหรับ vtun ผู้ใช้แต่ละคนจะต้อง preassigned ที่อยู่ IP สำหรับอุโมงค์ สคริปต์ได้รับการเขียนแบบไดนามิกกำหนดที่อยู่เหล่านี้เมื่อเริ่มต้นการเชื่อม แต่มัน kludge
- การดำเนินการใด ๆ IPSec ควรจะสามารถพูดคุยกับอิสระ / WAN และการทดสอบที่ประสบความสำเร็จ interoperation เป็นที่กว้างขวาง ว่ากันว่า Windows XP สามารถทำเช่นนี้ natively เคอร์เนลโมดูลที่จำเป็นและฉันไม่ทราบว่าสามารถใช้ได้สำหรับ Solaris หรือ Mac OS - X หรือไม่ว่าจะทำงานร่วมกับระบบ UNIX ที่ไม่ใช่ของ MAC OS : มีลูกค้า IPsec ในเชิงพาณิชย์สำหรับ Mac OS - X คือ VPN ติดตามโดย Equinux .
- Vtun ใช้อัลกอริธึมการเข้ารหัสลับ (ปักเป้า) จากห้องสมุด SSL แต่ไม่ได้ใช้ SSL เต็มเป่าในการเข้ารหัสช่องทาง มีเพิ่งได้รับการอภิปรายในรายการจดหมาย vtun เกี่ยวกับความอ่อนแอในวิธีการที่เวกเตอร์เริ่มต้นที่จะเลือก(ปัญหาที่คล้ายกันนำไปสู่การใช้ประโยชน์กับ 802.11b WEP.) กับปัญหาเดิมมีการกล่าวถึงนำไปใช้กับ cipe
- การพัฒนาอิสระ / WAN แบ่งออกเป็นสองสาขา :"บริสุทธิ์"อิสระ / WAN (ซึ่งเป้าหมายทางการเมืองที่มีความสำคัญที่จำเป็นต้องใช้โค้ดที่อาจจะมีข้อ จำกัด ในการส่งออกประเทศสหรัฐอเมริกาที่จะหลีกเลี่ยง), และ"Super"อิสระ / WAN ซึ่งมีแพทช์ สำหรับ (ในหมู่สิ่งอื่น ๆ ) การแลกเปลี่ยนคีย์ X.509 และการตรวจสอบและ NAT traversal แพทช์ NAT เป็นปัจจุบันใน SuSE Linux 8.2 แต่โชคร้ายที่มีความขัดแย้งทางด้านเทคนิคในชุมชนเคอร์เนลเพื่อให้ผู้พิพากษา SuSE มันไม่ฉลาดที่จะนำแพทช์ ESP - in - UDP ที่จำเป็นใน kernel หุ้น คุณจะต้อง recompile kernel ด้วยตัวคุณเองถ้าคุณต้องการมัน
- เมื่อ Tunneling TCP ใน TCP เช่นเดียวกับการขุดเจาะอุโมงค์ vtun (หรือสิ่งอื่น) มากกว่าการส่งต่อพอร์ต SSH เมื่อโหลดสูงพอที่จะทำให้แพ็กเก็ตที่ตายในการชนกันของทั้งสองชั้น TCP จะลองใหม่อีกครั้งและผลที่ได้จะเป็นเกินหนีหมายถึง ที่เป็น
วิกฤตของ TCP
. การดูแลเป็นพิเศษเป็นสิ่งจำเป็นเพื่อต่อต้านการนี้ซึ่ง SSH ไม่ได้ออกแบบสำหรับ สันนิษฐานระดับ kernel อุโมงค์ IP - in - IP ที่สามารถทำดีกว่า ดูที่ลิงค์นี้ สำหรับข้อมูลเพิ่มเติม - ในขณะที่เป็น PoPToP สำหรับ UNIX, Windows (95 และต่อมา) รวมถึงลูกค้า PPTP พื้นเมืองที่ PoPToP interoperates HOWTO กล่าวถึงลูกค้า Mac แต่คุณจะต้องซื้อมัน
- ดูที่ลิงค์นี้ เพื่อวิพากษ์วิจารณ์การรักษาความปลอดภัยในการดำเนินการของ Microsoft PPTP ปัญหาไม่ได้การเข้ารหัสที่อ่อนแอ แต่การตรวจสอบอ่อนแอ ไมโครซอฟท์ได้นำออกใหม่โปรโตคอลการตรวจสอบการปรับปรุงที่ PoPToP interoperates กับ
- OpenVPN รุ่น 2.0beta $ N เพิ่งได้รับการปล่อยออกมาเราได้ติดตั้ง N = 5 ในรุ่นนี้เซิร์ฟเวอร์ที่มีสระว่ายน้ำของที่อยู่ IP ที่จะผลักดันให้กับลูกค้าที่ ที่อยู่ IP ของลูกค้าในท้องถิ่นที่ไม่ได้ใช้ โปรโตคอลเป็นภูมิคุ้มกันเพื่อ NAT รุ่น 1.x ต้องอุโมงค์แต่ละที่จะจัดแจงไว้ก่อนโดยใช้ที่อยู่ IP ของลูกค้า รวมถึง SuSE 9.1 - 1.6 OpenVPN ดังนั้นเรากระจาย RPM ของเราเอง 2.0
พูดคุยเพิ่มเติม
- อิสระ / WAN
- IPSec ถูกแบ่งออกเป็นสนับสนุน kernel สำหรับ AH และ ESP โปรโตคอล (พร้อมรหัส tunneling ที่เกี่ยวข้อง) และคีย์ (ISAKMP) daemon การกระจายอิสระ / WAN ให้เคอร์เนลโมดูลและ hacks SuSE 8.2 (kernel 2.4.20) รวมถึงเหล่านี้ (ยกเว้นเห็นข้างต้นเกี่ยวกับ ESP - in - UDP) IPSec เป็นหลักในขณะนี้ใน kernel เป็น 2.5 ภูต ISAKMP สำหรับอิสระ / WAN เรียกว่า"ดาวพลูโต" คนบอกว่าเป็นคู่แข่งที่"สัตว์คล้ายหมีเล็ก ๆ "(sic) เป็นเพียงที่ดีเป็นและง่ายต่อการตั้งค่า นักพัฒนาอิสระ / WAN จะไม่เห็นด้วย
- vtun
- ในขณะที่ vtun มีจำนวนของผู้ใช้และสมัครพรรคพวกเกี่ยวกับรายชื่อผู้รับจดหมายของนักพัฒนาที่อยู่ใน
เสร็จสิ้น
โหมดและการตอบสนองต่อการรักษาความปลอดภัยการวิพากษ์วิจารณ์ดังกล่าวข้างต้นไม่ได้รับการรวดเร็ว สำหรับเราแล้วปัญหาที่ใหญ่ที่สุดกับ vtun เป็นโอกาสในการชนกันของ IP ระยะไกลซึ่งไม่สามารถจัดการ natively มันเป็นที่มุ่งหมายสำหรับใช้กับการเชื่อมต่อไว - cipe
- เป็นที่กล่าวถึงมักจะเป็นคล้ายกับ vtun แต่
ดีขึ้น
หรือมากขึ้นเหมาะกับความจริง
sysadmins จะอธิบายโดยทั่วไปในบริบทของการเชื่อมต่อไว - OpenVPN
- มันเป็นมักจะกล่าวถึงในบริบทของ
คุณจริงๆควรที่จะดูที่ OpenVPN
. พวกเขากำลังถูกเราควรและจะ จะใช้ OpenSSL สำหรับ TLS การเข้ารหัสลับที่เกี่ยวกับช่องทางควบคุมป้องกันที่มีการเข้ารหัสช่องทางหลักผ่านทาง UDP และ TUN / TAP สำหรับขุดเจาะอุโมงค์ (หลักใน kernel ที่เขียนขึ้นสำหรับ vtun) สนับสนุน kernel ไม่มีอื่น ๆ เป็นสิ่งจำเป็น อ้างผลการดำเนินงาน : Pentium - 2 266 MHz, TLS/Blowfish/SHA1 ไฟล์ precompressed ขนาดใหญ่ที่อัตราการส่งข้อมูลคือ 1.455 Mby / วินาที ก็สามารถทำ chroot และ / หรือไม่ได้ทำงานเป็นรากและสามารถล็อคข้อมูลที่สำคัญในหน่วยความจำ รุ่น 1.x มีไว้สำหรับอุโมงค์จากจุดหนึ่งไปยังอีกจุดหนึ่งที่คงที่และจึงถูกออกแบบมาเพื่อมันจะต้องมีการกำหนดค่าส่วนบุคคลสำหรับผู้ใช้แต่ละ เวอร์ชัน 2.0 ประกอบด้วยRoad Warrior
การตั้งค่าผู้ใช้หลายคนที่เราต้องการ - PoPToP
- PPTP ได้รับการพัฒนาโดย Microsoft และเป็นปัจจุบัน natively ใน Windows ตั้งแต่ Win98 (แพทช์สำหรับ Win95) มันดูเหมือนถูกใช้โดยคนจำนวนมาก ถ้าเซสชัน PPTP มากกว่าหนึ่งจะต้องเข้าไปในกล่อง NAT เดียวกัน (ไม่ได้เป็นสถานการณ์ทั่วไป), มันต้องการการจัดการเป็นพิเศษ; iptables ลินุกซ์รวมถึงโมดูลช่วย PPTP Microsoft จะให้พนักงานของตนกับลูกค้า PPTP ซึ่งไม่เกินกว่าหนึ่งพื้นเมือง; มันสามารถใช้บัตรสมาร์ทสำหรับการตรวจสอบและปฏิเสธที่จะเชื่อมต่อจนกว่าเครื่องจะถึงวันที่แพทช์
สรุปผลการวิจัย
- อิสระ / WAN (Super)
- ซูเปอร์อิสระ / WAN มีจำนวนคุณสมบัติที่ดีมาก : Crypto เชื่อ; การกำหนดค่าฉันท์เดียวสามารถใช้บนเซิร์ฟเวอร์สำหรับอุโมงค์ทั้งหมดของผู้ใช้; การรักษาความปลอดภัยโดยอัตโนมัติสมาคมจัดตั้งขึ้นใหม่ถ้าแล็ปท็อปถูกระงับชั่วคราวและ reawakened; การตรวจสอบปลายทางคือ ทั้งที่มีประสิทธิภาพและมีความยืดหยุ่น เมื่อเร็ว ๆ นี้เคอร์เนล Harlech ถูกคอมไพล์กับ NAT traversal แพทช์ และที่คาดคะเนมัน interoperates กับ Win2k และ WinXP natively เว็บอินเตอร์เฟสในการผลิตที่เป็นใบรับรอง X.509 (still. .. ) ในการทดสอบเบต้า แมลงวันเท่านั้นที่เหลือในครีมที่มีในการกำหนดค่าเริ่มต้นในพื้นที่ห่างไกลจะใช้ที่อยู่ IP ที่สาธารณะ (192.168.1.100) เมื่อเชื่อมต่อระยะไกล งานวิจัยที่ได้ทำเพื่อเรียนรู้วิธีการกำหนดค่า WinXP สำหรับ IPSec และเป็นจริงทำงาน แต่ขั้นตอนจะน่ากลัวเพื่อที่จะดูไม่น่าเชื่อถือที่คาดหวังของผู้ใช้ที่จะทำมัน กว่าปีที่ Mathnet ใช้อิสระ / WAN เฉพาะเป็นวิธีการแก้ปัญหา VPN ของเรา แต่สำหรับในปัจจุบันให้ดูที่การอภิปรายของ OpenVPN ด้านล่าง
- vtun
- vtun พื้นเมืองต้องกำหนดค่าส่วนบุคคลของอุโมงค์ของลูกค้าแต่ละราย สคริปต์ได้ถูกสร้างขึ้นเพื่อ kludge ขึ้นกำหนดที่อยู่แบบไดนามิก ในขณะที่ประสบการณ์ของฉันกับ vtun เป็นสิ่งที่ดีผมกลัวว่ามันจะไม่แข็งแกร่งพอที่เราจะปรับใช้ในการผลิต
- cipe
- เพราะมันต้องตั้งค่าส่วนบุคคลของอุโมงค์ของลูกค้าแต่ละราย, cipe จะต้องมีการปฏิเสธ
- OpenVPN
- เราเป็นกำลังใจโดยรุ่น 1.x เพราะแต่ละคนมีอุโมงค์ที่จะกำหนดค่ารายบุคคล แต่เราได้พบว่า v2.0beta5 เป็นเรื่องง่ายที่จะตั้งค่าสำหรับลูกค้าทั่วไปและเซิร์ฟเวอร์ของเราและมีความน่าเชื่อถือโดยสิ้นเชิง ไคลเอ็นต์ของ Windows โดยเฉพาะอย่างยิ่งเป็นเลิศ Mathnet ได้ตัดสินเมื่อ OpenVPN เป็นไคลเอนต์ VPN ที่เราจะให้การสนับสนุนกับผู้ใช้ของเรา
- PoPToP
- PoPToP จะปรากฏขึ้นเพื่อให้การเข้ารหัสที่แข็งแกร่งและที่เคยเป็นโซลูชั่นเดียวที่ natively สามารถหลีกเลี่ยงการปะทะที่อยู่ IP ของลูกค้าระยะไกล (รุ่นใหม่ OpenVPN นอกจากนี้ยังสามารถทำเช่นนี้.) แต่การตรวจสอบจะกระทำผ่าน PPP, โดยเฉพาะการตรวจสอบไปยังตัวควบคุมโดเมนที่ใช้ Windows (ซึ่ง Mathnet ไม่ได้) สคริปเสริมที่กว้างขวางมีความจำเป็นที่ส่วนท้ายของเซิร์ฟเวอร์เพื่อให้การทำงานในการเชื่อมต่อเช่นการกรอกข้อมูลในตาราง ARP ด้วยตนเอง ดังนั้นจึงน่าเสียดายที่มี PoPToP ที่จะปฏิเสธ
0 comments:
Post a Comment