Dostupan je izlaz projekta Nebula 1.5, koji nudi alate za izgradnju zaštićenih preklopnih mreža. Mreža može povezivati od nekoliko do desetaka tisuća teritorijalno razdvojenih hostova, smještenih kod različitih pružatelja, stvarajući odvojenu izoliranu mrežu preko globalne mreže. Projekt je napisan na jeziku Go i distribuira se pod MIT licencom. Projekt je osnovala tvrtka Slack, koja razvija istoimeni korporativni messenger. Podržana je upotreba na Linuxu, FreeBSD-u, macOS-u, Windows-u, iOS-u i Android-u.
Čvorovi u mreži Nebula međusobno komuniciraju izravno u P2P režimu — prema potrebi, izravne VPN-veze. Identitet svakog hosta u mreži potvrđuje digitalni certifikat, a povezivanje s mrežom zahtijeva autentifikaciju - svaki korisnik dobiva certifikat koji potvrđuje IP adresu u mreži Nebula, ime i članstvo u grupama hostova. Certifikate potpisuje unutarnji certifikacijski centar, koji se implementira od strane kreatora mreže na vlastitim resursima i koristi se za ovjeru ovlasti hostova koji imaju pravo povezivanja na preklopnu mrežu.
Za stvaranje autentificiranog sigurnog komunikacijskog kanala u Nebuli koristi se vlastiti tunelski protokol temeljen na protokolu razmjene ključeva Diffie–Hellman i šifri AES-256-GCM. Implementacija protokola temelji se na dostupnim i provjerenim primitivima koje pruža Noise okvir, koji se također koristi u projektima kao što su WireGuard, Lightning i I2P. Tvrdi se da je projekt prošao neovisnu sigurnosnu reviziju.
Za otkrivanje drugih čvorova i koordinaciju povezivanja u mrežu stvaraju se posebni čvorovi 'lighthouse', čije su globalne IP adrese fiksne i poznate sudionicima mreže. Čvorovi sudionici nemaju vezu s vanjskim IP-adresu, identificiraju se putem certifikata. Vlasnici hostova ne mogu sami izmijeniti potpisane certifikate i, za razliku od tradicionalnih IP mreža, ne mogu se pretvarati da su drugi host jednostavnom promjenom IP adrese. Prilikom stvaranja tunela, identitet hosta potvrđuje se individualnim privatnim ključem.
Stvorenoj mreži dodjeljuje se određeni raspon intranet adresa (na primjer, 192.168.10.0/24) i vrši se povezivanje unutarnjih adresa s certifikatima hostova. Iz sudionika preklopne mreže mogu se formirati grupe, na primjer, za razdvajanje poslužitelja i radnih stanica, za koje se primjenjuju posebna pravila filtriranja prometa. Dostupni su različiti mehanizmi za zaobilaženje prevoditelja adresa (NAT) i vatrozida. Moguće je organizirati usmjeravanje prometa trećih hostova koji nisu u mreži Nebula (unsafe route).
Podržano je stvaranje vatrozida za razdvajanje pristupa i filtriranje prometa između čvorova u preklopnoj mreži Nebula. Za filtriranje se koriste ACL s vezivanjem oznaka. Svaki host u mreži može odrediti vlastita pravila filtriranja prema hostovima, grupama, protokolima i mrežnim portovima. Pri tome se hostovi filtriraju ne prema IP adresama, već prema ovjerenim identifikatorima hostova sa digitalnim potpisom, koje nije moguće falsificirati bez kompromitacije koordinirajućeg sastava mrežnog certifikacijskog centra.
U novom izdanju:
- U timskom alatu print-cert dodana je oznaka «-raw» za ispis PEM prikaza certifikata.
- Dodana je podrška za novu arhitekturu Linux riscv64.
- Dodana je eksperimentalna postavka remote_allow_ranges za vezivanje popisa dopuštenih hostova s određenim podmrežama.
- Dodana je opcija pki.disconnect_invalid za resetiranje tunela nakon prestanka povjerenja ili isteka trajanja certifikata.
- Dodana je opcija unsafe_routes..metric za određivanje težine određenom vanjskom putu.
Izvor: opennet.ru
