Byl vydán projekt Nebula 1.5, který nabízí nástroje pro vytváření zabezpečených overlay sítí. Síť může propojit několik až desítky tisíc geograficky rozptýlených hostitelů umístěných u různých poskytovatelů, čímž vytváří samostatnou izolovanou síť nad globální sítí. Projekt je napsán v jazyce Go a je distribuován pod licencí MIT. Projekt byl založen společností Slack, která vyvíjí stejnojmenný firemní messenger. Podporuje provoz v Linuxu, FreeBSD, macOS, Windows, iOS a Android.
Uzly v síti Nebula komunikují přímo mezi sebou v režimu P2P - jakmile je potřeba přenášet data mezi uzly, dynamicky se vytvářejí přímá VPN-připojení. Identita každého hostitele v síti je potvrzena digitálním certifikátem a připojení k síti vyžaduje provedení autentizace — každý uživatel získává certifikát, který potvrzuje IP adresu v síti Nebula, jméno a členství ve skupinách hostitelů. Certifikáty jsou podepisovány interním certifikačním orgánem, který je nasazen tvůrcem sítě na svých zařízeních a je používán k ověřování oprávnění hostitelů, kteří mají právo připojit se k overlay síti.
Pro vytvoření autentizovaného zabezpečeného komunikačního kanálu v Nebula se používá vlastní tunelový protokol založený na Diffie-Hellmanově výměnné protokolu a šifře AES-256-GCM. Implementace protokolu je založena na osvědčených primitivách poskytovaných rámcem Noise, který se také používá v projektech jako WireGuard, Lightning a I2P. Je tvrzeno, že projekt prošel nezávislým auditem bezpečnosti.
Pro objevování dalších uzlů a koordinaci připojení k síti se vytvářejí speciální uzly „lighthouse“, jejichž globální IP adresy jsou fixní a známé účastníkům sítě. Účastnické uzly nejsou vázány na externí IP adresu, jsou identifikovány podle certifikátů. Majitelé hostitelů nemohou provádět změny v podepsaných certifikátech a na rozdíl od tradičních IP sítí nemohou simulovat jiného hostitele jednoduchou změnou IP adresy. Při vytváření tunelu je identita hostitele potvrzena individuálním soukromým klíčem.
Vytvořené síti je přiřazen specifický rozsah intranetových adres (například 192.168.10.0/24) a je zajištěno spojení interních adres s certifikáty hostitelů. Z účastníků overlay sítě mohou být tvořeny skupiny, například pro oddělení serverů a pracovních stanic, na které se vztahují různé pravidla filtrování provozu. Jsou poskytovány různé mechanismy pro obcházení překladatelů adres (NAT) a firewallů. Je možné organizovat směrování přes overlay síť provozu třetích hostitelů, kteří nejsou součástí sítě Nebula (unsafe route).
Je podporováno vytváření firewallů pro oddělení přístupu a filtrování provozu mezi uzly v overlay síti Nebula. Pro filtrování se používají ACL s označením tagy. Každý hostitel v síti může definovat vlastní pravidla filtrování podle hostitelů, skupin, protokolů a síťových portů. Přitom jsou hostitelé filtrováni nikoli podle IP adres, ale podle certifikovaných digitálním podpisem identifikátorů hostitelů, které nelze padělat bez kompromitace koordinujícího certifikačního orgánu sítě.
V novém vydání:
- Do příkazu print-cert byl přidán přepínač „-raw“ pro výstup PEM reprezentace certifikátu.
- Byla přidána podpora nové architektury Linux riscv64.
- Byla přidána experimentální konfigurace remote_allow_ranges pro přiřazení seznamů povolených hostitelů k určitému podsítím.
- Byla přidána možnost pki.disconnect_invalid pro resetování tunelů po ztrátě důvěry nebo vypršení platnosti certifikátu.
- Byla přidána možnost unsafe_routes.<route>.metric pro přiřazení váhy konkrétnímu externímu směru.
Zdroj: opennet.ru
