我正在进行一项部署,这将要求我将监控工业设备的Ubuntu服务器放在我无法控制的防火墙后面。我需要维护对服务器的SSH访问,以执行维护和更新,但我正在为安全地完成这一任务而努力。
端口转发和创建防火墙针孔不是选项,所以我无法完全了解我的头脑去做什么。有没有什么系统,我可以用来维持打开SSH隧道的能力,这些机器从外部世界?有什么更好的方法来实现这一点吗?
谢谢!
发布于 2018-11-28 13:21:13
假设监视主机能够进行出站连接,则可以通过在其他地方拥有一个可以连接的堡垒宿主来解决这个问题。显然,一定要与您的客户明确这一点。
为此,请在您控制的某个地方设置一个服务器。这可能是流量限制很大的VPS,也可能是在您控制下的物理服务器,或者其他什么东西。给它一个稳定的DNS名称,可能是基于一个客户的基础上,映射到堡垒主机的IP地址。请注意,将来可能需要重新编号该主机,可能无法访问监视主机。
现在,将监视主机(希望最终连接到的主机)配置为连接到bastion主机,以设置SSH隧道。这可能包括在监视主机上创建一个非特权用户帐户来运行隧道SSH进程,并对其进行适当的保护。(请记住:此帐户不会用于登录;它将只运行本地的、非交互式的SSH客户端进程,并拥有隧道。)此外,还在bastion主机上设置一个非特权帐户,仅具有足够的权限使用SSH登录(而不是shell),并设置到监视主机的SSH隧道。
这样,您就可以在监视主机上设置类似于autossh的东西,以维护与堡垒主机的连接,以保持隧道正常运行。在bastion主机上添加一些不错的日志记录,因为在监视主机上,连接看起来几乎肯定来自本地主机。
当您需要连接到监视主机时,首先连接到基站主机,将SSH隧道设置到转发到监视主机的bastion主机的本地端口;然后连接到映射到该隧道的本地端口。这将通过bastion主机隧道SSH通信,允许您的系统与最终目标主机对话,而不需要最终连接的主机能够接受传入的连接。
发布于 2018-11-28 10:47:00
如果管理防火墙主机和内部的组织可以在他们的设备上为您创建一个用户--您可以利用“跳转主机”的优势。假设您可以访问主机A,而主机A与主机B有连接性,那么您可以使用下面的ssh配置来完成它。
Host A
Username username
Hostname bloody.enterprise.example
Host B
ProxyJump A如果它不是option.Well,您可以考虑设置VPN。
发布于 2018-11-28 13:21:02
正式地,您应该要求那些防火墙管理员在每个路由器上创建一个VPN访问,或者要求他们只能访问他们的防火墙后面的服务器。
这将使您有一个用户帐户来管理您的更新,同时您也将被合法覆盖:如果发生泄漏或安全问题,您只能访问该服务器这一事实限制了您的责任,而且他们知道您可以访问该服务器。
通常,工业网络中的互联网使用受到限制,这就是为什么对我来说,这是最好的解决方案,因为要求你的设备能够与互联网对话(方式)往往是一个问题。
https://devops.stackexchange.com/questions/5555
复制相似问题