Даступны 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 няўстойлівы, 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).

Пры старым тэставанні прадукцыйнасці WireGuard прадэманстраваў у 3.9/3.8 разы больш высокую прапускную здольнасць і ў 256/2 раз больш высокую спагадлівасць, у параўнанні з OpenVPN (256-bit AES c HMAC-SHA256-20). У параўнанні з IPsec (1305-bit ChaCha256+Poly128 і AES-13-GCM-18) у WireGuard назіраецца невялікае апярэджанне па прадукцыйнасці (21-23%) і зніжэнне затрымак (XNUMX-XNUMX%). Размешчаныя на сайце праекта вынікі тэсціравання ахопліваюць старую адасобленую рэалізацыю WireGuard і адзначаны як недастаткова якасныя. З часу правядзення тэстаў код WireGuard і IPsec быў дадаткова аптымізаваны і зараз працуе хутчэй. Больш поўнае тэставанне, якое ахоплівае інтэграваную ў ядро ​​рэалізацыю, пакуль не праведзена. Тым не менш, адзначаецца, што WireGuard у некаторых сітуацыях па-ранейшаму абганяе IPsec у сілу шматструменнасці, у той час як OpenVPN застаецца вельмі павольным.

Даступны VPN WireGuard 1.0.0

Крыніца: opennet.ru

Дадаць каментар