У ядро ​​NetBSD додано підтримку VPN WireGuard

Розробники проекту NetBSD повідомили про включення до основного складу ядра NetBSD драйвера wg з реалізацією протоколу WireGuard. 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, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Підграф и ALT.

У WireGuard застосовується концепція маршрутизації за ключами шифрування, яка передбачає прив'язку до кожного мережного інтерфейсу закритого ключа та застосування для зв'язування відкритих ключів. Обмін відкритими ключами для встановлення з'єднання здійснюється за аналогією з SSH. Для узгодження ключів та з'єднання без запуску окремого демона у просторі користувача застосовується механізм Noise_IK з Noise Protocol Framework, схожий на підтримку authorized_keys у SSH. Передача даних здійснюється через інкапсуляцію пакети UDP. Підтримується зміна IP-адреси VPN-сервера (роумінг) без розриву з'єднання з автоматичним перенастроюванням клієнта.

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

Джерело: opennet.ru

Додати коментар або відгук