如何保护只能通过远程服务器上的 SSH 访问的控制台应用程序?
How can I secure a console application accessible only via SSH on a remote server?
用例:
我想托管我在 AWS 上的 EC2 实例上构建的控制台应用程序,并为将要连接到它的人提供非常严格的有限访问权限:
- 他们不能访问 shell 或在机器上执行任何命令
- 他们不能使用端口转发
- 他们不能从那台机器上复制或读取任何东西,尤其是环境变量
- 他们只能使用该控制台应用程序
我的解决方案:
- 创建用户:
- 我将其 shell 替换为控制台应用程序,这样用户只能访问它,而不能访问其他内容
- 禁用端口转发
我不确定这是否足以保护机器。这就是为什么我在这里询问一些建议或确认这将有效并且 100% 安全。
正如我们在您问题的评论部分所讨论的那样:
- 如果您设法为您的应用程序控制台替换用户的 shell 并保证无法执行 运行 bash 命令、终端内置功能(如导出、启用、禁用),并确保您的应用程序控制台具有正确的权限(rwx)以仅与您的应用程序需要交互的文件和路径进行交互,然后,您应该没问题。
用例:
我想托管我在 AWS 上的 EC2 实例上构建的控制台应用程序,并为将要连接到它的人提供非常严格的有限访问权限:
- 他们不能访问 shell 或在机器上执行任何命令
- 他们不能使用端口转发
- 他们不能从那台机器上复制或读取任何东西,尤其是环境变量
- 他们只能使用该控制台应用程序
我的解决方案:
- 创建用户:
- 我将其 shell 替换为控制台应用程序,这样用户只能访问它,而不能访问其他内容
- 禁用端口转发
我不确定这是否足以保护机器。这就是为什么我在这里询问一些建议或确认这将有效并且 100% 安全。
正如我们在您问题的评论部分所讨论的那样:
- 如果您设法为您的应用程序控制台替换用户的 shell 并保证无法执行 运行 bash 命令、终端内置功能(如导出、启用、禁用),并确保您的应用程序控制台具有正确的权限(rwx)以仅与您的应用程序需要交互的文件和路径进行交互,然后,您应该没问题。