Avaldatud on projekti Nebula 1.9 väljaanne, mis pakub tööriistu turvaliste ülekandumisvõrkude loomiseks, võimaldades geograafiliselt eraldatud hostide ühendamist eraldi isoleeritud võrgus, mis töötab globaalvõrgu peal. Projekt on mõeldud omaenda ülekandumisvõrkude loomiseks igasugusteks vajadusteks, näiteks erinevate kontorite ettevõtte arvutite, erinevates andmekeskustes asuvate serverite või erinevate pilveteenuse pakkujate virtuaalsete keskkondade ühendamiseks. Kood on kirjutatud Go keeles ja jaotatakse MIT litsentsi alusel. Projekti toob välja ettevõte Slack, mis arendab samanimelist ettevõtte sõnumside rakendust. Tugi on saadaval Linuxile, FreeBSD-le, macOS-ile, Windowsile, iOS-ile ja Androidile.
Nebula võrgus asuvad sõlmed suhtlevad omavahel otse P2P režiimis — andmete edastamise vajaduse ilmnemisel luuakse dünaamiliselt otsesed ühendused VPN-ühendused. Iga hosti identiteet võrgus kinnitatakse digitaalse sertifikaadiga, ning võrguga ühenduse loomiseks on vajalik autentimine — iga kasutaja saab sertifikaadi, mis kinnitab IP-aadressi võrgus Nebula, nime ja kuuluvust hostigruppidesse. Sertifikaadid allkirjastatakse sisemiselt sertifitseerimiskeskuses, mille loojad paigutavad igasse eraldi võrku oma võimsustele ja rakendavad hostide volituste kinnitamiseks, kellel on õigus ühendada konkreetse ülevõrguga, mis on seotud sertifitseerimiskeskusega.
Ahnitud kaitstud sidekanali loomiseks Nebula-s kasutatakse omapärast tunnelprotokolli, mis põhineb Diffie–Hellmani võti vahetamise protokollil ja AES-256-GCM krüpteerimisülesandel. Protokolli teostus tugineb valmis ja tõestatud primitiviididele, mida pakub Noise raamistik, mida kasutatakse ka sellistes projektides nagu WireGuard, Lightning ja I2P. Teatatakse, et projekt on läbinud sõltumatu turbeauditi.
Muu node'ide avastamiseks ja võrku ühenduse koordineerimiseks luuakse spetsiaalsed 'lighthouse' nodid, mille globaalsete IP-aadresside fikseerimine jaidus on võrgu osalistele teada. Osalejate nodidel ei ole välistele IP-aadressidele kinnitust, nad tuvastatakse sertifikaatide kaudu. Hostide omanikud ei saa sertifikaatidesse sissekirjutusi ise muuta ja erinevalt traditsioonilistest IP-võrkudest ei saa nad pretendeerida teise hosti identiteedile, muutes lihtsalt IP-aadressi. Tunnelite loomisel hosti identiteeti kinnitatakse individuaalse privaatvõtmega. IP-aadressi, neid tuvastatakse sertifikaatide abil. Hostide omanikud ei saa ise muuta allkirjastatud sertifikaate ning erinevalt traditsioonilistest IP-võrkudest ei saa nad teha endale teiseks hostiks, vahetades lihtsalt IP-aadressi. Tunneli loomisel kinnitatakse hosti identiteet individuaalse privaatvõtmega.
Loodud võrgule määratakse kindel intraneti aadresside vahemik (näiteks 192.168.10.0/24) ja sisemiste aadresside sidumine hostide sertifikaatidega. Pakutakse erinevaid mehhanisme aadressitranslaterite (NAT) ja tulemüüride ületamiseks. Samuti on võimalik korraldada marsruutimist ülevõrgu kaudu kolmandate osapoolte hostide liiklusest, kes ei kuulugi võrgule Nebula (unsafe route). Ülevõrgu osalistest võivad moodustuda rühmad, näiteks serverite ja tööjaamade jagamiseks, millele kehtivad eraldi liikluse filtreerimise reeglid.
Toetatakse tulemüüride loomist juurdepääsu jagamiseks ja liikluse filtreerimiseks Nebula kohaliku võrgu node'ide vahel. Filtreerimiseks kasutatakse ACL-e koos siltide sidumisega. Iga võrgus olev host saab määrata oma filtreerimisreeglid hostide, gruppide, protokollide ja võrgupordide järgi. Samuti filtreeritakse hoste mitte IP-aadresside, vaid allkirjastatud digitaalselt hosti tuvastamise identifikaatorite järgi, mida ei saa võltsida ilma sertifitseerimiskeskuse kompromiteerimiseta, mis koordineerib võrgu toimimist.
Uues väljaandes:
- Lisatud on uus seadistus default_local_cidr_any, mis muudab käitumist kohalike IP-subnetide töötlemisel tulemüüri reeglites, et vältida põhjendamatut liikluse lubamist hostidele, mis on loetletud unsafe_routes plokis. Versioonis 1.9 on seade seatud väärtusele "true", kuid järgmises versioonis 1.10 vahetatakse see väärtusele "false", mis toob kaasa kohalikud subnetid reeglite kohaldamisel hostidele, mis on juurdepääsetavad kaudu ebaturvaliste marsruutide (sellistele hostidele juurdepääsu avamiseks on vajalik local_cidr kohustuslik määramine).
- Pakutud on ametlik pilt Docker süsteemile, mis võimaldab kiiresti luua ülevõrgustiku Nebula põhjal või selle sõlme.
- Lisatud on katsetusversioonid Loong64 arhitektuurile.
- On rakendatud teenusskript OpenRC initsialiseerimissüsteemile.
- SSH taustprotsessis on lisatud tugi sertifikaatide autentimiseks, mille on kinnitanud sertifitseerimiskeskus (sshd.trusted_cas). Rakendatud on võimalus sissetoomiseks hosti võtmeid sshd.host_key seadete plokki.
- Tagatud on toetus „tun.unsafe_routes” seadete ümberlaadimiseks.
- Kustutatud on toetus vananenud seadistusele local_range, mille asemel tuleb kasutada preferred_ranges.
- Kogumise jaoks on nüüd vajalik tööriistakomplekt go 1.22. Windowsi minimaalsetele versiooninõuetele on tõstetud Windows 10 ja Windows Server 2016.
Allikas: opennet.ru
