Выпуск Nebula 1.5, сістэмы для стварэння аверлейных P2P-сетак

Даступны выпуск праекта Nebula 1.5, які прапануе інструментар для пабудовы абароненых оверлейных сетак. Сетка можа аб'ядноўваць ад некалькіх да дзясяткаў тысяч тэрытарыяльна падзеленых хастоў, размешчаных у розных правайдэраў, фармуючы асобную ізаляваную сетку па-над глабальнай сеткай. Праект напісаны на мове Go і распаўсюджваецца пад ліцэнзіяй MIT. Праект заснаваны кампаніяй Slack, якая развівае аднайменны карпаратыўны месэнджэр. Падтрымліваецца праца ў Linux, FreeBSD, MacOS, Windows, iOS і Android.

Вузлы ў сетцы Nebula ўзаемадзейнічаюць сябар з сябрам напроста ў рэжыме P2P – па меры з'яўлення неабходнасці перадачы дадзеных паміж вузламі дынамічна ствараюцца прамыя VPN-злучэнні. Ідэнтычнасць кожнага хаста ў сетцы пацвярджаецца лічбавым сертыфікатам, а падлучэнне да сеткі патрабуе праходжання аўтэнтыфікацыі — кожны карыстач атрымлівае сертыфікат, які пацвярджае IP-адрас у сетцы Nebula, імя і сяброўства ў групах хастоў. Сертыфікаты падпісваюцца ўнутраным які сведчыць цэнтрам, разгортваемым стваральнікам сеткі на сваіх магутнасцях і ўжывальным для запэўнення паўнамоцтваў хастоў, мелых права падлучэння да оверлейной сеткі.

Для стварэння аўтэнтыфікаванага абароненага канала сувязі ў Nebula прымяняецца ўласны тунэльны пратакол, заснаваны на пратаколе абмену ключамі Дыфі-Хеллмана і шыфрэ AES-256-GCM. Рэалізацыя пратакола грунтуецца на гатовых і правераных прымітывах, якія прадстаўляюцца фрэймворкам Noise, які таксама прымяняецца ў такіх праектах, як WireGuard, Lightning і I2P. Сцвярджаецца, што праект прайшоў незалежны аўдыт бяспекі.

Для выяўлення іншых вузлоў і каардынацыі падключэння да сеткі ствараюцца спецыяльныя вузлы "lighthouse", глабальныя IP-адрасы якіх фіксаваны і вядомыя ўдзельнікам сеткі. У вузлоў-удзельнікаў няма прывязкі да знешняга IP-адрасу, яны ідэнтыфікуюцца па сертыфікатах. Уладальнікі хастоў самастойна не могуць унесці змены ў падпісаныя сертыфікаты і ў адрозненне ад традыцыйных IP-сетак не могуць прыкінуцца іншым хастом простай зменай IP-адрасы. Пры стварэнні тунэля ідэнтычнасць хаста пацвярджаецца індывідуальным зачыненым ключом.

Ствараемай сеткі вылучаецца пэўны дыяпазон інтранэт адрасоў (напрыклад, 192.168.10.0/24) і ажыццяўляецца звязванне ўнутраных адрасоў з сертыфікатамі хастоў. З удзельнікаў оверлейной сеткі могуць фармавацца групы, напрыклад, для падзелу сервераў і працоўных станцый, да якіх ужываюцца асобныя правілы фільтрацыі трафіку. Прадстаўляюцца розныя механізмы для абыходу транслятараў адрасоў (NAT) і міжсеткавых экранаў. Магчымая арганізацыі маршрутызацыі праз оверлейную сетку трафіку іншых хастоў, якія не ўваходзяць у сетку Nebula (unsafe route).

Падтрымліваецца стварэнне міжсеткавых экранаў для падзелу доступу і фільтраванні трафіку паміж вузламі ў оверлейной сетцы Nebula. Для фільтрацыі прымяняюцца ACL з прывязкай тэгаў. Кожны хост у сетцы можа вызначаць уласныя правілы фільтрацыі па хастах, групах, пратаколах і сеткавых партоў. Пры гэтым хасты фільтруюцца не па IP-адрасах, а па завераных лічбавым подпісам ідэнтыфікатарам хаста, якія немагчыма падрабіць без кампраметацыі каардынуючага склад сеткі які сведчыць цэнтра.

У новым выпуску:

  • У каманду print-cert дададзены сцяг "-raw" для вываду PEM-прадстаўлення сертыфіката.
  • Дададзена падтрымка новай архітэктуры Linux riscv64.
  • Дададзена эксперыментальная настройка remote_allow_ranges для прывязкі спісаў дазволеных хастоў да пэўных падсетак.
  • Дададзена опцыя pki.disconnect_invalid для скіду тунэляў пасля спынення даверу або заканчэння часу жыцця сертыфіката.
  • Дададзена опцыя unsafe_routes. .metric для задання вагі вызначанаму знешняму маршруту.

Крыніца: opennet.ru

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