我需要为必须对我们的服务器进行非常受限的访问的外部SSH用户创建一个安全环境。即:
- 只能执行允许的命令
- 只能使用允许的特定软件
- 在任何情况下都不得查看/修改/删除他/她的根文件系统之外的文件夹和文件
在为一个不需要太多定制的较小项目使用jailkit工具之前,我曾尝试过使用chroot jail,而且效果很好,但这个项目要大得多,在允许的软件和命令方面需要更多的定制。
安全环境的要求是:
- 使用ls、cd、grep等基本命令的能力
- 运行dotnet脚本的能力
- 利用运行RabbitMQ代理的能力(该代理在环境外部运行(
- 利用正在运行的PostgreSQL数据库的能力(该数据库在环境的外部运行(
我听说过多分支或去绑定,但我不确定这些工具是否足以解决我的问题。
服务器运行在Debian OS v.9和10上。所有必需的软件都安装在根文件系统中,并且运行良好。我所需要的只是让受限制的用户能够在不损坏/损坏根文件系统的情况下使用它。
我的问题是:
- 还有其他我没有提到的有用(更好(的工具可以解决我的问题吗
- 我提到的软件有什么有用的指南可以解决我的问题吗
如果有人面临同样的问题。我使用Docker容器解决了这个问题,该容器带有单独的SSH服务器和安装在上面的所有所需软件