5.21.2009

นานาสาระกับ Virtual Private Network

นานาสาระกับ Virtual Private Network

อินเทอร์เน็ตซึ่งเป็นเครือข่ายสื่อสารแบบ WAN ที่มีค่าใช้จ่ายต่ำกว่าและมีพื้นที่ครอบคลุมทั่วโลกมากกว่าการใช้สีสไลน์, เฟรมรีเลย์ หรือ ATM แต่ไม่สามารถประกันด้านความปลอดภัย, แบนด์วิดธ์ หรือ Quality of Service (QoS) โดยเฉพาะอย่างยิ่งในระบบไพรเวตเน็ตเวิร์ก อีกทั้งระบบอินเทอร์เน็ตยังสนับสนุนเฉพาะโพรโตคอล TCP/IP เพียงอย่างเดียว ในขณะที่เครือข่ายส่วนใหญ่มักประกอบด้วยโพรโตคอลต่าง ๆ มากมาย ผู้ให้บริการอินเทอร์เน็ต (ISO) ที่สนับสนุนหลากหลายโพรโตคอลของไพรเวตเน็ตเวิร์กในราคาที่ไม่แพงและมีบริการครอบคลุมเช่นเดียวกับอินเทอร์เน็ต ให้บริการในชื่อของเวอร์ชวลไพรเวตเน็ตเวิร์ก (Virtual Private Network - VPN) หรือเอ็กซ์ทราเน็ต ในปัจจุบันเทคโนโลยีนี้ถูกพิจารณาให้เป็นจุดเริ่มต้นของการขยายสู่ไพรเวตเน็ตเวิร์กสำหรับการเชื่อมต่อโดยการหมุนโทรศัพท์ แต่การเชื่อมต่อระหว่างคู่ค้าธุรกิจและลูกค้าก็เป็นจุดสำคัญอีกจุดหนึ่งในการประยุกต์ใช้ และส่วนที่สำคัญอีกส่วนหนึ่งคือ VPN อาจต้องใช้ในพื้นที่ที่การเชื่อมต่อไพรเวตเน็ตเวิร์กทำได้ แต่ไม่คุ้มค่า ทำให้ผู้ผลิตและผู้ให้บริการบางราย ได้มีการพูดคุยกันมากขึ้นถึงแนวความคิดในการใช้ VPN แทนเครือข่ายส่วนตัวที่มีอยู่แล้ว
VPN ทำงานอย่างไร


สถาปัตยกรรมหลักในการทำทันแนล (tunnel) มีสองแบบคือ client-initiated กับ client-transparent โดยการทำทันแนลแบบ client-initiated ต้องการทันแนลซอฟต์แวร์ทั้งฝั่งไคลเอ็นต์ และฝั่งเซิร์ฟเวอร์ (หรือเกตเวย์) ส่วนการทำทันแนลแบบ client-transparent โดยทั่วไปจะทำอยู่ที่ไซต์ส่วนกลางขององค์กร หรือทำให้อยู่ที่จุดเชื่อมต่อของ ISP ซึ่งให้บริการแก่ไซต์ส่วนกลางขององค์กรก็ได้ ด้วยการใช้ไคลเอ็นต์ซอฟต์แวร์ และทันแนลเซิร์ฟเวอร์ที่ไซต์ส่วนกลางขององค์กร ทำให้ ISP ไม่จำเป็นต้องสนับสนุนการทำทันแนลแต่อย่างใด โดยไคลเอ็นต์ซอฟต์แวร์ และทันแนลเซิร์ฟเวอร์จะเริ่มสร้างทันแนล


ต่อจากนั้นจะตรวจสอบโดยใช้หมายเลขยูสเซอร์และรหัสผ่าน ในการติดต่อขั้นนี้ก็สามารถเข้ารหัสได้ เมื่อเชื่อมต่อเรียบร้อยแล้วการติดต่อสื่อสารสามารถทำได้โดยเสมือนว่าไม่มี ISP เป็นตัวเชื่อมการติดต่อ
อีกวิธีหนึ่งหากต้องการเชื่อมต่อแบบทรานส์พาเรนต์ผ่านไปยังไคลเอ็นต์ที่จุดเชื่อมต่อของ ISP จำเป็นต้องมีทันแนลอีนาเบิลแอคเซสเซิร์ฟเวอร์ (tunnel-enabled access server) และบางทีอาจรวมไปถึงเราท์เตอร์ด้วย เริ่มจากไคลเอ็นต์หมุนโทรศัพท์ไปยังแอคเซสเซิร์ฟเวอร์ (โดยแอคเซสเซิร์ฟเวอร์สามารถแยกแยะโดยใช้หมายเลขยูสเซอร์ หรือให้ยูสเซอร์เลือกจากเมนู) เพื่อเชื่อมต่อแบบทันแนลไปยังปลายทาง หลังจากนั้นแอคเซสเซิร์ฟเวอร์จะสร้างการเชื่อมต่อแบบทันแนลกับทันแนลเซิร์ฟเวอร์แล้ว ตรวจสอบโดยใช้รหัสผ่าน แล้วไคลเอ็นต์ก็สามารถสร้างเซลชันโดยตรงกับทันแนลเซิร์ฟเวอร์ผ่านทางทันแนลดังกล่าว เสมือนว่าทั้งสองเชื่อมต่อกันโดยตรง ในขณะที่วิธีนี้มีข้อได้เปรียบตรงที่ไม่ต้องการซอฟต์แวร์พิเศษบนฝั่งไคลเอ็นต์ แต่ไคลเอ็นต์ต้องหมุนโทรศัพท์ไปยังแอคเซสเซิร์ฟเวอร์ที่กำหนดไว้เท่านั้น
สำหรับสร้างทันแนลที่มีให้เลือกใช้คือ
1. Point-to-Point Tunneling Protocol (PPTP)

2. Layer Two Forwarding (L2F) ประการสำคัญที่แตกต่างกันของสองโพรโตคอลนี้คือ PPTP จะสร้างทันแนลโดยห่อ PPP แพ็กเกตไว้ใน IP ซึ่งเป็นโพรโตคอลที่ทำงานในเลเยอร์ที่สาม ในขณะที่ L2F ทำงานในเลเยอร์ที่สอง โดยใช้พวกเฟรมรีเลย์หรือ ATM ใช้ในการทำทันแนล


PPTP สามารถใช้เป็นแบบ client-initiated (ซึ่งทรานส์พาเรนต์สำหรับ ISP) หรือใช้เป็นแบบ client-transparent ก็ได้ทั้งสองแบบนี้ในปัจจุบันมีใช้เฉพาะในวินโดว์ส NT เท่านั้น ซึ่งต้องการทั้ง NT ไคลเอ็นต์และ NT เซิร์ฟเวอร์ ในทางตรงกันข้าม L2F ต้องการการสนับสนุนในแอคเซสเซิร์ฟเวอร์และในเราท์เตอร์ ดังนั้นในการใช้งาน ISP ต้องสนับสนุน L2F ด้วยระบบการป้องกันของ L2F มีการจัดเตรียมบางอย่างที่ PPTP ไม่มี อย่างเช่น การพิสูจน์ตนหรือออเทนทิเคชันของปลายทั้งสองข้างของทันแนล (แอคเซสเซิร์ฟเวอร์และทันแนลเซิร์ฟเวอร์) เป็นต้น


ข้อได้เปรียบหลักของ PPTP คือสนับสนุนทั้งไคลเอ็นต์ และทันแนลเซิร์ฟเวอร์สำหรับ PPTP มีมาพร้อมกับวินโดว์ส NT 4.0 และในส่วนของวินโดว์ส 95 กำลังอยู่ในช่วงการพัฒนาข้อได้เปรียบอื่น ๆ คือ PPTP สนับสนุนการทำโฟลว์คอนโทรลทำให้ทั้งไคลเอ็นต์และเซิร์ฟเวอร์ปลอดภัยจากเหตุการณ์ข้อมูลโอเวอร์โฟลว์, ช่วยเพิ่มประสิทธิภาพโดยลดการดรอปแพ็กเกตลง รวมไปถึงการส่งซ้ำด้วย อย่างไรก็ตาม PPTP ก็ยังคงต้องการ IP (แม้ว่าจะสามารถสร้างทันแนลให้แก่ IPX และ NetBEUI ได้เช่นเดียวกับ PPP) และปัจจุบันใน PPTP ยังไม่มีความสามารถออเทนทิเคตของปลายทั้งสองด้านของทันแนลจึงจำเป็นต้องใช้ความสามารถของ PPP ในการตรวจสอบ


การรวมข้อดีของทั้งสองโพรโตคอลเข้าด้วยกันในชื่อ "Layer Two Tunneling Protocol (L2TP)" ซึ่งในด้านการจัดการความปลอดภัยใช้ Secure IP หรือ IPSEC เป็นพื้นฐานในการเข้ารหัสในการเชื่อมต่อระหว่างปลายทั้งสองของ L2TP (มาตรฐานการเข้ารหัสยังไม่มีใน PPTP หรือใน L2F) นอกจากนั้น L2TP ยังสนับสนุนการทำทันแนลหลาย ๆ อันพร้อมกันบนไคลเอ็นต์เพียงตัวเดียว ซึ่งคุณสมบัตินี้ยิ่งทวีความสำคัญมากขึ้นในอนาคต เมื่อทันแนลสามารถสนับสนุนการจองแบนด์วิดธ์และ QoS


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


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


ไพร์วอลล์ใด ๆ ก็ตามสามารถกำหนดให้ส่งผ่านทราฟฟิกของ SOCKS แบบทรานส์พาเรนต์ได้
เชื่อมต่อกับคู่ค้าด้วย VPN


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


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

VPN แบบหลายผู้ให้บริการ

เมื่อโพรโตคอล IPSEC, L2TP และ SOCKS สมบูรณ์ ISP ก็สามารถเชื่อมต่อแบบทันแนลได้ง่ายขึ้น เพราะมีข้อตกลงในการเชื่อมต่อที่แน่นอนทำให้มั่นใจในเรื่องความสามารถในการใช้งานได้ และ QoS นอกจากนั้น ISP ยังสามารถให้บริการ VPN ที่ครอบคลุมหลาย ๆ ผู้ให้บริการ และยังรับประกันการบริการได้เช่นเดียวการให้บริการจากผู้ให้บริการ VPN เพียงรายเดียว

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


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

นอกจากนั้นยังสามารถใช้ระบบ MobileVPN หรือ PartnerVPN ในการสร้างทันแนลแบบ Client-intiated ผ่านโพรโตคอล SOCKS โดยที่ MobileVPN สามารถเชื่อมต่อระหว่างหนึ่งไคลเอ็นต์ของวินโดว์สหรือยูนิกซ์ไปยังยูนิกซ์หรือ NT เซิร์ฟเวอร์ที่อยู่หลังไฟร์วอลล์ในไซต์กลางของบริษัท ส่วนในระบบ PartnerVPN จะใช้ในการเชื่อมต่อเครือข่าย LAN สองเครือข่ายเข้าด้วยกัน โดยสร้างทันแนลระหว่างโฮสต์ยูนิกซ์หรือ NT เซิร์ฟเวอร์ของทั้งสองเครือข่ายเข้าด้วยกัน ซึ่งทำงานแบบไคลเอ็นต์/เซิร์ฟเวอร์
อย่างไรก็ตามสำหรับ VPN ที่ทำงานอยู่บนอินเทอร์เน็ต เมื่อเทียบกับพื้นที่ที่ครอบคลุม, ความปลอดภัย และเครือข่ายข้อมูลที่มีคุณภาพสูง ซึ่งสามารถป้องกันการโจมตีในรูปแบบต่าง ๆ ได้ดีกว่าการใช้ไพรเวตเน็ตเวิร์ก (ยกเว้นการโจมตีที่มุ่งทำลายเซอร์วิส และการ ping ที่มีความยาวผิดปกติ) ดังนั้นเราจึงต้องหาจุดสมดุลที่คุ้มค่าที่สุดระหว่างพื้นที่ครอบคลุม, ความปลอดภัย, คุณภาพ, และค่าใช้จ่าย โดยต้องพิจารณาจากความหลากหลายของบริการและตัวระบบที่ยิ่งจะมีการเปลี่ยนแปลงซับซ้อนยิ่งขึ้น


เรียบเรียงโดย : ชัยรัตน์ โล้วโสภณกุล
ที่มา : นิตยสาร BYTE