Utgivelse av Nebula 1.5, et system for å lage P2P-overleggsnettverk

Utgivelsen av Nebula 1.5-prosjektet er tilgjengelig, og tilbyr verktøy for å bygge sikre overleggsnettverk. Nettverket kan forene fra flere til titusenvis av geografisk adskilte verter som hostes av forskjellige leverandører, og danner et separat isolert nettverk på toppen av det globale nettverket. Prosjektet er skrevet i Go og distribuert under MIT-lisensen. Prosjektet ble grunnlagt av Slack, som utvikler en bedriftsmessenger med samme navn. Støtter Linux, FreeBSD, macOS, Windows, iOS og Android.

Noder på Nebula-nettverket kommuniserer direkte med hverandre i P2P-modus – direkte VPN-tilkoblinger opprettes dynamisk ettersom data må overføres mellom noder. Identiteten til hver vert på nettverket bekreftes av et digitalt sertifikat, og tilkobling til nettverket krever autentisering - hver bruker mottar et sertifikat som bekrefter IP-adressen i Nebula-nettverket, navn og medlemskap i vertsgrupper. Sertifikater er signert av en intern sertifiseringsmyndighet, distribuert av nettverksskaperen ved sine anlegg og brukes til å sertifisere autoriteten til verter som har rett til å koble til overleggsnettverket.

For å lage en autentisert, sikker kommunikasjonskanal, bruker Nebula sin egen tunnelprotokoll basert på Diffie-Hellman-nøkkelutvekslingsprotokollen og AES-256-GCM-chifferet. Protokollimplementeringen er basert på ferdige og utprøvde primitiver levert av Noise-rammeverket, som også brukes i prosjekter som WireGuard, Lightning og I2P. Prosjektet skal ha gjennomgått en uavhengig sikkerhetsrevisjon.

For å oppdage andre noder og koordinere tilkoblinger til nettverket, opprettes spesielle "fyrtårn"-noder, hvis globale IP-adresser er faste og kjente for nettverksdeltakere. Deltakende noder er ikke bundet til en ekstern IP-adresse, de identifiseres av sertifikater. Vertseiere kan ikke gjøre endringer i signerte sertifikater på egen hånd, og i motsetning til tradisjonelle IP-nettverk kan de ikke utgi seg for å være en annen vert bare ved å endre IP-adressen. Når en tunnel opprettes, verifiseres vertens identitet med en individuell privat nøkkel.

Det opprettede nettverket tildeles et visst utvalg av intranettadresser (for eksempel 192.168.10.0/24), og de interne adressene er knyttet til vertssertifikater. Grupper kan dannes fra deltakere i overleggsnettverket, for eksempel til separate servere og arbeidsstasjoner, som separate trafikkfiltreringsregler brukes på. Ulike mekanismer er tilgjengelig for å omgå adresseoversettere (NAT-er) og brannmurer. Det er mulig å organisere ruting gjennom overleggsnettverket for trafikk fra tredjepartsverter som ikke er en del av Nebula-nettverket (utrygg rute).

Den støtter opprettelsen av brannmurer for å skille tilgang og filtrere trafikk mellom noder i Nebula overlay-nettverket. ACL-er med tag-binding brukes til filtrering. Hver vert på nettverket kan definere sine egne filtreringsregler basert på verter, grupper, protokoller og nettverksporter. I dette tilfellet filtreres verter ikke etter IP-adresser, men etter digitalt signerte vertsidentifikatorer, som ikke kan forfalskes uten å kompromittere sertifiseringssenteret som koordinerer nettverket.

I den nye utgivelsen:

  • Lagt til et "-rå"-flagg til print-cert-kommandoen for å skrive ut PEM-representasjonen av sertifikatet.
  • Lagt til støtte for den nye Linux-arkitekturen riscv64.
  • La til en eksperimentell remote_allow_ranges-innstilling for å binde lister over tillatte verter til bestemte undernett.
  • Lagt til alternativet pki.disconnect_invalid for å tilbakestille tunneler etter at tillitsavslutning eller sertifikats levetid utløper.
  • Lagt til alternativet for usikre_ruter. .metrisk for å tildele vekt til en spesifikk ekstern rute.

Kilde: opennet.ru

Legg til en kommentar