ДоступСн VPN WireGuard 1.0.0

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ выпуск VPN WireGuard 1.0.0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ» собой поставку ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² WireGuard Π² основном составС ядра Linux 5.6 ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹ΠΉ Π² состав ядра Linux ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΡˆΡ‘Π» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°ΡƒΠ΄ΠΈΡ‚ бСзопасности, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ нСзависимой Ρ„ΠΈΡ€ΠΌΠΎΠΉ, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉΡΡ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ…. Аудит Π½Π΅ выявил ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Π’Π°ΠΊ ΠΊΠ°ΠΊ WireGuard Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ развиваСтся Π² основном составС ядра Linux, для дистрибутивов ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‰ΠΈΡ… использованиС старых вСрсий ядра, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ wireguard-linux-compat.git. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ бэкпортированный ΠΊΠΎΠ΄ WireGuard ΠΈ слой compat.h для обСспСчСния совмСстимости со старыми ядрами. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ° Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ обособлСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ Π²ΠΈΠ΄Π΅. Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ обособлСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ WireGuard ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ядрами ΠΈΠ· Ubuntu 20.04 ΠΈ Debian 10 «Buster», Π° Ρ‚Π°ΠΊΠΆΠ΅ доступСн Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ для ядСр Linux 5.4 ΠΈ 5.5. Дистрибутивы, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ самыС свСТиС ядра, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Arch, Gentoo ΠΈ
Fedora 32, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования WireGuard вмСстС с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ядра 5.6.

Основной процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ вСдётся Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ wireguard-linux.git, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ядра Linux с измСнСниями ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Wireguard. ΠŸΠ°Ρ‚Ρ‡ΠΈ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ рСпозитория Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² основноС ядро ΠΈ рСгулярно ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒΡΡ Π² Π²Π΅Ρ‚ΠΊΠΈ net/net-next. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° запускаСмых Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ ΠΈ скриптов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ wg ΠΈ wg-quick, вСдётся Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ wireguard-tools.git, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² дистрибутивах.

Напомним, Ρ‡Ρ‚ΠΎ 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).

ΠŸΡ€ΠΈ старом тСстировании ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ WireGuard продСмонстрировал Π² 3.9 Ρ€Π°Π·Π° Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΈ Π² 3.8 Ρ€Π°Π· Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с OpenVPN (256-bit AES c HMAC-SHA2-256). По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с IPsec (256-bit ChaCha20+Poly1305 ΠΈ AES-256-GCM-128) Π² WireGuard Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ нСбольшоС ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (13-18%) ΠΈ сниТСниС Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ (21-23%). Π Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹Π΅ Π½Π° сайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΡΡ‚Π°Ρ€ΡƒΡŽ ΠΎΠ±ΠΎΡΠΎΠ±Π»Π΅Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ WireGuard ΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊΠ°ΠΊ нСдостаточно качСствСнныС. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ провСдСния тСстов ΠΊΠΎΠ΄ WireGuard ΠΈ IPsec Π±Ρ‹Π» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ тСстированиС, ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π² ядро Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, отмСчаСтся, Ρ‡Ρ‚ΠΎ WireGuard Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ обгоняСт IPsec Π² силу многопоточности, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ OpenVPN остаётся ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ.

ДоступСн VPN WireGuard 1.0.0

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru