使用 chroot jails、jail shell 还是两者结合更安全?

使用 chroot jails、jail shell 还是两者结合更安全?

我的一个朋友有一台基于 xandros 的 Acer 上网本,她环游世界时一直希望我能够提供一些远程管理和帮助。
我在她的上网本上设置了一个帐户,以便我通过 ssh 进入,并设置了一个脚本,以便从她的上网本反向 ssh 隧道连接到我的服务器 - 这让我可以解决各种旅馆和酒店的防火墙等问题。一旦她通过 ssh 进入我的服务器,我就可以 ssh 到她的上网本。

我有一个 bash 脚本,当她通过 ssh 进入我的服务器时,该脚本作为她的 shell 运行,只会给她一个“请等待”之类的屏幕,唯一的选择是退出脚本,从而从服务器启动。

我在我的服务器上为她创建的用户权限较低,但肯定会存在一些漏洞,这意味着她可以通过 ssh 访问我的服务器。

我还考虑使用 chroot jail,这样如果她越狱,她就只能访问她的主目录。
这是一个好主意吗?我可能错过了哪些其他安全提示,可以保证我的服务器安全,同时仍允许我远程访问她的上网本?

需要澄清的是,我不认为她会试图逃离监狱或者 chroot,但我想知道以防万一如何才能防止这种情况发生。

更新:
对于如何访问上网本或在用户和硬件之间放置的其他层,您还有其他建议吗?

答案1

您是否考虑过在通常不会被防火墙按规则过滤的端口上设置 VNC 或其他远程控制应用程序?

此类配置的示例是将 VNC(或其他类似应用程序)加载到笔记本电脑上。然后运行笔记本电脑端脚本,通过防火墙不会过滤的特定端口连接到服务器,以建立返回系统的路径。443 可能是最适合使用的端口,但其他端口也适用。然后,从您的系统,您只需直接连接到 VNC,或将服务器上的端口复制到另一个端口号,然后连接到本地端口上的接口,端口重定向将处理将您带到远程端的另一个系统。

希望这可以帮助。

答案2

chroot jail 会有所帮助,但是如果利用漏洞让某人进入 shell,他们仍然能够看到进程表等,并运行程序,从而可能进一步利用漏洞。如果你想真的积极隔离外部用户,这有点像用榴弹炮对付蚂蚁,但您可以为整个 ssh 隧道机制设置虚拟专用服务器。那么他们能做的最坏的事情就是破坏 VPS,除非有能力突破它,这是一个相当高的标准。

答案3

我很喜欢纵深防御在保护计算机系统安全方面,这是一个非常重要的策略,因此我建议您在 chrooted 文件系统中使用低权限帐户,但即使这样也不能保证,只要看看 iPhone,它同时做了这两件事,但仍然没有帮助。

答案4

现在,我想到另一种解决此问题的方法是将 x 会话流量隧道化到 SSH 隧道内,而不是使用 VNC。使用当前设置,您现在已经完成了一半。

在该机器本地的特定端口上设置 X 功能,然后通过隧道将该端口转发给您自己,然后将其复制到您这边的端口,以便您可以连接到服务器上的本地端口上的会话。

我发现对于此类事情来说,动态 DNS 也非常有用。这样您就可以设置一个可解析的 FQDN,以便在需要时进行查询。DyDns 在您安装它的系统上作为轻量级服务运行,并且它会在 IP 地址信息发生变化时更新记录。

相关内容