All Projects → slowmist → Ontology-Triones-Service-Node-security-checklist

slowmist / Ontology-Triones-Service-Node-security-checklist

Licence: Apache-2.0 license
Ontology Triones Service Node security checklist(本体北斗共识集群安全执行指南)

Projects that are alternatives of or similar to Ontology-Triones-Service-Node-security-checklist

ontology-oracle
The Oracle node and Oracle contract
Stars: ✭ 33 (-25%)
Mutual labels:  ontology
fastobo-py
Faultless AST for Open Biomedical Ontologies in Python.
Stars: ✭ 21 (-52.27%)
Mutual labels:  ontology
treetime
TreeTime is a data organisation, management and analysis tool. A tree is a hierarchical structure that arranges information in units and sub-units. TreeTime uses linked trees (one data item can be part of different distinct trees) to store and organise any general purpose data.
Stars: ✭ 26 (-40.91%)
Mutual labels:  ontology
ontology-ts-sdk
Comprehensive TypeScript library for the Ontology blockchain.
Stars: ✭ 63 (+43.18%)
Mutual labels:  ontology
Front-End-Checklist
🗂 Modern sitelerin titiz geliştiricileri için Front-End Checklist
Stars: ✭ 251 (+470.45%)
Mutual labels:  checklist
fibo
The Financial Industry Business Ontology (FIBO) defines the sets of things that are of interest in financial business applications and the ways that those things can relate to one another. In this way, FIBO can give meaning to any data (e.g., spreadsheets, relational databases, XML documents) that describe the business of finance.
Stars: ✭ 204 (+363.64%)
Mutual labels:  ontology
EMMO
Elementary Multiperspective Material Ontology (EMMO)
Stars: ✭ 44 (+0%)
Mutual labels:  ontology
semanticscience
The Semanticscience Integrated Ontology (SIO) provides a simple, integrated ontology of types and relations for rich description of objects, processes and their attributes.
Stars: ✭ 52 (+18.18%)
Mutual labels:  ontology
ontobio
python library for working with ontologies and ontology associations
Stars: ✭ 104 (+136.36%)
Mutual labels:  ontology
OntoMaton
OntoMaton facilitates ontology search and tagging functionalities within Google Spreadsheets.
Stars: ✭ 35 (-20.45%)
Mutual labels:  ontology
ontology-tutorial
Ontology Tutorial
Stars: ✭ 60 (+36.36%)
Mutual labels:  ontology
foodon
The core repository for the FOODON food ontology project. This holds the key classes of the ontology; larger files and the results of text-mining projects will be stored in other repos.
Stars: ✭ 137 (+211.36%)
Mutual labels:  ontology
tw5-checklist
Simple checklist widget for TiddlyWiki5:
Stars: ✭ 47 (+6.82%)
Mutual labels:  checklist
performance-checklist
📈 A comprehensive list of performance optimization techniques to improve your site's performance
Stars: ✭ 26 (-40.91%)
Mutual labels:  checklist
yang-db
YANGDB Open-source, Scalable, Non-native Graph database (Powered by Elasticsearch)
Stars: ✭ 92 (+109.09%)
Mutual labels:  ontology
pronto
A Python frontend to (Open Biomedical) Ontologies.
Stars: ✭ 202 (+359.09%)
Mutual labels:  ontology
MAxO
Medical action ontology
Stars: ✭ 26 (-40.91%)
Mutual labels:  ontology
dctb-web-project
Repositório informativo com diretrizes empíricas para o desenvolvimento de um Projeto Web.
Stars: ✭ 59 (+34.09%)
Mutual labels:  checklist
specification
RDF vocabulary and specification
Stars: ✭ 21 (-52.27%)
Mutual labels:  ontology
uberon
An ontology of gross anatomy covering metazoa. Works in concert with https://github.com/obophenotype/cell-ontology
Stars: ✭ 104 (+136.36%)
Mutual labels:  ontology

Ontology Triones Service Node security checklist(本体北斗共识集群安全执行指南)

by 慢雾安全团队 & Joinsec Team

目录

架构核心目标

  1. 保护出块服务器正常通信与运行
  2. 增强初始主网整体抗攻击能力
  3. 保护节点安全

面临的主要问题

  1. 对初始状态主网进行 DDoS
  2. RPC/API 功能被未授权访问及滥用
  3. 通信故障

架构核心设计

  1. TSN 服务器隔离
  2. 多跳转节点(小节点流量转发,大节点高防护)
  3. 多链路高可用
  4. 对比 EOS 架构,适当降低单节点成本,增加整体数量,并保证 TSN 的稳定

核心防御

  1. 默认关闭 RPC/API 。必须打开时,混淆端口,并架设高防等保护
  2. TSN 通信多链路设计
    • TSN 服务器不在公网上暴露,通过跳板服务器(跳板服务器数量要大)进行通信
    • 在外网公布的跳板服务器遭遇持续性攻击时,通过备用链路进行通信
  3. 防止全网扫描定位高防后的服务器,修改同步端口 20338 (同理 RPC/API 的 20334-20337 )至全网最大存活数量的端口 80、443 或 22,这样可以有效抬高攻击者定位成本。

推荐总架构

Architecture

架构说明:

为了应对可能的 DDoS 攻击,节点应准备多条链路,在攻击到来后,可以随时通过备用链路进行通信,确保主网顺利启动,并持续出块。

在没有攻击情况下,外围节点通过对外公布的公开节点进行通信。

其它架构

随着主网 TSN 节点的增多,整体的抗攻击能力增强,新增节点在考虑节省成本的情况下可适当降配

1. 单链路方案

Architecture

2. 多负载方案

Architecture

3. 入门级方案

Architecture

安全加固方案

1. RPC/API 安全

1.1 屏蔽 RPC/API

如无必要,建议禁止 RPC/API 对外访问。

1.2 RPC/API 防护

不建议把节点的 RPC/API 端口直接暴露在公网中,如有暴露的需求请在端口之前添加保护措施

查询用 RPC/API 所在 full node 与 TSN 完全隔离并架设防御,保证外网对 RPC/API 的攻击不能影响到 TSN。

2. 命令执行安全

命令详细使用说明可参考官方手册 Ontology CLI User Guide

2.1 密码安全

--password, -p

password 参数用于指定 Ontology 节点启动的账户密码。因为在命令行中输入的账户密码会被保存在系统的日志中,容易造成密码泄露,因此在生产环境中建议不要使用该参数。

2.2 开启日志记录

--loglevel

loglevel 参数用于设置 Ontology 输出的日志级别。默认值是1,即只输出 info 级及其之上级别的日志,建设使用默认配置。

2.3 设置最低交易价格

--gasprice

gasprice 参数用于设定当前节点交易池接受交易的最低 gasprice ,默认为0,建议设置一个大于零的值以防止交易阻塞攻击。

2.4 并发连接数优化

P2P 端口并发连接数为无限制,可优化ulimit系统参数和内核参数,增强恶意连接攻击承受能力。

2.5 非 root 启动 ontology

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

2.6 监听随机端口

--nodeport=PORT1

--rpcport=PORT2

建议设置为非默认端口,如果是对外服务的,建议采用 主机安全 中的配置方法

3. 网络安全

3.1 网络架构

为应对可能的 DDoS 攻击导致节点主网络阻塞的问题,建议提前配置备份网络,例如私密 VPN 网络。

3.2 云服务商

经慢雾安全团队测试,Google Cloud、AWS 及 UCloud 等具有更好的抗 DDoS 攻击的性能,并且在 DDoS 攻击过后服务商不会临时封锁服务器,可以极为快速的恢复网络访问,推荐北斗共识集群使用。(请谨慎选择云服务商,许多云服务商在遭遇 DDoS 等攻击时会直接关闭服务器)

3.3 DDoS 防御

为应对可能发生的 DDoS 攻击,建议北斗共识集群提前配置 Cloudflare、AWS Shield 等 DDoS 高防服务。

4. 主机安全

  • 防止全网扫描定位高防后的服务器,修改同步端口 20338 (同理 RPC/API 的 20334/20335/20336)至全网最大存活数量的端口 80、443 或 22,这样可以有效抬高攻击者定位成本。
  • 关闭不相关的其他服务端口,并在 AWS 或 Google Cloud 上定制严格的安全规则。
  • 更改 SSH 默认的 22 端口,配置 SSH 只允许用 key (并对 key 加密)登录,禁止密码登录,并限制访问 SSH 端口的 IP 只能为我方运维 IP。
  • 在预算充足的情况下,推荐部署优秀的 HIDS(或者强烈建议参考开源的 OSSEC 相关做法),及时应对服务器被入侵。

5. 威胁情报

  • 强烈建议做好相关重要日志的采集、储存与分析工作,这些日志包括:RPC/API 与 P2P 端口的完整通信日志、主机的系统日志、节点相关程序的运行日志等。储存与分析工作可以选择自建类似 ELK(ElasticSearch, Logstash, Kibana) 这样的开源方案,也可以购买优秀的商业平台。
  • 如果使用了成熟的云服务商,他们的控制台有不少威胁情报相关模块可重点参考,以及时发现异常。
  • 当节点出现重大漏洞或相关攻击情报,第一时间启动应急预案,包括灾备策略与升级策略。
  • 社区情报互通有无。

6. 核心安全配置总结

  1. 选用 Google Cloud、AWS 及 UCloud 等可靠的云服务商做节点基础设施,服务器配置在双核4G以上
  2. 配置规则禁止与 node 服务不相关的其他服务端口开放( SSH 只开启证书登陆并限制访问 SSH 端口的 IP 只能为我方运维 IP )
  3. 使用非 root 运行 node 程序,启动时随机指定P2P端口,并且若无必要则不开启 RPC/API

致谢

在此非常感谢

  • Ontology Team

大力支持节点安全测试,为社区安全积累了宝贵的数据。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].