FreeBSD به عنوان یک سیستم برای ساخت سرورهای اینترنت و اینترانت به خوبی تثبیت شده است. خدمات شبکه نسبتا قابل اعتماد و مدیریت حافظه کارآمد را ارائه می دهد.
به تازگی اطلاعاتی منتشر شد که درخت FreeBSD با آن اصلاح شده استn یک پیاده سازی جدید deVPN WireGuard بر اساس کد ماژول هسته که به طور مشترک توسط تیم های توسعه هسته FreeBSD و WireGuard با ورودی نویسنده VPN WireGuard و یک توسعه دهنده معروف GDB و FreeBSD تهیه شده است.
قبل از پذیرش کد، بررسی کامل تغییرات با حمایت بنیاد FreeBSD انجام شد که طی آن تعامل درایور با بقیه زیرسیستم های هسته و امکان استفاده از رمزنگاری های اولیه ارائه شده نیز مورد تجزیه و تحلیل قرار گرفت.
برای استفاده از الگوریتم های رمزنگاری مورد نیاز درایور، API زیرسیستم رمزنگاری هسته FreeBSD را گسترش داد، پیوندی اضافه شد که به الگوریتمهایی که در FreeBSD پشتیبانی نمیشوند اجازه میدهد از طریق API استاندارد Cryptographic، با استفاده از پیادهسازی کتابخانه libsodium از الگوریتمهای لازم استفاده شوند.
از الگوریتم های ادغام شده در کنترل شدهr، فقط کد محاسبه هش Blake2 باقی می ماند، از آنجایی که اجرای این الگوریتم ارائه شده توسط FreeBSD به یک اندازه هش ثابت محدود شده است.
علاوه بر این، در طول فرآیند بررسی، بهینه سازی کد انجام شد، که امکان افزایش کارایی توزیع بار در CPUهای چند هسته ای را فراهم می کند (از برقراری تعادل یکنواخت رمزگذاری بسته و وظیفه رمزگشایی اتصال به هسته های CPU اطمینان حاصل می کند).
در نتیجه، پردازش بسته سربار پیاده سازی تقریبی درایور برای لینوکس. این کد همچنین امکان استفاده از درایور ossl را برای سرعت بخشیدن به عملیات رمزگذاری فراهم می کند.
برخلاف تلاش قبلی برای ادغام WireGuard در FreeBSD، پیاده سازی جدید از ابزار stock wg به جای نسخه اصلاح شده ifconfig استفاده می کند، که اجازه راه اندازی یکپارچه بین لینوکس و FreeBSD را می داد. ابزار wg و همچنین درایور در منابع FreeBSD گنجانده شده است که با تغییر مجوز در کد wg امکان پذیر شده است (کد اکنون تحت مجوز MIT و GPL در دسترس است).
آخرین تلاش برای گنجاندن WireGuard در FreeBSD در سال 2020 انجام شد، اما به یک رسوایی ختم شد که در نتیجه کد اضافه شده قبلی به دلیل کیفیت پایین، مدیریت بی دقت بافر، استفاده از خرد به جای چک، اجرای ناقص پروتکل و نقض مجوز GPL حذف شد.
برای کسانی که هنوز نمی دانند VPN WireGuard، آنها باید این را بدانند این بر اساس روش های رمزگذاری مدرن پیاده سازی شده است، عملکرد بسیار بالایی را ارائه می دهد، استفاده از آن آسان، بدون پیچیدگی است و ارزش خود را در تعدادی از استقرارهای بزرگ که حجم زیادی از ترافیک را مدیریت می کنند، ثابت کرده است. این پروژه از سال 2015 در حال توسعه است، ممیزی رسمی و تأیید روش های رمزگذاری مورد استفاده را گذراند. WireGuard از مفهوم مسیریابی کلید رمزگذاری استفاده می کند که شامل اتصال یک کلید خصوصی به هر رابط شبکه و استفاده از کلیدهای عمومی برای اتصال است.
مبادله کلیدهای عمومی برای برقراری ارتباط مشابه SSH است. برای مذاکره با کلیدها و اتصال بدون اجرای شبح فضای کاربر جداگانه، از مکانیسم Noise_IK Noise Protocol Framework استفاده میشود، شبیه به نگه داشتن کلیدهای autorized در SSH. انتقال داده ها با کپسوله کردن در بسته های UDP انجام می شود. پشتیبانی از تغییر آدرس IP سرور VPN (رومینگ) بدون قطع ارتباط با پیکربندی مجدد مشتری خودکار.
رمزگذاری از رمز جریان ChaCha20 و الگوریتم احراز هویت پیام Poly1305 استفاده می کند. (MAC) توسط Daniel J. Bernstein، Tanja Lange و Peter Schwabe توسعه یافته است. ChaCha20 و Poly1305 بهعنوان آنالوگهای سریعتر و ایمنتر AES-256-CTR و HMAC قرار میگیرند، که اجرای نرمافزار آنها امکان دستیابی به زمان اجرای ثابت را بدون نیاز به پشتیبانی سختافزاری خاص میدهد. پروتکل منحنی بیضوی Diffie-Hellman در پیاده سازی Curve25519 که توسط دانیل برنشتاین نیز پیشنهاد شده است، برای تولید یک کلید مخفی مشترک استفاده می شود. برای هش از الگوریتم BLAKE2s (RFC7693) استفاده می شود.
در نهایت، لازم به ذکر است که در مورد این اصلاحیه که به محض پذیرش یک درایور در FreeBSD (sys/dev/wg)، از این پس در مخزن FreeBSD توسعه یافته و نگهداری خواهد شد.
اگر علاقه مند به دانستن بیشتر در مورد آن هستید، می توانید با جزئیات مشورت کنید در لینک زیر.
اولین کسی باشید که نظر