มี OpenVPN 2.6.0 แล้ว

หลังจากสองปีครึ่งนับตั้งแต่การเผยแพร่สาขา 2.5 ก็ได้มีการเตรียมการเปิดตัว OpenVPN 2.6.0 ซึ่งเป็นแพ็คเกจสำหรับการสร้างเครือข่ายส่วนตัวเสมือนที่ช่วยให้คุณสามารถจัดระเบียบการเชื่อมต่อที่เข้ารหัสระหว่างเครื่องไคลเอนต์สองเครื่องหรือจัดเตรียมเซิร์ฟเวอร์ VPN แบบรวมศูนย์ สำหรับการดำเนินงานพร้อมกันของลูกค้าหลายราย รหัส OpenVPN ได้รับการเผยแพร่ภายใต้ใบอนุญาต GPLv2 แพ็คเกจไบนารี่สำเร็จรูปถูกสร้างขึ้นสำหรับ Debian, Ubuntu, CentOS, RHEL และ Windows

นวัตกรรมหลัก:

  • ให้การสนับสนุนการเชื่อมต่อไม่จำกัดจำนวน
  • รวมโมดูลเคอร์เนล ovpn-dco ซึ่งช่วยให้คุณสามารถเพิ่มความเร็ว VPN ได้อย่างมาก การเร่งความเร็วทำได้โดยการย้ายการดำเนินการเข้ารหัส การประมวลผลแพ็กเก็ต และการจัดการช่องทางการสื่อสารทั้งหมดไปยังฝั่งเคอร์เนล Linux ซึ่งช่วยลดค่าใช้จ่ายที่เกี่ยวข้องกับการสลับบริบท ทำให้สามารถปรับการทำงานให้เหมาะสมโดยการเข้าถึง API เคอร์เนลภายในโดยตรง และกำจัดการถ่ายโอนข้อมูลที่ช้าระหว่างเคอร์เนล และพื้นที่ผู้ใช้ (การเข้ารหัส การถอดรหัส และการกำหนดเส้นทางจะดำเนินการโดยโมดูลโดยไม่ส่งการรับส่งข้อมูลไปยังตัวจัดการในพื้นที่ผู้ใช้)

    ในการทดสอบที่ดำเนินการ เมื่อเปรียบเทียบกับการกำหนดค่าตามอินเทอร์เฟซ Tun การใช้โมดูลบนฝั่งไคลเอ็นต์และเซิร์ฟเวอร์โดยใช้การเข้ารหัส AES-256-GCM ทำให้สามารถบรรลุปริมาณงานเพิ่มขึ้น 8 เท่า (จาก 370 Mbit/s ถึง 2950 Mbit/s) เมื่อใช้โมดูลเฉพาะบนฝั่งไคลเอ็นต์ ปริมาณงานเพิ่มขึ้นสามเท่าสำหรับการรับส่งข้อมูลขาออก และไม่เปลี่ยนแปลงสำหรับการรับส่งข้อมูลขาเข้า เมื่อใช้โมดูลเฉพาะบนฝั่งเซิร์ฟเวอร์ ปริมาณงานจะเพิ่มขึ้น 4 เท่าสำหรับการรับส่งข้อมูลขาเข้า และ 35% สำหรับการรับส่งข้อมูลขาออก

  • คุณสามารถใช้โหมด TLS กับใบรับรองที่ลงนามเองได้ (เมื่อใช้ตัวเลือก "-peer-fingerprint" คุณสามารถละเว้นพารามิเตอร์ "-ca" และ "-capath" ได้ และหลีกเลี่ยงการเรียกใช้เซิร์ฟเวอร์ PKI ที่ใช้ Easy-RSA หรือ ซอฟต์แวร์ที่คล้ายกัน)
  • เซิร์ฟเวอร์ UDP ใช้โหมดการเจรจาการเชื่อมต่อแบบอิงคุกกี้ ซึ่งใช้คุกกี้แบบ HMAC เป็นตัวระบุเซสชัน ทำให้เซิร์ฟเวอร์ดำเนินการตรวจสอบแบบไร้สถานะได้
  • เพิ่มการสนับสนุนสำหรับการสร้างด้วยไลบรารี OpenSSL 3.0 เพิ่มตัวเลือก "--tls-cert-profile insecure" เพื่อเลือกระดับความปลอดภัย OpenSSL ขั้นต่ำ
  • เพิ่มคำสั่งควบคุมใหม่ Remote-entry-count และ Remote-entry-get เพื่อนับจำนวนการเชื่อมต่อภายนอกและแสดงรายการเหล่านั้น
  • ในระหว่างกระบวนการข้อตกลงหลัก กลไก EKM (Exported Keying Material, RFC 5705) เป็นวิธีที่แนะนำในการรับวัสดุการสร้างคีย์ แทนที่จะเป็นกลไก PRF เฉพาะของ OpenVPN หากต้องการใช้ EKM จำเป็นต้องมีไลบรารี OpenSSL หรือ mbed TLS 2.18+
  • มีความเข้ากันได้กับ OpenSSL ในโหมด FIPS ซึ่งอนุญาตให้ใช้ OpenVPN บนระบบที่ตรงตามข้อกำหนดด้านความปลอดภัย FIPS 140-2
  • mlock ใช้การตรวจสอบเพื่อให้แน่ใจว่ามีหน่วยความจำเพียงพอ เมื่อมี RAM น้อยกว่า 100 MB setrlimit() จะถูกเรียกเพื่อเพิ่มขีดจำกัด
  • เพิ่มตัวเลือก “--peer-fingerprint” เพื่อตรวจสอบความถูกต้องหรือการผูกใบรับรองโดยใช้ลายนิ้วมือตามแฮช SHA256 โดยไม่ต้องใช้ tls-verify
  • สคริปต์มีตัวเลือกในการตรวจสอบสิทธิ์แบบเลื่อนออกไป ซึ่งใช้งานโดยใช้ตัวเลือก "-auth-user-pass-verify" เพิ่มการสนับสนุนสำหรับการแจ้งลูกค้าเกี่ยวกับการตรวจสอบสิทธิ์ที่รอดำเนินการเมื่อใช้การตรวจสอบสิทธิ์แบบเลื่อนลงในสคริปต์และปลั๊กอิน
  • เพิ่มโหมดความเข้ากันได้ (-compat-mode) เพื่ออนุญาตการเชื่อมต่อกับเซิร์ฟเวอร์รุ่นเก่าที่ใช้ OpenVPN 2.3.x หรือเวอร์ชันเก่ากว่า
  • ในรายการที่ส่งผ่านพารามิเตอร์ “--data-ciphers” อนุญาตให้ใช้คำนำหน้า “?” ได้ เพื่อกำหนดรหัสเสริมที่จะใช้เฉพาะเมื่อรองรับในไลบรารี SSL
  • เพิ่มตัวเลือก “-session-timeout” ซึ่งคุณสามารถจำกัดเวลาเซสชันสูงสุดได้
  • ไฟล์การกำหนดค่าอนุญาตให้ระบุชื่อและรหัสผ่านโดยใช้แท็ก .
  • ความสามารถในการกำหนดค่า MTU ของลูกค้าแบบไดนามิกนั้นมีให้โดยอิงตามข้อมูล MTU ที่ส่งโดยเซิร์ฟเวอร์ หากต้องการเปลี่ยนขนาด MTU สูงสุด ได้มีการเพิ่มตัวเลือก “—tun-mtu-max” (ค่าเริ่มต้นคือ 1600)
  • เพิ่มพารามิเตอร์ "--max-packet-size" เพื่อกำหนดขนาดสูงสุดของแพ็กเก็ตควบคุม
  • ลบการสนับสนุนสำหรับโหมดเปิด OpenVPN ผ่าน inetd ตัวเลือก ncp-disable ถูกลบออกแล้ว ตัวเลือกแฮชยืนยันและโหมดคีย์คงที่เลิกใช้งานแล้ว (คงเหลือเพียง TLS เท่านั้น) โปรโตคอล TLS 1.0 และ 1.1 เลิกใช้แล้ว (พารามิเตอร์ tls-version-min ถูกตั้งค่าเป็น 1.2 โดยค่าเริ่มต้น) การใช้งานตัวสร้างตัวเลขสุ่มหลอกในตัว (-prng) ได้ถูกลบออกแล้ว ควรใช้การใช้งาน PRNG จากไลบรารี crypto mbed TLS หรือ OpenSSL การสนับสนุน PF (การกรองแพ็คเก็ต) ถูกยกเลิกแล้ว ตามค่าเริ่มต้น การบีบอัดจะถูกปิดใช้งาน (--allow-compression=no)
  • เพิ่ม CHACHA20-POLY1305 ในรายการรหัสเริ่มต้น

ที่มา: opennet.ru

เพิ่มความคิดเห็น