VPN WireGuard 1.0.0 در دسترس است

ارسال شده توسط نسخه برجسته VPN WireGuard 1.0.0، که نشان دهنده تحویل اجزای WireGuard در هسته اصلی بود لینوکس 5.6 و تثبیت توسعه. کد موجود در هسته لینوکس گذشت ممیزی امنیتی اضافی که توسط یک شرکت مستقل متخصص در چنین ممیزی ها انجام می شود. ممیزی هیچ مشکلی را نشان نداد.

از آنجایی که WireGuard اکنون در هسته اصلی لینوکس در حال توسعه است، یک مخزن برای توزیع ها و کاربرانی که به استفاده از نسخه های قدیمی هسته ادامه می دهند آماده شده است. wireguard-linux-compat.git. این مخزن شامل کد WireGuard پشتیبان شده و یک لایه compat.h برای اطمینان از سازگاری با هسته های قدیمی است. خاطرنشان می شود تا زمانی که توسعه دهندگان فرصت داشته باشند و کاربران به آن نیاز داشته باشند، نسخه جداگانه ای از پچ ها به صورت کاری پشتیبانی می شود. در شکل فعلی، یک نسخه مستقل از WireGuard را می توان با هسته های از استفاده کرد اوبونتو 20.04 и Debian 10 "Buster"، و همچنین به عنوان وصله برای هسته های لینوکس موجود است 5.4 и 5.5. توزیع با استفاده از جدیدترین هسته ها مانند Arch، Gentoo و
فدورا 32 می تواند از WireGuard با به روز رسانی هسته 5.6 استفاده کند.

فرآیند توسعه اصلی اکنون در مخزن انجام می شود wireguard-linux.git، که شامل درخت کامل هسته لینوکس با تغییرات پروژه Wireguard است. وصله های این مخزن برای گنجاندن در هسته اصلی بررسی می شوند و به طور منظم به شاخه های net/net-next ارسال می شوند. توسعه ابزارها و اسکریپت های اجرا شده در فضای کاربر، مانند wg و wg-quick، در مخزن انجام می شود. wireguard-tools.git، که می تواند برای ایجاد بسته ها در توزیع ها استفاده شود.

یادآوری می کنیم که VPN WireGuard بر اساس روش های رمزگذاری مدرن پیاده سازی شده است، عملکرد بسیار بالایی را ارائه می دهد، استفاده آسان، عاری از عوارض است و خود را در تعدادی از استقرارهای بزرگ که حجم زیادی از ترافیک را پردازش می کنند، ثابت کرده است. این پروژه از سال 2015 در حال توسعه است، ممیزی شده است و تایید رسمی روش های رمزگذاری مورد استفاده پشتیبانی WireGuard قبلاً در NetworkManager و systemd یکپارچه شده است و وصله های هسته در توزیع های پایه گنجانده شده است. دبیان ناپایدار است, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, زیرگرافی и ALT.

WireGuard از مفهوم مسیریابی کلید رمزگذاری استفاده می کند که شامل اتصال یک کلید خصوصی به هر رابط شبکه و استفاده از آن برای اتصال کلیدهای عمومی است. کلیدهای عمومی برای برقراری ارتباط به روشی مشابه SSH رد و بدل می شوند. برای مذاکره با کلیدها و اتصال بدون اجرای دیمون جداگانه در فضای کاربر، مکانیسم Noise_IK از چارچوب پروتکل نویزشبیه به نگهداری authorized_keys در SSH. انتقال داده ها از طریق کپسوله سازی در بسته های UDP انجام می شود. از تغییر آدرس IP سرور VPN (رومینگ) بدون قطع اتصال با پیکربندی مجدد مشتری خودکار پشتیبانی می کند.

برای رمزگذاری استفاده می شود رمز جریان چاچا20 و الگوریتم احراز هویت پیام (MAC) Poly1305طراحی شده توسط دانیل برنشتاین (دانیل جی. برنشتاین) تانیا لانگ
(تانجا لانگ) و پیتر شوابه. ChaCha20 و Poly1305 به‌عنوان آنالوگ‌های سریع‌تر و ایمن‌تر AES-256-CTR و HMAC قرار می‌گیرند که اجرای نرم‌افزاری آن‌ها امکان دستیابی به زمان اجرای ثابت را بدون استفاده از پشتیبانی سخت‌افزاری خاص فراهم می‌کند. برای تولید یک کلید مخفی مشترک، از پروتکل Diffie-Hellman منحنی بیضوی در پیاده سازی استفاده می شود. منحنی 25519، همچنین توسط دانیل برنشتاین پیشنهاد شده است. الگوریتم مورد استفاده برای هش کردن است BLAKE2s (RFC7693).

زیر قدیمی آزمایش کردن Performance WireGuard در مقایسه با OpenVPN (AES 3.9 بیتی با HMAC-SHA3.8-256) 2 برابر توان عملیاتی و 256 برابر پاسخگویی بیشتر را نشان داد. در مقایسه با IPsec (256 بیت ChaCha20+Poly1305 و AES-256-GCM-128)، WireGuard بهبود عملکرد جزئی (13-18٪) و تاخیر کمتر (21-23٪) را نشان می دهد. نتایج آزمایش ارسال شده در وب سایت پروژه، اجرای مستقل قدیمی WireGuard را پوشش می دهد و به عنوان کیفیت ناکافی بالا علامت گذاری شده است. از زمان آزمایش، کد WireGuard و IPsec بیشتر بهینه شده است و اکنون سریعتر است. آزمایش کامل تری که اجرای ادغام شده در هسته را پوشش دهد هنوز انجام نشده است. با این حال، اشاره شده است که WireGuard همچنان در برخی شرایط به دلیل چند رشته ای بودن، بهتر از IPsec عمل می کند، در حالی که OpenVPN بسیار کند باقی می ماند.

VPN WireGuard 1.0.0 در دسترس است

منبع: opennet.ru

اضافه کردن نظر