Utgivning av Nebula 1.5, ett system för att skapa P2P-överlagringsnätverk

Utgivningen av Nebula 1.5-projektet är tillgänglig, och erbjuder verktyg för att bygga säkra överlagringsnätverk. Nätverket kan förena från flera till tiotusentals geografiskt åtskilda värdar hos olika leverantörer, vilket bildar ett separat isolerat nätverk ovanpå det globala nätverket. Projektet är skrivet i Go och distribuerat under MIT-licensen. Projektet grundades av Slack, som utvecklar en företagsbudbärare med samma namn. Stöder Linux, FreeBSD, macOS, Windows, iOS och Android.

Noder på Nebula-nätverket kommunicerar direkt med varandra i P2P-läge – direkta VPN-anslutningar skapas dynamiskt eftersom data behöver överföras mellan noder. Identiteten för varje värd i nätverket bekräftas av ett digitalt certifikat, och för att ansluta till nätverket krävs autentisering - varje användare får ett certifikat som bekräftar IP-adressen i Nebula-nätverket, namn och medlemskap i värdgrupper. Certifikaten signeras av en intern certifieringsmyndighet, distribueras av nätverksskaparen vid dess anläggningar och används för att certifiera auktoriteten för värdar som har rätt att ansluta till överläggsnätverket.

För att skapa en autentiserad, säker kommunikationskanal använder Nebula sitt eget tunnelprotokoll baserat på Diffie-Hellman-nyckelutbytesprotokollet och AES-256-GCM-chifferet. Protokollimplementeringen är baserad på färdiga och beprövade primitiver som tillhandahålls av Noise-ramverket, som även används i projekt som WireGuard, Lightning och I2P. Projektet ska ha genomgått en oberoende säkerhetsrevision.

För att upptäcka andra noder och koordinera anslutningar till nätverket skapas speciella "fyrtorns"-noder, vars globala IP-adresser är fasta och kända för nätverksdeltagare. Deltagande noder är inte bundna till en extern IP-adress, de identifieras av certifikat. Värdägare kan inte göra ändringar i signerade certifikat på egen hand och, till skillnad från traditionella IP-nätverk, kan de inte utge sig för att vara en annan värd bara genom att ändra IP-adressen. När en tunnel skapas, verifieras värdens identitet med en individuell privat nyckel.

Det skapade nätverket tilldelas ett visst antal intranätadresser (till exempel 192.168.10.0/24) och de interna adresserna är associerade med värdcertifikat. Grupper kan bildas från deltagare i överlagringsnätverket, till exempel till separata servrar och arbetsstationer, på vilka separata trafikfiltreringsregler tillämpas. Olika mekanismer tillhandahålls för att kringgå adressöversättare (NAT) och brandväggar. Det är möjligt att organisera routing genom överlagringsnätverket av trafik från tredjepartsvärdar som inte ingår i Nebula-nätverket (osäker rutt).

Det stöder skapandet av brandväggar för att separera åtkomst och filtrera trafik mellan noder i Nebula-överlagringsnätverket. ACL:er med taggbindning används för filtrering. Varje värd i nätverket kan definiera sina egna filtreringsregler baserat på värdar, grupper, protokoll och nätverksportar. I det här fallet filtreras värdar inte efter IP-adresser, utan av digitalt signerade värdidentifierare, som inte kan förfalskas utan att äventyra certifieringscentret som koordinerar nätverket.

I den nya utgåvan:

  • Lade till en "-rå"-flagga till kommandot print-cert för att skriva ut PEM-representationen av certifikatet.
  • Lade till stöd för den nya Linux-arkitekturen riscv64.
  • Lade till en experimentell remote_allow_ranges-inställning för att binda listor över tillåtna värdar till specifika undernät.
  • Lade till alternativet pki.disconnect_invalid för att återställa tunnlar efter förtroendeavslutning eller certifikatlivslängd löper ut.
  • Lade till alternativet för osäkra_rutter. .metrisk för att tilldela vikt till en specifik extern rutt.

Källa: opennet.ru

Lägg en kommentar