跳至主要内容
本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)

节点安全

节点安全是安全区块链网络的一个重要方面。 根据节点的类型,操作员需要注意安全性。

  • 共识节点(CN):CN 负责提出和验证新区块。 被入侵的 CN 可以创建恶意区块或破坏区块链。 当然,少数节点的不当行为会被 BFT 共识所阻止。 不过,它们仍可能导致坏块或轮换,从而降低网络的稳定性。 因此,核心小区运营商应负责任地维护其节点。
  • 代理节点(PN):PN 代表 CN 与互联网上的节点通信。 虽然 PN 本身不会签署区块,但 PN 的安全漏洞会破坏网络。 其 P2P 密钥可用于连接 CN 的限制性网络。 被入侵的 PN 还能使垃圾邮件过滤器等交易过滤失效。
  • 端点节点(EN):EN 为应用程序提供对网络的公共访问。 虽然 EN 无权操纵区块,但 EN 的安全漏洞会带来信任问题。 被入侵的 EN 可以提供虚假信息,包括区块数据和账户状态。 如果应用程序直接连接到 EN,它就会放弃或审查传入的交易。

安全行动

尽可能遵循最佳安全实践。 仅举几例:

  • 及时更新操作系统和安装的软件。
  • 通过禁用远程 root 登录、关闭基于密码的登录和选择公钥身份验证来增强 SSH 的安全性。
  • 始终在专用机器上运行节点。 为了降低通过供应链攻击恶意软件的风险,请不要安装其他软件,尤其是连接互联网的软件。 机器或虚拟机只能用于节点操作。
  • 安装防火墙。 尽量减少开放端口,并将维护和操作员 IP 地址列入白名单。 打开 SSH、RPC 或调试端口时要小心。 对于 CN 和 PN,p2p 端口应仅限于明确的对等 CN 和 PN IP 列表。 即使 p2p 协议栈存在漏洞,攻击机会也会被有效阻止或限制在已知节点范围内。
  • 优先考虑云安全。 当节点在云虚拟机上运行时,应根据云提供商的最佳实践妥善管理云账户(如 AWS IAM 角色)。 云账户可能无法访问 SSH,但可以复制磁盘内容或打开串行控制台。

钥匙安全

节点主要管理两种加密密钥。

  • 节点密钥或 p2p 密钥:32 字节的 secp256k1 ECDSA 私钥。 它用于 p2p rlpx 通信和区块签名。
  • BLS 节点密钥:32 字节 BLS12-381 私有密钥。 它用于签署区块中的 RANDAO 字段。

由于签名必须在无人值守的情况下自动进行,这些密钥必须存储在磁盘上或通过命令行输入。 此时,节点安全对于保护密钥不被盗至关重要。

今后,节点可支持将密钥存储在外部提供商(如密钥管理系统(KMS)或硬件安全模块(HSM))中。 需要注意的是,即使有了这些密钥管理机制,节点安全仍然很重要。 虽然密钥无法复制,但被入侵的节点仍可启动恶意有效载荷的签名。 除了钥匙失窃,钥匙丢失也是需要管理的风险之一。 建议将节点密钥备份到加密的密钥存储文件中,并保存在离线存储器中。

让这个页面变得更好