客服QQ:872490018

关于 Cosmos & IRISnet Validator 安全部署的一些思考

编者注:

本文由 HashQuark 研究团队与慢雾安全团队共同撰写。


部署方案处理的主要问题


这是 HashQuark 关于 Cosmos & IRISnet Validator 安全部署的一些思考,主要针对以下几个问题:

- 对 Validator 节点进⾏ DDoS 攻击

- 对 Validator 节点的入侵攻击

- Validator 节点软硬件宕机

- Validator 节点相关密钥的泄漏


总体架构图


关于 Cosmos & IRISnet Validator 安全部署的一些思考-碳链

(点击图片,查看大图)


针对 DDos 攻击问题处理的方案


Validator 节点搭建在内网中,通过 Sentry 节点进行同步区块和验证交易。通过部署同样的 Validator 节点进行热备,当主 Validator 故障时启动备份 Validator。通过 VPN 专线运行 Sentry, 以防止正常的 Sentry 被攻击和入侵,无法进行正常出块。


搭建节点日志监控平台进行收集、分析、可视化处理。


监控所有节点服务器的 CPU 负载、磁盘 IO 、网络 IO 、进程数等系统健康程度关键指标。


监控所有节点区块信息的:

- 当前区块高度(consensus_height)

- 当前在网络中的投票权重(consensus_validators_power)

- 当前共识的轮数(consensus_rounds)

- 当前 Missing Validator(consensus_missing_validators)

针对节点被入侵的防护措施


1. 保持主机服务单一,只启动节点相关进程,不要一机多用。

2. 防止全网扫描定位私密的 Sentry,修改同步端口 26656 (同理 RPC 端口)至全网最大存活数量的端口 80、443 或 22,这样可以有效抬高攻击者定位成本。

3. 关闭不相关的其他服务端口,只开放对应需要的端口,并在 AWS 或 Google Cloud 上定制严格的安全规则(云服务商控制台和操作系统防火墙都需要设置此项)。

4. 更改 SSH 默认的 22 端口,配置 SSH 只允许用 key (并对 key 加密)登录,禁止密码登录,并限制访问 SSH 端口的 IP 只能为我方运维 IP。

5. 在预算充足的情况下,推荐部署优秀的 HIDS(或者强烈建议参考开源的 OSSEC 相关做法),及时应对服务器被入侵。


针对节点软硬件宕机的防范措施


1. 通过异地机房部署进行机房灾备。


2. 对电房电源进行备用冗余。


3. 库存高损耗的关键硬件进行备份冗余。


针对相关密钥的泄漏的安全措施


密钥是所有需要保护的元素中最重要的部分,推荐全部用硬件来进行。


关于 Cosmos & IRISnet Validator 安全部署的一些思考-碳链


对于 Validator Key 的保护


Validator Key 用于进行共识签名,如果泄漏将面临双重签名的风险,所以保证 Validator Key 的安全至关重要。这里推荐使用 Tendermint 官方开发的 KMS(当前还处于 alpha 阶段,它有以下几方面的优点:


- 对 Validator Key 高效可靠的访问

- 双重签名保护

- 即使 Validator 节点被入侵,基于硬件的签名,也能有效保护密钥的安全


对于 Account Key 的保护


Account Key 是最重要的密钥,用于——


- 共识提案的投票

- 提交新的共识议案

- 关于资金的所有操作

  推荐使用官方推荐的 Ledger Nano S 进行保护


一些缺陷


1. Master Validator 宕机切换备用 Validator 依靠人为的判断,可能造成误判能变成运行 Validator 进行双重签名。


2. 使用 Ledger Nano S 无法进行 auto-bonding 和自动治理提案。


3. 如果连接的 Sentry 过少,容易造成 Sentry 被劫持,破坏 Validator 进行正常的共识。


4. 收益地址指定到冷钱包不能进行 auto-bonding,只能进行 delegate 操作。


配置细节


1. Validator

- max_num_inbound_peers =0

- max_num_outbound_peers =配置的 sentry 数量

- persistent_peers 为 Sentry 节点的 IP

- pex =false 关于 PEX 模式

- 关闭 RPC 端口


2. Sentry

- 关闭 RPC 端口

- max_num_inbound_peers =1

- private_peer_ids 设置为 Validator 节点 IP

- 部署私密的 Sentry,保证公开的 Sentry 流量过大拒绝服务时,Validator 仍可以继续同步出块。


3. 非 root 启动 gaiad

建议编译完成后,创建普通用户账号,并使用该账号启动 gaiad,避免使用 root,降低风险。


4. 部署区块监控脚本

发现 Validator 出块停止时及时告警,并自动切换备用服务器。



关于 Cosmos & IRISnet Validator 安全部署的一些思考-碳链

慢雾媒体平台


Telegram

https://t.me/slowmistteam


Twitter

https://twitter.com/@slowmist_team


Medium

https://medium.com/@slowmist


币乎

https://bihu.com/people/586104


知识星球

https://t.zsxq.com/Q3zNvvF

*文章为作者独立观点,不代表碳链立场
本文由 慢雾科技 授权 碳链 发表,并经碳链编辑。转载此文章须经作者同意,并请附上出处(碳链)及本页链接。原文链接http://www.itanlian.com/chainnews/3592.html
发表评论
坐等沙发
相关文章
OK也发稳定币了,2019会是稳定币元年么?
OK也发稳定币了,2019会是稳定币元年么?
烦请大佬第2季先行篇 | Token2049
烦请大佬第2季先行篇 | Token2049
陀螺专栏势力榜——周榜(3.9-3.15)
陀螺专栏势力榜——周榜(3.9-3.15)
EOS 假充值(hard_fail 状态攻击)红色预警细节披露与修复方案
EOS 假充值(hard_fail 状态攻击)红色预…
FORTE和RIPPLE(瑞波)出资一亿美元成立基金,帮助游戏开发者应用区块链技术
FORTE和RIPPLE(瑞波)出资一亿美元成立基…
币价大涨背后,警惕莱特币矿机“炒作陷阱”
币价大涨背后,警惕莱特币矿机“炒作陷阱”
慢雾科技
SlowMist-Team 作者
我还没有学会写个人说明!
  • 文章

    61

  • 评论

    0

广告赞助

复制代码