Добавена поддръжка на VPN WireGuard в ядрото на NetBSD

Разработчиците на проекта NetBSD съобщиха включването на драйвера wg с реализация на протокола WireGuard в основното ядро на NetBSD. NetBSD стана третата операционна система след Linux и OpenBSD с интегрирана поддръжка на WireGuard. Също така са предложени допълнителни команди за конфигуриране на VPN — wg-keygen и wgconfig. В конфигурацията на ядрото по подразбиране (GENERIC) драйверът все още не е активиран и изисква явно указване в настройките на „pseudo-device wg“.

Допълнително може да се отбележи публикация коригираща актуализация на пакета wireguard-tools 1.0.20200820, включваща работещи в потребителското пространство утилити, като wg и wg-quick. В новото издание е подготвена IPC за предстоящата поддръжка на WireGuard в операционната система FreeBSD. Осуществено е разделение на специфичен за различни платформи код в различни файлове. В unit-файла за systemd е добавена поддръжка на команда „reload“, което позволява изпълняването на конструкции от вида „systemctl reload wg-quick at wgnet0“.

Да напомня, че VPN WireGuard е реализиран на основата на съвременни методи за криптиране, предоставя изключително висока производителност, лесен е за ползване, лишен от усложнения и е показал отлични резултати в редица големи внедрения, обработващи големи обеми трафик. Проектът се развива от 2015 година, премина през одит и формална верификация използваните методи за криптиране. Поддръжката на WireGuard вече е интегрирана в NetworkManager и systemd, а пачовете за ядрото влизат в базовите дистрибуции Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph и ALT.

В WireGuard се използва концепция за маршрутизиране по ключове за криптиране, при която всеки мрежов интерфейс е свързан с частен ключ и се прилага за свързването на публични ключове. Обменът на публични ключове за установяване на връзка става по аналогия с SSH. За съгласуване на ключовете и свързването без стартиране на отделен демон в пространството на потребителя се прилага механизмът Noise_IK от Noise Protocol Framework, подобно на поддържането на authorized_keys в SSH. Предаването на данни се извършва чрез инкапсулация в UDP пакети. Поддържа се смяна на IP адреса на VPN сървъра (руминг) без прекъсване на връзката с автоматично пренастройване на клиента.

За криптиране се използва потоков шифър ChaCha20 и алгоритъм за удостоверяване на съобщения (MAC) Poly1305, разработени от Даниел Бернщайн (Daniel J. Bernstein), Таня Ланге
(Tanja Lange) и Петер Швабе (Peter Schwabe). ChaCha20 и Poly1305 са позиционирани като по-бързи и безопасни аналози на AES-256-CTR и HMAC, като софтуерната им реализация позволява постигане на фиксирано време за изпълнение без необходимост от специализирана хардуерна поддръжка. За генериране на съвместния секретен ключ се използва протоколът на Дифи-Хелман на елиптични криви в реализация, Curve25519, предложена също от Даниел Бернщейн. За хеширане се използва алгоритъм BLAKE2s (RFC7693).

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster