Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何创建一个安全的;“打电话回家”;仪器的支撑能力?_Linux_Security_Connection - Fatal编程技术网

Linux 如何创建一个安全的;“打电话回家”;仪器的支撑能力?

Linux 如何创建一个安全的;“打电话回家”;仪器的支撑能力?,linux,security,connection,Linux,Security,Connection,我是一名嵌入式工程师(不是网络专家),正在构建一个基于Linux的设备(便携式测量仪器),通常不连接到互联网,但我们需要使设备能够“呼叫总部”以获得支持,包括更新和故障排除,以既不损害产品安全,也不损害客户网络安全,也不损害我们自己公司网络的方式 在设备连接到客户选择使用的任何网络后,“呼叫总部”功能将完全由用户控制,可能通过按下物理按钮来激活它。对于原型和演示系统,该网络可以位于某人的家中或办公室,甚至可以通过电话连接(设备将仅包含有线以太网端口,如果需要WiFi接入,客户需要提供有线AP)

我是一名嵌入式工程师(不是网络专家),正在构建一个基于Linux的设备(便携式测量仪器),通常不连接到互联网,但我们需要使设备能够“呼叫总部”以获得支持,包括更新和故障排除,以既不损害产品安全,也不损害客户网络安全,也不损害我们自己公司网络的方式

在设备连接到客户选择使用的任何网络后,“呼叫总部”功能将完全由用户控制,可能通过按下物理按钮来激活它。对于原型和演示系统,该网络可以位于某人的家中或办公室,甚至可以通过电话连接(设备将仅包含有线以太网端口,如果需要WiFi接入,客户需要提供有线AP)

建立连接不需要在用户端进行每次呼叫配置,也不需要在我们的机箱内进行配置,因此我认为我们可以要求客户提供DHCP,而不需要太多其他配置。我们还可以要求客户在按下“呼叫总部”按钮之前先与我们联系,这样我们只有在需要时才能启动支持界面

当一个单位“呼叫总部”时,它只是连接到一个公司系统,在工程师(嗯,我)直接连接到它之前,它什么也不做。除了连接的存在之外,我们不应该得到(或最少)有关客户正在使用的网络的信息。所以我在考虑某种SSH连接,但这是我所能做到的

如果可能的话,它应该“感觉”就像我在本地连接一样,就像设备在我的桌子上一样(可能有更多的延迟、损耗和最小的带宽)

但我不知道如何将SSH连接(如果这是正确的工具)分成两部分:远程单元在某处“呼叫”,可能是在我们公司的一个系统上,然后该系统通知工程师(我)已启动“呼叫总部”,然后等待工程师连接,形成连接的另一半

连接不需要识别远程系统(品牌、型号、序列号、版本等):我会在安全登录后手动识别

如果需要,我可以在我们的终端上创建一个新系统(Linux、BSD、Windows,不管是什么,物理还是虚拟机),专门用于此功能。如果需要的话,我可以将至少一个静态端口映射到我们的公司WAN(但如果可能的话,我宁愿避免)

理想情况下,我还希望设备本身具有最少的信息,以便对手(或竞争对手)拥有设备不会损害客户或公司网络、其他单位或呼叫总部技术本身。据我所知,我猜需要主机名或IP地址、端口号和密钥,但越少越好

我还希望该系统在两端都需要手动干预,自动化程度最低,可能有问题或受到损害。一旦我们实现并测试了初始系统,自动化就可以随着我们对它的经验和信心的增长而增加

这就是我的想法。除此之外,我几乎一无所知。我走对了吗?我丢失了什么?这已经是一件很流行的事情了吗?我根本不知道它叫什么?对于几个原型系统来说,这种能力有多简单和愚蠢


编辑:如果这还不明显,请假设我是一个网络白痴,可以相信我只会遵循一个明确的食谱,而不是更多。亲吻适用

我建议呼叫总部功能使用SSH连接到您的办公室。这要求客户的网络提供DHCP、Internet访问和DNS功能。它还要求它们允许端口22上的出站连接。对于一些安全意识强的客户来说,后者可能是一个问题,他们希望防止未知的数据外泄

您需要SSH服务器的证书,以便该证书对您选择的域名有效。您还需要确保服务器上的SSH客户端配置为接受服务器的签名

听起来您要维护的设备数量相对较少。因此,我建议为每个设备生成唯一的公钥/私钥对。然后,您可以将公钥加载到服务器中,以便仅通过密钥接受登录

如果设备受损或被盗,您可以从服务器中删除相应的密钥。设备将无法再次登录。设备上的私钥只有值,因为您已决定在登录时接受关联的公钥。如果删除此项,则它没有任何价值。附加的好处是,您可以通过设备用于登录的密钥来识别设备(例如,您可以将每个密钥与不同的用户关联)。然后,您可以将登录信息与存储在系统上的设备/客户信息绑定起来

如果使用,则可以将设备连接到。一旦你准备好了,你可以使用相反的部分通过设备和服务器已经设置好的隧道进行连接,以执行维护。

免责声明:只要没有“真实”的答案,我只是提供我或多或少的理论想法,希望它能有所帮助

在没有详细阅读的情况下,我发现要反转ssh连接。如果这很容易理解(应该很容易,基本上就是ssh-R,另请参见),这意味着您的远程设备可以连接到您的网络(而“Pete”是您的客户合作伙伴)。问题是,在没有用户/密码的情况下启动ssh连接需要在该设备上使用身份验证私钥(因此在非友好用户手中)

您可以放置一个没有私有服务器的哑ssh服务器