Nebula 1.9-projektets publicering erbjuder verktyg för att bygga sÀkra overlay-nÀtverk som gör det möjligt att lÀnka geografiskt separerade vÀrdar i ett isolerat nÀtverk som fungerar ovanpÄ det globala nÀtet. Projektet Àr avsett för att skapa sina egna overlay-nÀtverk för olika behov, exempelvis för att ansluta företagsdatorer i olika kontor, servrar i olika datacenter eller virtuella miljöer hos olika molnleverantörer. Koden Àr skriven i Go och distribueras under MIT-licensen. Projektet grundades av företaget Slack, som utvecklar den med namnet Slack. Stöd för Linux, FreeBSD, macOS, Windows, iOS och Android.
Noder i Nebula-nĂ€tverket interagerar direkt med varandra i P2P-lĂ€ge â nĂ€r behov av datatransfer mellan noder uppstĂ„r skapas dynamiskt direkt VPN-kopplingar. Identiteten för varje vĂ€rd i nĂ€tverket bekrĂ€ftas av ett digitalt certifikat, och anslutningen till nĂ€tverket krĂ€ver autentisering â varje anvĂ€ndare fĂ„r ett certifikat som bekrĂ€ftar IP-adressen i Nebula-nĂ€tverket, namnet och medlemskap i vĂ€rdgrupper. Certifikaten signeras av en intern certifikatutfĂ€rdare som distribueras av skaparen av varje nĂ€tverk pĂ„ sina egna resurser och som anvĂ€nds för att intyga befogenheterna hos vĂ€rdar som har rĂ€tt att ansluta till ett specifikt overlay-nĂ€tverk kopplat till certifikatutfĂ€rdaren.
För att skapa en autentiserad sÀker kommunikationskanal i Nebula anvÀnds en egen tunnelingprotokoll baserat pÄ Diffie-Hellman nyckelutbytesprotokoll och AES-256-GCM-kryptering. Implementeringen av protokollet baseras pÄ beprövade och fÀrdiga komponenter som tillhandahÄlls av Noise-ramverket, vilket Àven anvÀnds i projekt som WireGuard, Lightning och I2P. Det sÀgs att projektet har genomgÄtt en oberoende sÀkerhetsrevision.
För att upptĂ€cka andra noder och koordinera anslutningar till nĂ€tverket skapas speciella noder "lighthouse", vars globala IP-adresser Ă€r fasta och kĂ€nda för nĂ€tverksdeltagarna. Deltagande noder har ingen koppling till externa IP-adress, de identifieras med certifikat. Ăgarna av vĂ€rdar kan sjĂ€lva inte göra Ă€ndringar i signerade certifikat och kan, till skillnad frĂ„n traditionella IP-nĂ€tverk, inte utge sig för att vara en annan vĂ€rd genom att enkelt Ă€ndra IP-adressen. NĂ€r en tunnel skapas bekrĂ€ftas vĂ€rdens identitet med en individuell privat nyckel.
Det skapade nÀtverket tilldelas ett specifikt intervall av interna adresser (t.ex. 192.168.10.0/24) och lÀnkar internt adresser med vÀrdcertifikat. Olika mekanismer tillhandahÄlls för att kringgÄ nÀtverksadressöversÀttare (NAT) och brandvÀggar. Det Àr möjligt att organisera routing av trafik genom overlay-nÀtverket för externa vÀrdar som inte Àr anslutna till Nebula-nÀtverket (unsafe route). FrÄn deltagarna i overlay-nÀtverket kan grupper bildas, till exempel för att separera servrar och arbetsstationer, som fÄr sÀrskilda regler för trafikfiltrering.
Stöd för skapande av brandvÀggar för att dela Ätkomst och filtrera trafik mellan noder i Nebula-överlagringsnÀtverket. För filtrering anvÀnds ACL med taggkoppling. Varje vÀrd i nÀtverket kan definiera sina egna filtreringsregler baserade pÄ vÀrdar, grupper, protokoll och nÀtverksportar. VÀrdar filtreras inte efter IP-adresser, utan efter certifierade digitala signaturidentiteter för vÀrden, som inte kan förfalskas utan att kompromissa med den utfÀrdande myndigheten som koordinerar nÀtverkets drift.
I den nya utgÄvan:
- En ny instÀllning default_local_cidr_any har lagts till, vilket Àndrar beteendet vid bearbetning av "local_ip"-undergrupper i brandvÀggsregler för att förhindra obefogat tillÄtande av trafik till vÀrdar listade i blocket unsafe_routes. I version 1.9 Àr instÀllningen satt till "true", men i nÀsta version 1.10 kommer den att Àndras till "false", vilket medför att lokala undergrupper beaktas vid tillÀmpning av brandvÀggsregler pÄ vÀrdar som Àr tillgÀngliga via osÀkra rutter (obligatorisk angivelse av local_cidr krÀvs för att öppna tillgÄng till sÄdana vÀrdar).
- En officiell bild för Docker-systemet har tillhandahÄllits, vilket gör det möjligt att snabbt distribuera ett överlagrat nÀtverk baserat pÄ Nebula eller en nod för det.
- Experimentella byggen för Loong64-arkitekturen har lagts till.
- En tjÀnsteskritt för initieringssystemet OpenRC har implementerats.
- Stöd för certifikatbaserad autentisering som bekrÀftas av utfÀrdande myndighet har lagts till i bakgrundsprocessen SSH (sshd.trusted_cas). Möjlighet att integrera vÀrdnycklar i instÀllningsblock av sshd.host_key har realiserats.
- Stöd för omstart av instÀllningar "tun.unsafe_routes" har tillhandahÄllits.
- Stödet för den utgÄngna instÀllningen local_range har tagits bort, och den bör nu ersÀttas av preferred_ranges.
- Byggverktyg som Go 1.22 krÀvs nu. Minimikrav pÄ Windows-versioner har höjts till Windows 10 och Windows Server 2016.
KĂ€lla: opennet.ru
