Uitgave van Nebula 1.5, een systeem voor het creëren van P2P-overlay-netwerken

De release van het Nebula 1.5-project is beschikbaar en biedt tools voor het bouwen van veilige overlay-netwerken. Het netwerk kan meerdere tot tienduizenden geografisch gescheiden hosts verenigen die door verschillende providers worden gehost, waardoor een afzonderlijk geïsoleerd netwerk bovenop het mondiale netwerk wordt gevormd. Het project is geschreven in Go en gedistribueerd onder de MIT-licentie. Het project is opgericht door Slack, dat een bedrijfsmessenger met dezelfde naam ontwikkelt. Ondersteunt Linux, FreeBSD, macOS, Windows, iOS en Android.

Knooppunten op het Nebula-netwerk communiceren rechtstreeks met elkaar in de P2P-modus. Er worden dynamisch directe VPN-verbindingen tot stand gebracht wanneer gegevens tussen knooppunten moeten worden overgedragen. De identiteit van elke host op het netwerk wordt bevestigd door een digitaal certificaat, en voor verbinding met het netwerk is authenticatie vereist - elke gebruiker ontvangt een certificaat dat het IP-adres in het Nebula-netwerk, de naam en het lidmaatschap van hostgroepen bevestigt. Certificaten worden ondertekend door een interne certificeringsinstantie, ingezet door de netwerkmaker in zijn faciliteiten en gebruikt om de autoriteit te certificeren van hosts die het recht hebben om verbinding te maken met het overlay-netwerk.

Om een ​​geverifieerd, veilig communicatiekanaal te creëren, gebruikt Nebula zijn eigen tunnelprotocol gebaseerd op het Diffie-Hellman sleuteluitwisselingsprotocol en het AES-256-GCM-cijfer. De protocolimplementatie is gebaseerd op kant-en-klare en beproefde primitieven uit het Noise-framework, dat ook wordt gebruikt in projecten als WireGuard, Lightning en I2P. Het project zou een onafhankelijke veiligheidsaudit hebben ondergaan.

Om andere knooppunten te ontdekken en verbindingen met het netwerk te coördineren, worden speciale ‘vuurtoren’-knooppunten gecreëerd, waarvan de globale IP-adressen vast zijn en bekend zijn bij netwerkdeelnemers. Deelnemende knooppunten zijn niet gebonden aan een extern IP-adres; ze worden geïdentificeerd door certificaten. Hosteigenaren kunnen niet zelf wijzigingen aanbrengen in ondertekende certificaten en kunnen zich, in tegenstelling tot traditionele IP-netwerken, niet voordoen als een andere host door simpelweg het IP-adres te wijzigen. Wanneer een tunnel wordt gemaakt, wordt de identiteit van de host geverifieerd met een individuele privésleutel.

Aan het gemaakte netwerk wordt een bepaald bereik aan intranetadressen toegewezen (bijvoorbeeld 192.168.10.0/24) en de interne adressen worden gekoppeld aan hostcertificaten. Groepen kunnen worden gevormd van deelnemers aan het overlay-netwerk tot bijvoorbeeld afzonderlijke servers en werkstations, waarop afzonderlijke verkeersfilterregels worden toegepast. Er zijn verschillende mechanismen beschikbaar om adresvertalers (NAT's) en firewalls te omzeilen. Het is mogelijk om routering via het overlay-netwerk van verkeer van externe hosts te organiseren die geen deel uitmaken van het Nebula-netwerk (onveilige route).

Het ondersteunt de creatie van firewalls om de toegang te scheiden en verkeer tussen knooppunten in het Nebula-overlay-netwerk te filteren. Voor het filteren worden ACL's met tagbinding gebruikt. Elke host op het netwerk kan zijn eigen filterregels definiëren op basis van hosts, groepen, protocollen en netwerkpoorten. In dit geval worden hosts niet gefilterd op IP-adressen, maar op digitaal ondertekende host-ID's, die niet kunnen worden vervalst zonder het certificeringscentrum dat het netwerk coördineert in gevaar te brengen.

In de nieuwe uitgave:

  • Een "-raw"-vlag toegevoegd aan de print-cert-opdracht om de PEM-representatie van het certificaat af te drukken.
  • Ondersteuning toegevoegd voor de nieuwe Linux-architectuur riscv64.
  • Er is een experimentele instelling remote_allow_ranges toegevoegd om lijsten met toegestane hosts aan specifieke subnetten te binden.
  • Optie pki.disconnect_invalid toegevoegd om tunnels opnieuw in te stellen nadat het vertrouwen is beëindigd of de levensduur van het certificaat is verlopen.
  • Optie onveilige_routes toegevoegd. .metric om gewicht toe te wijzen aan een specifieke externe route.

Bron: opennet.ru

Voeg een reactie