当前位置:首页 > 物联网 > 区块链
[导读] 在本文中,我将在验证节点的安全性和可用性方面讨论两个主题。我知道,这里介绍的技巧仅仅涵盖了POS验证节点的“安全性和可用性”冰山一角。不过,我发现它们对于您的测试实例提供最小的安全性和可用性是有

在本文中,我将在验证节点的安全性和可用性方面讨论两个主题。我知道,这里介绍的技巧仅仅涵盖了POS验证节点的“安全性和可用性”冰山一角。不过,我发现它们对于您的测试实例提供最小的安全性和可用性是有用的。

保护验证节点

在互联网上公开区块链或加密服务会吸引攻击者试图攻击您的系统。所以最好准备好采取任何措施来降低被危害的风险。

在运行我的polkadot验证节点时,我观察到大量的攻击者试图强行使用我的ssh密码。

我做的第一件事就是安装SSHGuard。那么什么是SSHGuard?正如Andrew Schartzmeyer在他的博客中所描述的那样:

sshguard监控服务器的日志记录活动。当日志显示有人在攻击时,sshguard会作出相应防护措施阻止攻击。

在我们的例子中,我们使用它来保护我们的SSH端口,安装过程非常简单,默认情况下,它将开始检查Ubuntu服务器上的/var/log/auth.log(其中记录了SSH攻击等) )。

在Ubuntu服务器上运行以下命令以安装SSHGuard,它将使用iptables作为系统防火墙。 iptables是一个用于配置和管理内核netfilter模块的程序。

apt-get update apt-get install -y sshguard

当sshguard阻止任何恶意用户(通过阻止其IP地址)时,它将使用sshguard链。准备好sshguard链并确保在检测到新的传入连接时也会触发链,最后重新启动sshguard。

iptables -N sshguard

ip6tables -N sshguard

iptables -A INPUT -j sshguard

ip6tables -A INPUT -j

sshguard service sshguard restart

在下面的示例中,sshguard在4次登录尝试失败后开始阻止一次尝试,如果攻击者继续攻击,则会逐渐增加阻止时间。

要查看被阻止的IP地址,请运行以下命令:

iptables -nvL sshguard

通过这个简单的设置,您可以确保您的明智的sshd端口受到保护,以防愚蠢的攻击者试图侵入您的系统。

polkadot验证节点的进入端口

哪个端口,是polkadot验证器所需要的。验证节点需要三个入站端口:

30333用于Peer2Peer协议的端口;

9933用于RPC;

9944用于WebSocket(WS)通信;

理想情况下,验证节点将只公开这三个端口以及允许您登录系统的sshd端口。

polkadot验证节点的出端口

关于保护以及验证程序的出站端口的一些想法。如security.stackexchange线程中所述

https://security.stackexchange.com/questions/24310/why-block-outgoing-network-traffic-with-a-firewall

进入流量阻塞只能阻止未经请求的流量到达您的内部网络。但是,如果您在内部计算机上收到恶意软件(通过运行不受信任的可执行文件或利用漏洞),您仍然会受到攻击。

通过阻止恶意软件连接到命令和控制服务器或清除数据,阻止传出流量有助于限制损坏。

因此,在生产验证程序节点中,这可能被认为是至关重要的,但要注意:

在高度安全环境中,出站过滤的想法似乎是一个自然的过程。然而,这是一项非常庞大和复杂的事情。

为了说明这一点,我通过分析验证节点的通信模式运行了一个快速练习。

为此,我使用了优秀的工具Wire Shark。

“Wireshark是世界上最重要、应用最广泛的网络协议分析仪。它可以让您在微观层面上了解您的网络上发生了什么,并且是许多商业和非盈利企业、政府机构和教育机构的事实(通常是法律上的)标准。”

为了获得WireShark的输入文件,我必须在我的验证器节点上运行tcpdump命令…

[email protected]:~# tcpdump -w dump.out -i venet0 -c 1000 -vvv

tcpdump: listening on venet0, link-type LINUX_SLL (Linux cooked),

capture size 262144 bytes 1000 packets captured 1125 packets

received by filter 0 packets dropped by kernel

并将其加载到Wire Shark中。 正如下面的截图所示。 验证节点使用了大量的出站端口。

预计这将考虑到Validator将使用Peer2Peer通信方案,以便与其他网络中的45个验证节点进行通信。

为了保护出站端口,详细了解底层P2P库是如何工作的,这超出了本文的范围(考虑保护测试节点)。

不过,值得一提的是,支付卡行业数据安全标准只是要求提供信用卡的组织(也是某种验证器)这样做。

PCI DSS要求1.2.1的重点是组织制定政策和程序,将流量限制为业务目的的入站和出站绝对必要的流量。PCI要求1.2.1规定,“将入站和出站流量限制为持卡人数据环境所必需的流量,并明确拒绝所有其他流量。”PCI要求1.2.1的目标是将流量限制为仅必要的、所需的协议、端口或服务,并为所需的ELE提供商业理由。

那么在生产环境中运行Polkadot Validator节点的最低要求是什么。

那么,让我们切换到本文的第二个主题。

提高验证节点的可用性

我正在以7x24方式运行Validator POC-2节点,并试图将削减(由于我的节点不可用)减少到最小。

尽管如此,该进程不时会收到一个终止信号,导致必须启动该进程。

为了自动执行此任务并将削减概率降至最低,我编写了一个小的cron作业脚本,每分钟执行一次。

要触发的脚本(monitorValidator.sh)将检查是否没有运行polkadot进程

#!/bin/bash

TImestamp()

{

date +“%Y-%m-%d %T”

}

a=$(/bin/netstat -tulpn | awk ‘{print $7}’ | grep polkadot | wc -l )

if test $a = “0” then

echo “$(TImestamp): Polkadot Validator Down” 》》 /var/log/run.log

/root/.cargo/bin/polkadot --name $POLKADOT_NAME_POC2 --validator

--key $POLKADOT_KEY_POC2 &》》 /var/log/run.log

fi

要安装crontab,请执行以下命令

(/usr/bin/crontab -l ; echo “ * * * * * bash -l -c

‘/root/monitorValidator.sh 》 /dev/null 2》&1’”) | /usr/bin/crontab

如果验证程序进程仍在运行,这将导致每60秒检查一次,否则将重新启动。

在公开报告中,为了协调在Web3空间中工作的团队的协作,一个问题是“为polkadot创建和运行节点集群服务”(https://github.com/w3f/web3 collaboraTIon/issues/43),这将解决可用性问题。

Cosmos比Polkadot更为成熟,它涉及一些主题,其中包括:

· 提供哨兵节点体系结构,这是一个基础设施示例,用于缓解GAIA/COSMOS集线器网络验证程序节点上的DDOS。

“为了缓解这个问题,在云环境中部署了多个分布式节点(哨兵节点)。由于易于扩展,很难对验证程序节点产生影响。新的哨兵节点可以在DDOS攻击期间出现,并且可以使用八卦网络将它们集成到事务流中。”

· Tendermint HSM密钥管理系统(KMS)

“一种轻量级服务,旨在与GAIAD服务(理想情况下在单独的物理主机上)一起部署,它提供以下功能:

· 对验证程序签名密钥的高可用性访问;

· 即使在验证程序进程受到影响的情况下,也要防止双重签名;

· 硬件安全模块存储验证程序密钥,可在主机损坏后继续使用”

今天就是这样,至少在验证程序冰山一角的表面上,您已经完成了第一步来确保和提高可用性。

在安全性和可用性的背景下,观察polkadot如何随着时间的推移而发展将是很有趣的。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭