Nebula 1.5發布,創建P2P覆蓋網路的系統

Nebula 1.5專案已經發布,提供了建置安全覆蓋網路的工具。 這個網路可以聯合由不同供應商託管的幾個到數萬個地理上分散的主機,在全球網路之上形成一個單獨的隔離網路。 該專案是用 Go 編寫的,並根據 MIT 許可證分發。 該專案由 Slack 創建,該公司開發了同名的企業通訊工具。 支援 Linux、FreeBSD、macOS、Windows、iOS 和 Android。

Nebula網路上的節點以P2P模式直接相互通訊-當節點之間需要傳輸資料時,動態建立直接VPN連線。 網路上每台主機的身份均由數位證書確認,連接到網路需要身份驗證 - 每個使用者都會收到一個證書,確認 Nebula 網路中的 IP 位址、主機群組中的名稱和成員資格。 證書由內部證書頒發機構簽名,由網路創建者在其設施中部署,並用於證明有權連接到覆蓋網路的主機的權限。

為了創建經過驗證的安全通訊通道,Nebula 使用自己的基於 Diffie-Hellman 金鑰交換協定和 AES-256-GCM 密碼的隧道協定。 該協議實現基於 Noise 框架提供的現成且經過驗證的原語,該框架也用於 WireGuard、Lightning 和 I2P 等專案。 據說該項目已經接受了獨立的安全審核。

為了發現其他節點並協調與網路的連接,創建了特殊的「燈塔」節點,其全局 IP 位址是固定的並為網路參與者所知。 參與節點不綁定到外部IP位址;它們透過憑證來識別。 主機所有者無法自行更改簽名證書,並且與傳統 IP 網路不同,主機所有者無法僅透過更改 IP 位址來冒充另一台主機。 建立隧道後,主機的身份將使用單獨的私鑰進行驗證。

所建立的網路分配一定範圍的內部網路位址(例如192.168.10.0/24),並將內部網路位址與主機憑證關聯。 例如,可以從覆蓋網路中的參與者形成群組,以形成單獨的伺服器和工作站,對它們應用單獨的流量過濾規則。 提供了各種機制來繞過位址轉換器 (NAT) 和防火牆。 可以透過來自不屬於星雲網路的第三方主機的覆蓋網路流量來組織路由(不安全路由)。

它支援建立防火牆來隔離星雲覆蓋網路中節點之間的存取和過濾流量。 帶有標籤綁定的 ACL 用於過濾。 網路上的每個主機都可以根據主機、群組、協定和網路連接埠定義自己的過濾規則。 在這種情況下,主機不是透過 IP 位址過濾,而是透過數位簽署的主機識別碼過濾,在不損害協調網路的認證中心的情況下無法偽造主機識別碼。

在新版本中:

  • 在 print-cert 指令中新增了「-raw」標誌以列印憑證的 PEM 表示形式。
  • 新增了對新 Linux 架構 riscv64 的支援。
  • 新增了實驗性的remote_allow_ranges設置,以將允許的主機清單綁定到特定子網路。
  • 新增了 pki.disconnect_invalid 選項以在信任終止或憑證生存期到期後重置隧道。
  • 新增了 unsafe_routes 選項。 .metric 為特定外部路由分配權重。

來源: opennet.ru

添加評論