如何为仪器创建安全的“回拨”支持功能?

时间:2013-05-26 19:50:05

标签: linux security connection

我是一名嵌入式工程师(不是网络大师),构建一个基于Linux的设备(便携式测量仪器),通常不连接到互联网,但我们需要使设备能够“ “致电家庭”以获得支持,包括更新和故障排除,其方式既不会危及产品的安全性,也不会危及客户的网络安全,也不会影响我们自己的公司网络。

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

建立连接应该不需要在用户端进行每次呼叫配置,也不需要在我们的框内,因此我认为我们可以要求客户提供DHCP,而不是其他。我们还可以要求客户在按下“回拨”按钮之前先与我们联系,这样我们才能在需要时提供支持界面。

当一个单位“回家”时,它只是连接到公司系统,除了工程师(好吧,我)直接连接到公司系统之外什么也不做。除了存在连接之外,我们不应该获得关于客户正在使用的网络的任何(或最小)信息。所以我正在考虑某种SSH连接,但这就是我所获得的。

如果可能的话,它应该“感觉”好像我在本地连接,好像该设备在我的桌面上(可能有更多的延迟,丢失和最小的带宽)。

但是我不知道如何建立一个SSH连接(如果这是用于此的正确工具)作为两个单独的一半:远程单元“调用”某个地方,可能是在我们公司的一个系统上,然后是那个系统通知工程师(我)已启动“回拨”,然后等待工程师连接,形成连接的另一半。

连接无需识别远程系统(品牌,型号,序列号,版本等):安全登录后我会手动执行此操作。

如果需要,我可以在我们的终端上创建一个新系统(Linux,BSD,Windows,无论是物理还是虚拟机),这个系统可以专用于此功能。如果需要,我可以至少将一个静态端口映射到我们的公司WAN(但如果可能的话,我希望避免这种情况)。

理想情况下,我也希望设备本身的信息最少,因此对手(或竞争对手)拥有设备不会影响客户或公司网络,其他部门或呼叫回家技术本身。从我所知的很少,我猜想需要一个主机名或IP地址,一个端口号和一个密钥,但是越少越好!

我还希望系统在两端都需要手动干预,最小的自动化可能会出错或受到损害。一旦我们实施并测试了初始系统,就可以添加自动化作为我们的经验,并且对它的信心也会增长。

就我的想法而言,这就是我的意思。除此之外,我几乎一无所知。我是在正确的轨道上吗?我错过了什么作品?这已经是一件很受欢迎的事了,我根本就不知道它叫什么?这种功能对于几个原型系统来说有多简单和愚蠢?

编辑:如果它已经不是很明显,请假设我是一个网络白痴,只有遵循一个明确的食谱才能被信任,而不是更多。 KISS适用!

2 个答案:

答案 0 :(得分:1)

我建议呼叫家庭功能使用SSH连接到您的办公室。这要求您的客户的网络提供DHCP,Internet访问和DNS功能。它还要求它们允许端口22上的出站连接。后者可能是一些想要防止未知数据出口的安全客户的问题。

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

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

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

如果您使用reverse SSH,则可以连接设备。准备好后,您可以使用反向部分通过设备和服务器已设置的隧道进行连接以执行维护。

答案 1 :(得分:1)

免责声明:只要没有“真正的”答案,我就会提供或多或少的理论思考,希望它有所帮助。

如果没有详细阅读,我发现http://www.vdomck.org/2005/11/reversing-ssh-connection.html可以反转ssh连接。如果这很容易理解(它应该很简单,基本上只需ssh -R,另见http://www.brandonhutchinson.com/ssh_tunnelling.html),这意味着您的远程设备可以连接到您的网络(“Pete”是您的客户合作伙伴)。问题是在没有用户/密码的情况下启动ssh连接需要在该设备上使用身份验证 - 私钥(因此在非友好的手中)。

您可以放置​​一个没有私人数据且没有特殊访问权限的哑巴ssh服务器,甚至可以为该单一连接设置密码(并通过电话告诉您的合作伙伴“Pete”),让您的幻想玩一下得到一个静态的一半“ImGenious $%”和一个动态的一半“1243”所以你可以给一个简单的动态一半的电话。

然后,从那个愚蠢的ssh服务器,您可以像文章一样连接到您的设备。