WireGuard Linux ядросуна "келет" - эмне үчүн?

Июль айынын аягында WireGuard VPN туннелин иштеп чыгуучулар сунушташкан патч топтому, бул алардын VPN туннелдик программалык камсыздоосун Linux ядросунун бир бөлүгү кылат. Бирок, “идеянын” ишке ашырыла турган так датасы белгисиз бойдон калууда. Төмөндө биз бул курал жөнүндө кененирээк сүйлөшөбүз.

WireGuard Linux ядросуна "келет" - эмне үчүн?
/ сүрөт Tambako The Ягуар CC

Долбоор жөнүндө кыскача

WireGuard – бул Edge Security компаниясынын башкы директору Джейсон А. Доненфельд тарабынан түзүлгөн жаңы муундагы VPN туннели. Долбоор катары иштелип чыккан жөнөкөйлөтүлгөн жана OpenVPN жана IPsec үчүн тез альтернатива. Продукциянын биринчи версиясында 4 миң сап код гана болгон. Салыштыруу үчүн, OpenVPN 120 миңге жакын линияга ээ, ал эми IPSec - 420 миң.

боюнча сөздөр иштеп чыгуучулар, WireGuard конфигурациялоо оңой жана протоколдун коопсуздугу камсыз кылынат далилденген криптографиялык алгоритмдер аркылуу. Тармакты өзгөртүүдө: Wi-Fi, LTE же Ethernet ар дайым VPN серверине кайра туташуу керек. WireGuard серверлери, колдонуучу жаңы IP дарегин алган күндө да, байланышты токтотпойт.

WireGuard алгач Linux ядросу үчүн иштелип чыккандыгына карабастан, иштеп чыгуучулар камкордукка алынган жана Android түзмөктөрү үчүн куралдын көчмө версиясы жөнүндө. Тиркеме толук иштелип чыга элек, бирок сиз аны азыр сынап көрүүгө болот. Бул үчүн сизге керек сыноочулардын бири болуп саналат.

Жалпысынан алганда, WireGuard абдан популярдуу жана атүгүл болуп келген ишке ашырылган Mullvad жана AzireVPN сыяктуу бир нече VPN провайдерлери. Интернетте жарыяланган бир топ жөнүндө орнотуу көрсөтмөлөрү бул чечим. Мисалы, гиддер бар, колдонуучулар тарабынан түзүлгөн жана жол көрсөткүчтөр бар, долбоордун авторлору тарабынан даярдалган.

Техникалык маалымат

В расмий документтер (18-бет) WireGuard өткөрүү жөндөмдүүлүгү OpenVPNге караганда төрт эсе жогору экени белгиленген: 1011 Мбит/с каршы 258 Мбит/сек. WireGuard Linux IPsec үчүн стандарттуу чечимден да алдыда турат - ал 881 Мбит/сек. Ал ошондой эле орнотуунун жеңилдиги боюнча андан ашып кетет.

Ачкычтар алмаштырылгандан кийин (VPN туташуусу SSH сыяктуу эле инициализацияланат) жана байланыш орнотулгандан кийин, WireGuard бардык башка тапшырмаларды өз алдынча чечет: маршрутизация, мамлекеттик башкаруу ж.б. жөнүндө тынчсыздануунун кереги жок. Кошумча конфигурация аракеттери симметриялык шифрлөөнү колдонгуңуз келсе, талап кылынат.

WireGuard Linux ядросуна "келет" - эмне үчүн?
/ сүрөт Андерс Хойбжерг CC

Орнотуу үчүн сизге 4.1ден эски Linux ядросу менен бөлүштүрүү керек болот. Аны негизги Linux дистрибьюторлорунун репозиторийлеринде тапса болот.

$ sudo add-apt-repository ppa:hda-me/wireguard
$ sudo apt update
$ sudo apt install wireguard-dkms wireguard-tools

xakep.ru редакторлору белгилегендей, булак тексттеринен өзүн өзү чогултуу да оңой. Интерфейсти ачып, ачык жана купуя ачкычтарды түзүү жетиштүү:

$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey

WireGuard колдонбойт крипто провайдери менен иштөө үчүн интерфейс CryptoAPI. Анын ордуна, агым шифри колдонулат ЧаЧа20, криптографиялык имитация салуучу Poly1305 жана менчик криптографиялык хэш функциялары.

Жашыруун ачкыч аркылуу түзүлөт Диффи-Хеллман протоколу эллиптикалык ийри негизделген Curve25519. Хешинг учурунда алар колдонушат хэш функциялары BLAKE2 и SipHash. Убакыт белгисинин форматына байланыштуу TAI64N протокол убакыт белгисинин мааниси азыраак пакеттерди жокко чыгарат, ошону менен DoS алдын алуу и чабуулдарды кайталоо.

Бул учурда, WireGuard I/O башкаруу үчүн ioctl функциясын колдонот (мурда колдонулган netlink), бул кодду тазараак жана жөнөкөй кылат. Сиз муну карап текшере аласыз конфигурация коду.

Иштеп чыгуучунун пландары

Азырынча, WireGuard дарактан тышкаркы ядро ​​модулу. Бирок долбоордун автору Джейсон Доненфельд Ал сүйлөйт, Linux ядросунда толук ишке ашырууга убакыт келди. Анткени ал башка чечимдерге караганда жөнөкөй жана ишенимдүү. Бул жагынан Джейсон тирөөчү атүгүл Линус Торвалдс өзү WireGuard кодун "көркөм чыгарма" деп атаган.

Бирок WireGuard ядросуна киргизүүнүн так даталары жөнүндө эч ким айтпайт. ЖАНА араң эле бул август Linux ядросунун 4.18 чыгышы менен болот. Бирок, бул абдан жакынкы келечекте болушу мүмкүн: версия 4.19 же 5.0.

WireGuard ядрого кошулганда, иштеп чыгуучулар каалоо Android түзмөктөрү үчүн тиркемени жыйынтыктап, iOS үчүн тиркемени жаза баштаңыз. Ошондой эле Go жана Rust программаларын ишке ашырууну аяктоо жана аларды macOS, Windows жана BSDге өткөрүү пландары бар. Ошондой эле WireGuard дагы "экзотикалык системалар" үчүн ишке ашыруу пландаштырылууда: DPDK, FPGA, ошондой эле башка көптөгөн кызыктуу нерселер. Алардын баары тизмеде көрсөтүлгөн кылуу тизмеси долбоордун авторлору.

PS Биздин корпоративдик блогубуздан дагы бир нече макала:

Биздин ишибиздин негизги багыты булут кызматтарын көрсөтүү болуп саналат:

Виртуалдык инфраструктура (IaaS) | PCI DSS хостинги | Cloud FZ-152 | SAP хостинги | Виртуалдык сактагыч | Булуттагы маалыматтарды шифрлөө | Булуттагы сактагыч

Source: www.habr.com

Комментарий кошуу