【问题标题】:How can I secure a console application accessible only via SSH on a remote server?如何保护只能通过远程服务器上的 SSH 访问的控制台应用程序?
【发布时间】:2019-11-26 04:35:35
【问题描述】:

用例:

我想托管我在 AWS 上的 EC2 实例上构建的控制台应用程序,并为将连接到它的人提供非常严格的有限访问权限:

  • 他们必须不能访问 shell 或在机器上执行任何命令
  • 他们一定不能使用端口转发
  • 他们不能从该机器复制或读取任何内容,尤其是环境变量
  • 他们只能使用该控制台应用程序

我的解决方案:

  1. 创建用户:
    • 我将其 shell 替换为控制台应用程序,因此用户只能访问该应用程序,而不能访问其他任何内容
  2. 禁用端口转发

我不确定这是否足以保护机器。这就是为什么我在这里询问一些建议或确认这将起作用并且是 100% 安全的。

【问题讨论】:

  • 为了保护 AWS,您可以使用 IAM 角色。 docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html 保护 Linux 机器:stackoverflow.com/questions/21498667/…
  • 应用程序 shell 是否能够退出或执行 bash 命令或像“export”或“enable”这样的内置命令?
  • @somsgod 他们实际上根本不需要 bash 但感谢它可能有用(我知道替换用户的 shell 可能会有很大问题)
  • @IgorServulo 否,控制台应用程序根本不会运行任何子命令。我还打算将其编译为静态二进制文件
  • 如果您设法阻止来自应用程序控制台的所有内置命令,并且在应用程序控制台内您已限制服务器内部的操作 (rwx),则更换外壳就足够了。

标签: security amazon-ec2 ssh console-application


【解决方案1】:

正如我们在您问题的评论部分所讨论的那样:

  • 如果您设法为您的应用程序控制台替换了用户的 shell,并保证无法运行 bash 命令、终端内置功能(如导出、启用、禁用),并确保您的应用程序控制台具有正确的权限 (rwx) 仅与您的应用程序需要交互的文件和路径进行交互,那么您应该没问题。

【讨论】:

    猜你喜欢
    • 2012-06-08
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    • 2012-01-21
    相关资源
    最近更新 更多